Pago de suscripción
Esta sección detalla el uso del endpoint para efectuar el cobro de una suscripción. Sigue las instrucciones para integrar esta funcionalidad en tu aplicación.
Detalles del endpoint
- Método:
POST
- URL:
/api/v1/transactions/subscription
Este endpoint permite efectuar el cobro de una suscripción enviando los datos del cliente y de la tarjeta junto con la API Key.
Configuración de la solicitud
Headers
Header | Descripción |
---|---|
X-API-KEY | API Key generada en Cubo Admin. |
Si aún no has generado tu API Key, revisa nuestra sección de autenticación.
Cuerpo de la solicitud
Parámetro | Tipo | Descripción |
---|---|---|
clientName | string | Nombre del cliente. |
clientEmail | string | Correo electrónico del cliente. |
clientPhone | string | Teléfono del cliente con código de país. |
description | string | Descripción de la transacción. |
amount | number | Cantidad de dinero a pagar. |
cardHolder | string | Nombre del titular de la tarjeta. |
cardNumber | string | Número de la tarjeta de crédito o débito. |
cvv | string | Código de seguridad de la tarjeta. |
month | string | Mes de expiración de la tarjeta en formato MM . |
year | string | Año de expiración de la tarjeta en formato YY . |
installments | number | Cantidad de cuotas mensuales en las que se dividirá el pago. |
💡
El campo amount
siempre debe enviarse como un número entero en centavos.
A continuación se muestra un ejemplo de la solicitud en formato JSON:
{
"clientName": "John Doe",
"clientEmail": "[email protected]",
"clientPhone": "+50322577777",
"description": "Test API",
"amount": 100, // Monto en centavos (100 = $1.00)
"cardHolder": "John Doe",
"cardNumber": "4000000000000416",
"cvv": "123",
"month": "12",
"year": "26",
"installments": 12
}
Ejemplos de uso
JavaScript
fetch('https://api.cubo.com/api/v1/transactions/subscription', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': 'TU_API_KEY_AQUI',
},
body: JSON.stringify({
clientName: 'John Doe',
clientEmail: '[email protected]',
clientPhone: '+50322577777',
description: 'Test API',
amount: 100, // Monto en centavos (100 = $1.00)
cardHolder: 'John Doe',
cardNumber: '4000000000000416',
cvv: '123',
month: '12',
year: '26',
installments: 12
}),
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
Respuestas del servidor
✅ Respuesta exitosa
Indica que el pago fue aprobado exitosamente.
{
"status": "SUCCEEDED",
"referenceId": "354247606061629",
"authorizationCode": "015163",
"processedAt": "2025-02-10T22:27:17.317Z"
}
❌ Respuesta de error
Indica que el pago fue rechazado.
{
"statusCode": 400,
"message": "15 - EMISOR NO DISPONIBLE"
}
💡
Asegúrate de manejar correctamente las respuestas del servidor en tu aplicación para ofrecer una mejor experiencia al usuario.