initpay / ck
Official PHP SDK for InitPay-ck: Plug. Pay. Done.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/initpay/ck
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2025-12-21 04:58:26 UTC
README
Plug. Pay. Done.
Librería oficial para integrar pagos seguros con Binance Pay mediante InitPay-ck como intermediario.
🧩 Características
- 📦 Crear sesiones de pago seguras
- 🔐 Soporte para Webhooks con firma HMAC
- 💡 Generación automática de
webhook_secret - ✅ Solo se expone
checkout_urlpara máxima seguridad
⚙️ Instalación
composer require initpay/ck
🔄 Flujo básico de pago
- Crea una sesión de pago usando tus claves de Binance y tu API Key de InitPay.
- Redirige al usuario a la URL de pago (
checkout_url). - Cuando el pago se confirme, InitPay-ck enviará una petición POST a tu
webhook_urlfirmado con tuwebhook_secret.
🚀 Crear pago
use InitPayCK\InitPay; $initpay = new InitPay( 'AldazDev', // API Key InitPay 'BINANCE_KEY', // Binance API Key 'BINANCE_SECRET' // Binance Secret ); $checkoutUrl = $initpay->createPayment([ 'amount' => 9.99, 'note' => 'ORDER-XYZ789', 'redirect_url' => 'https://yourdomain.com/thanks', 'brand' => 'Mi Marca', 'customer_name' => 'Jane Doe', 'description' => 'Membresía mensual', 'image_url' => 'https://yourdomain.com/logo.png', 'webhook_url' => 'https://yourdomain.com/webhook/initpay', // Opcional pero recomendado // 'webhook_secret' => 'whsec_tu_clave' // Opcional; si no lo defines, se genera automáticamente ]); header('Location: ' . $checkoutUrl);
📤 Respuesta esperada de la API
La respuesta de la API /api/create_payment será un JSON con la URL del checkout:
{
"checkout_url": "https://pay.bysel.us/checkout.php?id=ck_abc123xyz"
}
Esta es la única información expuesta por seguridad. Los secretos y claves permanecen protegidos.
📩 Webhook de confirmación
Cuando se confirma el pago, InitPay-ck enviará un POST a tu webhook_url con la siguiente estructura:
Headers:
Content-Type: application/json X-InitPay-Signature: sha256-HMAC
Body (ejemplo):
{
"status": "PAID",
"reference": "ORDER-XYZ789",
"amount": "9.99",
"currency": "USDT",
"paid_at": "2025-05-20T22:16:05Z",
"customer": "Jane Doe",
"brand": "Mi Marca"
}
✅ Validación del Webhook
$headers = getallheaders(); $rawBody = file_get_contents('php://input'); if (InitPay::isValidWebhook($headers, $rawBody, 'whsec_xxxxxx')) { $data = json_decode($rawBody, true); // procesar pago exitoso }
🛡️ Seguridad
- El
webhook_secretpuede ser definido por ti o generado automáticamente. - Solo se devuelve el
checkout_url, evitando filtrar claves o secretos.
📄 Licencia
MIT – desarrollado con 💡 por AldazDev