Payin Callback
Sent to the callbackUri you provided when creating the payment, every time the payin transitions to a new state (completed, canceled, expired, or dispute). The payload is a JSON object signed with HMAC-SHA256 in the lowercase `signature` header (computed over the compact JSON body using your secret key). Respond with HTTP 2xx within 10 seconds to acknowledge — any non-2xx response or timeout triggers automatic retries with exponential backoff for up to 24 hours.
{your callbackUri}Validate the HMAC-SHA256 signature before processing the payload. Authentication guide →
Payload fields#
statusbooleanrequiredTop-level success flag. Always true for successfully delivered callbacks — the actual payment outcome is in result.state.
Exampletrueresult.idstring (uuid)requiredPayment UUID — same value as payment_id from the create-payment response. Use this to look up the payment in your system.
Examplef96aafed-144f-4b7d-90f2-43d79c220result.orderIdstringrequiredYour original orderId passed at creation, echoed back for reconciliation.
Example1bf846dc-7a17-417e-a22e-5a2d0414result.statestringrequiredPayin lifecycle state at the moment of the callback. One of: pending, expired, canceled, dispute, completed. Only completed credits funds to your balance. See the Lifecycle States section in Get Payment Status for the full semantics. Treat the same (id, state) pair as idempotent.
Examplecompletedresult.amountstring (decimal)requiredFinal amount actually settled, as a decimal string. May differ from init_amount when the customer transferred a slightly different amount that was still accepted.
Example2000.00result.init_amountstring (decimal)requiredOriginal amount you requested at payment creation. Compare against amount to detect partial/over-payments.
Example2000.00result.currencystringrequiredISO-4217 currency code (e.g. ARS, BRL, CLP).
ExampleARSresult.methodstringrequiredPayment method used: cbu or qr.
Examplecburesult.ratestring (decimal)requiredExchange rate (local currency → USDT) locked at the moment of settlement.
Example1471.52result.datetimenumber (unix)requiredUnix timestamp (seconds) of the state transition.
Example1780064003result.created_atstring (ISO 8601)requiredISO 8601 UTC timestamp of when the payment was originally created.
Example2026-05-29T14:13:23.624Zresult.messagestring | nulloptionalFree-form message — populated when state is canceled, expired, or dispute to describe the reason. null on success.
Examplenullresult.file_urlstring | nulloptionalURL to the bank receipt / proof-of-transfer image when available. null for most QR payments.
Examplenull