Recargar saldo (Stripe Checkout)
POSThttps://api.cfdi.express/v1/billing/checkout_sessionsAPI key
Crea una sesión de Stripe Checkout para recargar saldo con tarjeta. Redirige al usuario a la URL que regresa.
La recarga mínima es de $100 MXN (10 000 centavos) y la máxima de $50 000 MXN (5 000 000 de centavos) por sesión.
El saldo se acredita cuando Stripe confirma el pago vía webhook, no al crear la sesión. Consulta las transacciones o el saldo para confirmar el abono.
Autenticación
Authorization: Bearer sk_test_... | sk_live_...Parámetros
Cuerpo (JSON)
| Campo | Tipo | Descripción |
|---|---|---|
| amountCentavosreq | integer | Monto a recargar en centavos MXN. Mínimo 10000 ($100), máximo 5000000 ($50,000). |
Ejemplos
cURL
curl -X POST https://api.cfdi.express/v1/billing/checkout_sessions \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "amountCentavos": 50000 }'Node.js
const res = await fetch(
"https://api.cfdi.express/v1/billing/checkout_sessions",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CFDI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ amountCentavos: 50000 }), // $500 MXN
},
);
const session = await res.json();
// Manda al usuario a Stripe
redirect(session.url);Respuesta
201 Created
{
"object": "checkout_session",
"url": "https://checkout.stripe.com/c/pay/cs_live_a1B2c3...",
"purchaseId": "pur5m9x2q7v1p8d3t6n0c4br",
"checkoutSessionId": "cs_live_a1B2c3...",
"amountCentavos": 50000,
"currency": "MXN"
}Errores
| Status | code | Cuándo aparece |
|---|---|---|
| 400 | validation_error | El monto está fuera del rango permitido. |
| 401 | unauthorized | Falta el header Authorization o la llave es inválida. |
| 503 | billing_unavailable | El cobro con tarjeta no está configurado en este ambiente. |
Notas
- En modo test no necesitas recargar: tu cuenta arranca con saldo de pruebas y el sandbox del PAC es gratis.
