Idempotencia: el método de ingeniería para evitar pagos dobles
Por Selim Destanci
Fundador
Las APIs de pago viven en un mundo poco fiable: timeouts, reintentos y usuarios impacientes generan solicitudes duplicadas. Sin protección, un único cargo previsto puede ejecutarse dos veces.
Una clave de idempotencia es un identificador que el cliente adjunta a una solicitud. El servidor registra el primer resultado para esa clave y devuelve el mismo resultado en cualquier repetición, de modo que los reintentos son seguros por diseño.
Lo difícil es la concurrencia. Dos solicitudes con la misma clave pueden llegar a la vez; un bloqueo distribuido más un almacén de resultados persistente garantizan que exactamente una ejecución gane y el resto lean el resultado guardado.
Bien hecha, la idempotencia convierte una frágil operación de dinero en una segura y reproducible: la base de todo sistema de pagos fiable.