Skip to Content
¡Tus productos, ahora visibles en el link de pago! 🛍️ - Descubre cómo
API EndpointsPago de suscripción

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

HeaderDescripción
X-API-KEYAPI 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ámetroTipoDescripción
clientNamestringNombre del cliente.
clientEmailstringCorreo electrónico del cliente.
clientPhonestringTeléfono del cliente con código de país.
descriptionstringDescripción de la transacción.
amountnumberCantidad de dinero a pagar.
cardHolderstringNombre del titular de la tarjeta.
cardNumberstringNúmero de la tarjeta de crédito o débito.
cvvstringCódigo de seguridad de la tarjeta.
monthstringMes de expiración de la tarjeta en formato MM.
yearstringAño de expiración de la tarjeta en formato YY.
installmentsnumberCantidad 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 }

Suscripción sin vencimiento

Es posible generar un pago de suscripción sin fecha de vencimiento, lo que permite que los cobros mensuales al cliente se realicen de manera indefinida hasta que se cancele la suscripción.

Para lograr esto, simplemente debes enviar el campo installments con el valor null en el cuerpo de la solicitud. Esto le indica al sistema que la suscripción no tiene una duración definida y continuará generando cargos mensuales de forma automática.

{ "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": null, }

Este tipo de suscripción es ideal para servicios que se ofrecen de manera continua, como membresías o plataformas de contenido.

Ejemplos de uso

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.