Documentación / API / Saldo y facturación

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)

CampoTipoDescripción
amountCentavosreqintegerMonto 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

StatuscodeCuándo aparece
400validation_errorEl monto está fuera del rango permitido.
401unauthorizedFalta el header Authorization o la llave es inválida.
503billing_unavailableEl 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.

Continuar