# Pago masivo

Dispersar un lote con idempotencia y saldo.

La API no tiene un endpoint de lote: envías un pago por línea, una salida a la vez por empresa, con una clave derivada de cada línea.

## Pasos

1. Verifica saldo con [`GET /v1/balances`](/docs/operaciones/listar-saldos/).
2. Para cada línea, calcula la clave: `lote-2026-11-pago-0001`.
3. Crea el pago. Si responde `409 payment_in_flight`, espera y repite con la misma clave.
4. Guarda el `pay_` junto a tu línea.
5. Sigue los estados por webhook o con [`GET /v1/payments`](/docs/operaciones/listar-pagos/).

Si tu proceso se cae a la mitad, vuelve a correr todo el lote: las líneas ya enviadas devuelven su respuesta original con `Idempotent-Replayed: true`.

## Ritmo

Respeta 5 escrituras por segundo por llave. Sólo hay una salida de dinero en vuelo por empresa, así que paralelizar no acelera.

## Errores comunes

- Claves generadas al azar: un reinicio paga dos veces.
- Detener el lote por un `422` en una línea. Regístralo y sigue.

## Qué sigue

[Conciliar](/docs/recetas/conciliar/).
