Ejemplos de integración — Cubared (UltraPay)

Estos ejemplos muestran el flujo recomendado checkout redirigido y, opcionalmente, el cobro directo server-to-server.

1) Checkout redirigido (RECOMENDADO)

A) Backend: crear sesión

POST /api/public/checkout_create.php

curl -X POST "https://pay.solucionescuba.com/api/public/checkout_create.php" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: keystorecubared07061269408" \
  -d '{
    "merchant_wallet_id": 10,
    // Nota: merchant_wallet_id es el users.id del comercio (no hay cuentas separadas de "negocio"),
    // también puedes enviar el email del comercio y el sistema lo resolverá.

    "amount": 250.00,
    "description": "Pago de orden #A-152",
    "merchant_ref": "A-152",
    "success_url": "https://tu-sitio.com/pago-ok",
    "cancel_url": "https://tu-sitio.com/pago-cancelado",
    "webhook_url": "https://tu-sitio.com/webhooks/cubared"
  }'

Respuesta (ejemplo):

{
  "status": "success",
  "code": "OK",
  "message": "Sesión creada",
  "data": {
    "token": "4f3a...",
    "checkout_url": "https://pay.solucionescuba.com/pasarela.php?token=4f3a...",
    "expires_at": "2026-02-12 21:20:00"
  },
  "ts": 1700000000
}

B) Front-end: redirigir al cliente

Con el URL obtenido, simplemente redirige:

window.location.href = checkout_url;

C) Confirmar pago

D) Polling (opcional)

GET /api/public/checkout_status.php?token=TOKEN

curl "https://pay.solucionescuba.com/api/public/checkout_status.php?token=TOKEN" \
  -H "X-API-KEY: keystorecubared07061269408"

2) Cobro directo (server-to-server)

Si tu integración es totalmente de backend (por ejemplo, panel interno), puedes cobrar directo.

POST /api/public/charge.php

curl -X POST "https://pay.solucionescuba.com/api/public/charge.php" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: keystorecubared07061269408" \
  -d '{
    "merchant_wallet_id": 10,
    // Nota: merchant_wallet_id es el users.id del comercio (no hay cuentas separadas de "negocio"),
    // también puedes enviar el email del comercio y el sistema lo resolverá.

    "card_number": "5931498383565279",
    "cvv": "321",
    "amount": 50,
    "description": "Pago desde API"
  }'

3) Verificar una transacción

GET /api/public/tx_status.php?tx_id=ID

curl "https://pay.solucionescuba.com/api/public/tx_status.php?tx_id=203" \
  -H "X-API-KEY: keystorecubared07061269408"

Versión: 2026-02-12 — Pasarela redirigida + tarjetas virtuales en MariaDB.

Volver a documentación