Refund
Refund must be used to return the captured payment back to cardholder’s account upon
Cardholder returning the purchased product(s) (or)
Cardholder cancelling the order (or)
Merchant couldn't deliver the goods/services as promised at the time of sale.
It is possible to make a refund in two ways
Referenced refund
Standalone refund
Referenced refund
Referenced refund can be used to return the captured payment by referring the underlying payment. This would return the captured payment back to the cardholder's account that was used for the purchase, also nullifies the possibilities of refund being made to incorrect card.
Similar to capture, referenced refund could be done as
Full refund - Returning the entire captured payment.
Partial refund - Returning a part of captured payment.
It is possible to capture the entire captured payment with single or multiple refund capture requests.
Card schemes strongly recommends the usage of referenced refunds to avoid money laundering possibilities.
Make a referenced refund
Submit a refund payment request using the paymentId of the payment. To refund a part of the captured payment, use the amount object to specify the amount that you want to refund. Skipping the amount object in your request will result in refund of entire captured amount. Set captureImmediately to "true" for immediate capture of refund without a need for follow up capture refund request from your end.
Referenced refunds are only accepted by the system after the capture process has been finalized. This is done by sending "isFinal": true for your (last) capture. Final Authorizations that are processed using a single message are automatically finalized.
In case you do not want to submit any further partial captures on a payment anymore but your last capture was not flagged as final you can submit a capture with "isFinal": true and a zero amount. This will finalize the capture process and automatically reverse any authorized amount that wasn't captured yet. If you have not done any captures yet, you can simply perform an authorization reversal .
If you want to submit a refund before you are able to finalize the capture process you can submit this as a Standalone refund .
Example referenced refund request
Below given example request (POST /processing/v1/100812/520002526/payments/ pay:ch:etu:RU0BwotXS1GTZiCbCHUqFg /refunds) will refund an amount of 5 EUR out of total captured amount of 20 EUR.
{
"operationId": "004b90e9-7f78-4380-a551-68a8737c589b",
"transactionTimestamp": "2024-10-18T09:08:50.876Z",
"captureImmediately": true,
"amount": {
"amount": 500,
"currencyCode": "EUR",
"numberOfDecimals": 2
},
"references": {
"merchantReference": "Your-Order-f92cc74f-e4a5-4e9f-9a06-e718f449410a"
}
}
Example referenced refund response
{
"operationId": "004b90e9-7f78-4380-a551-68a8737c589b",
"responseCode": "0",
"responseCodeDescription": "Accepted or completed successfully",
"responseCodeCategory": "APPROVED",
"responder": "WORLDLINE",
"refund": {
"refundId": "pay:ch:etu:2mi8nj8pTY-fBgYPJnCvRw",
"status": "CONFIRMED"
}
}
Please note that a card issuer may reject a refund authorization request for valid reason(s) and the API response will reflect the rejection. In such situations, you must be able to rectify the issue before re-attempting or look for alternatives to get the refund processed. Refer to response handling to know more about response properties.