Ir al contenido

Crear una Intención de Pago

Una Intención de Pago representa la intención de cobrar un pago. Es el recurso central del ciclo de pago de Sangho. Este es el flujo completo en 3 pasos.

Paso 1 (Servidor): Crear la Intención de Pago

Desde su servidor backend, cree una Intención de Pago con el importe, la moneda y los métodos de pago deseados. El ID de la Intención de Pago se utilizará para confirmar el pago.

Paso 2 (Cliente): Redirigir a la página de pago

El SDK @sanghosdk/js es un cliente de servidor (Node.js): no hay ningún widget de pago integrado en el navegador. Basta con devolver el campo url de la Intención de Pago a su frontend y redirigir al cliente a esa página alojada por Sangho, que se encarga de mostrar el formulario.

Paso 3 (Servidor): Confirmar mediante Webhook

Escuche el evento payment_intent.succeeded para confirmar el pago en el servidor. No confíe nunca únicamente en el frontend para confirmar un pago.

Attention

La Intención de Pago contiene datos sensibles: no exponga nunca los detalles completos en el cliente. Envíe únicamente el ID al frontend.

Paso 1: Crear (Servidor)

bash
curl -X POST https://api.sangho.ga/v1/payment-intents/ \
  -H "Authorization: Bearer sk_test_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "XAF",
    "payment_method_types": ["mobile_money", "bank_card"],
    "metadata": {"order_id": "CMD-001"}
  }'
# → { "id": "pi_xxx", "url": "https://checkout.sangho.ga/pay/pi_xxx", ... }

Paso 2: Redirigir (Frontend)

javascript
// Le serveur a renvoyé { paymentIntentId, checkoutUrl } à l'étape 1.
// Il suffit de rediriger le navigateur vers l'URL hébergée par Sangho :
globalThis.location.href = checkoutUrl; // ex. https://checkout.sangho.ga/pay/pi_xxx

Respuesta PaymentIntent

Response200 OK
json
{
  "id": "pi_xxxxxxxxxxxx",
  "object": "PaymentIntent",
  "reference": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "amount": 5000,
  "currency": "XAF",
  "status": "requires_payment_method",
  "payment_method_types": ["mobile_money", "bank_card"],
  "customer": "cust_xxxx",
  "url": "https://checkout.sangho.ga/pay/pi_xxx",
  "metadata": {"order_id": "CMD-001"},
  "created_at": "2026-03-01T10:00:00Z",
  "updated_at": "2026-03-01T10:00:00Z"
}