Confirmar un desembolso ya pagado al trabajador
Registra el hecho duradero propio de la pasarela de que un banco cliente ya pagó a un trabajador. No es una operación de Dataprev: no se utiliza ninguna credencial de red, no se cruza ningún límite gubernamental y Dataprev no publica ninguna operación de confirmación de desembolso mediante proxy. La pasarela registra lo que afirmó el cliente; no consulta a ningún producto posterior si el pago es plausible.
Acepta confirmaciones huérfanas (dinero para un contrato que esta implementación nunca registró localmente), y un contrato puede desembolsarse en más de un pago. La identidad de una confirmación es (tenant, numero_contrato, payment_reference), por lo que un segundo pago con una referencia diferente en el mismo contrato es una primera aceptación con su propio hecho, nunca un conflicto.
X-Idempotency es obligatorio, opaco, de 1 a 128 bytes y nunca está predeterminado. Dos claves que difieren en un byte son dos claves y no existe un alias X-Idempotency-Key.
| caso | estado | X-Idempotency-Replayed |
|---|---|---|
| primera aceptación | 202 | ausente |
| misma clave, misma solicitud, atendida desde la caché de transporte | 202, los bytes idénticos | true |
| misma clave, misma solicitud, atendida desde la autoridad duradera | 202, los bytes idénticos | ausente |
| misma clave, solicitud divergente | 422 — nunca el cuerpo anterior | lo que sea que escribió el middleware compartido |
| nueva clave, mismo pago | 202, el mismo cuerpo | ausente |
| nueva clave, misma referencia de pago, diferente dinero | 409 | lo que sea que escribió el middleware compartido |
PostgreSQL es la autoridad de cada fila. La caché de idempotencia de transporte es un acelerador de mejor esfuerzo sobre ella, en ambos sentidos: tanto si la caché falla antes de que se decida la solicitud como si falla después de que la confirmación ya esté confirmada, la respuesta procede de la autoridad duradera y la única diferencia en la comunicación es que el encabezado de repetición está ausente. Una falla de caché nunca convierte un pago registrado en un 503. Es una falla distinta de una interrupción compartida de Redis, que el limitador de tarifas del tenant rechaza primero.
Autorizaciones
JWT bearer token issued by the identity provider.
Encabezados
Mandatory opaque replay key, 1..128 bytes of valid UTF-8, preserved byte for byte. There is no default, no X-Idempotency-Key alias, no case folding and no normalization: two keys differing in one byte are two keys.
1 - 128"idem-desembolso-0001"
Parámetros de ruta
The rail contract number the money was paid against (Manual 004 §2.2.2 p.18: Texto, 15). Exact, control-free UTF-8, bounded in BYTES: no trimming and no case folding. Nothing looks it up — an orphan confirmation for a contract this deployment never registered is first-class.
1 - 15"99999999999AN1"
Cuerpo
The BRL amount already paid to the worker, as a canonical positive decimal string matching ^[1-9][0-9]*.[0-9]{2}$ (at most 13 bytes). A string, never a JSON number: money never passes through a float.
13"2000.00"
When the money was paid, strict RFC 3339 UTC with a literal Z (2026-08-01T12:00:00Z). Exactly one spelling per instant: a +00:00 offset, a lowercase z, fractional seconds or a missing zone are refused, never normalized.
20"2026-08-01T12:00:00Z"
The client's opaque payment reference — a Pix EndToEndId, a TED protocol number, an internal settlement id. Valid UTF-8, 1..256 bytes, preserved byte for byte with no trimming, case folding or normalization.
256"E32074986202608011200A1B2C3D4E5F"
Respuesta
The confirmation is durably recorded. A replay of the same payment — under the same key or a new one — answers with the identical body.
The confirmed amount, echoed verbatim.
"2000.00"
The gateway's identity for this immutable confirmation.
"1f5b9c26-6f5a-4f77-9c1c-5d1c0f0a9b21"
When the gateway durably recorded the confirmation, strict RFC 3339 UTC.
"2026-08-01T12:00:05Z"
The rail contract number the confirmation was addressed to, echoed from the path.
"99999999999AN1"
When the money was paid, echoed verbatim.
"2026-08-01T12:00:00Z"
The client's payment reference, echoed verbatim.
"E32074986202608011200A1B2C3D4E5F"

