This section provides a detailed guide on how Main Account holders can manage refunds for In-Person Payments processed through Ryft.
When processing a refund for an In-Person Payment, it is important to ensure that the refund is presented correctly on the payment terminal. This involves sending the appropriate refund request to the terminal and confirming that the refund has been successfully processed.
To initiate a refund after a previously successful in-person payment, you can use any of your registered terminals.
You can send a request to our terminal API - create refund endpoint, providing your terminal's unique ID, the original payment ID, the refund amount, currency, and any other required details.
Example Request:
{
"paymentSession": {
"id": "ps_XXXXXXX" // The ID of the payment you want to refund
}
}If the payment you wish to refund was for a Sub-Account, make sure you include the Account field in your request headers.
In the example above, we are requesting a refund for the payment with the ID ps_XXXXXXX. You can optionally include:
- an
amountobject if you wish to process a partial refund; - a
refundPlatformFeeboolean field if you want to refund any platform fees associated with the original payment (as applicable for marketplace accounts).
Provided the request is successful, the API will return a payload containing various details about the initiated refund, after which the terminal will prompt the customer to present their card for the refund.
Example Response:
{
"id": "tml_XXXXXXXX",
"name": "Main Desk Terminal",
"location": {"id": "iploc_XXXXXXXXX"},
"device": {"type": "A920Pro", "serialNumber": "1853777898"},
"action": {
"type": "Transaction",
"status": "InProgress",
"id": "tmlact_XXXXXXXXX",
"transaction": {
"type": "Refund",
"paymentSessionId": "ps_XXXXXXXX",
"amounts": {"requested": 1742},
"currency": "GBP",
"settings": {"receiptPrintingSource": "Terminal"},
},
"createdTimestamp": 1761231259,
},
"createdTimestamp": 1760456293,
"lastUpdatedTimestamp": 1761231259,
}The action object contains important information about the current status of the refund.
- Monitoring Refunds: You can monitor the status of refunds through the Ryft Portal or by using the relevant API endpoints to check the status of the refund transaction. You can find more information on how to do this in the Managing Payments section.
- Webhooks: Also mirroring online payments, you will receive webhooks for in-person refund events. For more details on the available webhooks and how to set them up, please refer to the Webhooks section.