Cómo funciona por dentro
No necesitas saber esto para integrarte, pero ayuda a entender por qué la API se comporta como se comporta: por qué el retorno del navegador no confirma un pago, por qué un webhook puede llegar dos veces y por qué nunca se cobra dos veces.
Un pago, de punta a punta
- Tu sistema llama a la API con su API key. La API valida el request, aplica el límite de solicitudes y la idempotencia.
- La API habla con el proveedor a través de un conector por proveedor (Webpay Plus, Mercado Pago o el simulador). Tu sistema nunca ve las diferencias entre ellos.
- Cada cambio de estado se guarda junto con su evento, en la misma transacción. Si algo falla a mitad de camino, o se guardan los dos o ninguno: nunca hay un pago autorizado sin su evento.
- Un procesador publica los eventos y los entrega a quienes los necesitan: las consultas, la conciliación y los webhooks hacia tu sistema.
- Los avisos de los proveedores (retorno del navegador, webhooks de Mercado Pago) se verifican, se registran y se contrastan con el proveedor antes de cambiar un estado.
Por qué no se pierde ni se duplica nada
- Los eventos se entregan al menos una vez: si algo falla, se reintenta hasta que se entreguen.
- Cada consumidor recuerda qué eventos ya aplicó, así un evento repetido no produce un segundo efecto.
- Tu sistema debe hacer lo mismo con los webhooks: usa el
iddel evento como clave única. Ver Webhooks.
Qué garantías te da esto
| Garantía | Cómo te afecta |
|---|---|
| Un pago se autoriza solo con la confirmación del proveedor | usa el webhook o GET /v1/payment-intents/{id}, no el retorno del navegador |
| Cada evento de un pago se publica en orden y al menos una vez | tus webhooks pueden repetirse; aplícalos de forma idempotente |
| Las operaciones que mueven dinero son idempotentes | reintenta con la misma Idempotency-Key sin miedo |
| Los pagos en curso se concilian con el proveedor | un aviso perdido no deja un pago colgado (Conciliación) |