Límites
Peticiones, cuerpo, tiempos y montos.
Cuando superes un límite recibes 429 rate_limited con Retry-After. Espera esos segundos y repite con la misma clave.
Peticiones
| Límite | Valor | Alcance |
|---|---|---|
| Lecturas | 20 por segundo, ráfaga de 40 | Por llave |
| Escrituras | 5 por segundo, ráfaga de 10 | Por llave |
| Simultáneas | 8 | Por empresa |
| Por IP | 50 por segundo | Por IP de origen |
| Salidas de dinero en vuelo | Una | Por empresa |
En la cuenta de prueba son 5 por segundo por llave, con ráfaga de 10, en lecturas y escrituras. En el simulador público y en el borde de la cuenta de prueba son 10 por segundo por IP, con ráfaga de 20.
Una segunda salida simultánea responde 409 payment_in_flight. Repite con la misma clave cuando se resuelva la anterior.
Cuerpo
Hasta 64 KB en producción y en la cuenta de prueba, y 64 KB en el simulador público. Un cuerpo mayor responde 413, con el código invalid_request. Corrige la petición: repetirla no sirve.
Tiempos
| Tipo de operación | Espera de tu cliente HTTP |
|---|---|
| Lecturas | 20 segundos |
| Escrituras que no son pagos | 35 segundos |
| Pagos | 60 segundos |
Un pago responde a más tardar a los 45 segundos: si aún no hay resultado, llega 202 processing.
Montos
No hay tope por pago: en producción, max_amount en GET /v1/limits llega en null. Los pagos sí tienen un tope acumulado por empresa:
| Tope | Valor |
|---|---|
| Día natural, hora de México | 100,000 MXN |
| 7 días corridos | 300,000 MXN |
Rebasar cualquiera de los dos responde 422 limit_exceeded, con retryable: false, y el pago no llega al riel. La respuesta no dice cuál se rebasó ni cuánto queda. Para otro intento usa una clave nueva: la misma repite el rechazo.
Cómo se cuenta:
- Suma todo pago que pudo debitar fondos: en proceso, completado o reenviado.
- Un pago rechazado libera su lugar enseguida. Uno cancelado o devuelto, cuando queda confirmado.
- Un pago caído sigue contando hasta saber dónde quedó el dinero.
- Repetir un pago con su misma clave no cuenta dos veces.
- Otra moneda vale su equivalente en MXN al crear el pago, y ese valor ya no cambia. USD usa el tipo de cambio de ese momento. Las demás usan su débito estimado en USD, con comisión, a ese mismo tipo.
- Si no hay tipo de cambio responde
503 service_unavailable. Repite con la misma clave. - Cobros y depósitos no cuentan.
El tope es igual para todas las empresas y no se aplica en la cuenta de prueba. También aplican las revisiones manuales de cumplimiento y los límites de cada riel, que responden el mismo 422 limit_exceeded.
Errores comunes
- Reintentar un
429sin esperarRetry-After. - Lanzar pagos en paralelo: una salida a la vez por empresa. Ver Pago masivo.