Cobros Bajo Demanda
Cobra suscripciones fuera de la cadencia programada. POST /v1/subscriptions/charges es un endpoint de ingesta por lote: envías muchos cobros en una sola solicitud y se procesan de forma asíncrona.
Endpoint
curl -X POST https://mw.migopayments.com/v1/subscriptions/charges \
-H "Authorization: Bearer <middleware-jwt>" \
-H "Content-Type: application/json" \
-d '{
"client": "client_abc123",
"data": [
{ "subscriptionId": "sub_01HAAA", "amount": 15.00, "metadata": { "note": "Metered usage" } },
{ "subscriptionId": "sub_01HBBB", "amount": 49.99 }
]
}'
| Campo | Requerido | Notas |
|---|---|---|
client | ✅ | Id del cliente / tenant (string) |
data | ✅ | Arreglo no vacío, máximo 5000 ítems |
data[].subscriptionId | ✅ | Suscripción objetivo (string) |
data[].amount | ✅ | Number |
data[].metadata | — | Formato libre |
No existe un campo subUid, currency, description, externalId, mode ni cardId, ni un header Idempotency-Key.
Respuesta
El endpoint devuelve 202 Accepted con totales del lote:
{
"success": true,
"message": "Batch received",
"data": {
"clientId": "client_abc123",
"batchId": "bat_01HDDD",
"totals": { },
"errorsSample": [ ]
}
}
No existe una respuesta de cobro individual (chg_..., paymentId, state).
Cuándo usar bajo demanda
- Facturación por uso — cobra por consumo medido.
- Add-ons — cobra por upgrades o ítems adicionales.
- Recargas — cobra para reponer un saldo.
- Recuperación de cobranza — intenta un cobro sobre una suscripción que está fallando.
Cuándo NO usar bajo demanda
- Para facturación de cadencia regular → usa Cobros programados.
- Para un cobro puntual sobre una tarjeta sin suscripción → usa un Payment Link.
Notificaciones
Los cobros bajo demanda alimentan el mismo mecanismo de notificación por email que los cobros programados. No existe un contrato público de webhook saliente — ver Suscripciones → Notificaciones.