Checkout.Contract you use for a sale, with type = REFUND and the sale’s requestId as originalRequestId, and you receive the same PaymentResult.
Refund with a card re-tap
The SDK keeps no history. The
requestId of the sale comes from your own order records, which is also where you decide whether a sale may still be refunded.
What the screens show
Every headline changes with the transaction type, in the device language: “Aproxime para estornar”, “Processando estorno”, “Estorno aprovado” (or “Tap to refund”, “Processing refund”, “Refund approved”). The descriptor under the amount reads “Estorno · Crédito · à vista”, and the certified PIN pad shows “Estorno” under the amount when the card asks for a PIN, so a PIN prompt is never mistaken for a charge. YourtapTitle still wins over the default headline.
Walk through a refund in the simulator: choose REFUND in the Sale section.
Handle the result
The samewhen you use for a sale applies:
Approved means the refund was authorised and registered with Rinne, linked to the sale through the originalRequestId you sent. Confirm it on the API by looking the sale up with its requestId; a transaction.status-changed webhook fires when the sale’s status changes.
Declined and Failed are different answers. A declined refund means the issuer refused it, and the sale keeps its status. A failed refund is a technical fault, so the operator can try again where the code allows it, exactly as for a sale.Refund from your backend
When the cardholder is not present, refund the sale from your backend through the transactions refund endpoint,POST /v1/merchants/{merchantId}/transactions/{transactionId}/refunds, for the full amount. The standard refund rules apply: the sale must be approved, it can have only one completed refund, and the refund follows the sale’s settlement window. See Transactions for the refund lifecycle and the API reference for the request.
Next steps
Results and errors
Every
PaymentResult variant and ErrorCode, and the retry rule for each.Testing in the sandbox
Which amounts approve, decline or fail in the sandbox.

