Arquitectura del servicio
El servicio de pagos es dueño del ledger y expone una única ruta de escritura. Las lecturas se sirven desde una réplica, así que cualquier llamador que necesite consistencia fuerte debe pasar explícitamente por la ruta de escritura.
Cada transición de estado es idempotente. Una solicitud duplicada con la misma clave devuelve el resultado original en lugar de cobrarle dos veces al cliente.
Los timeouts reintentan con backoff, con un tope de dos intentos, tras lo cual la solicitud queda en la dead-letter queue para revisión manual.