To return funds to a shopper after a payment is Approved, you need to refund the payment. Referenced refunds are connected to the original payment, using the unique identifier of that payment.
When you make a POS payment, the Terminal API response returns the transaction identifier of the payment in the format tenderReference.pspReference
. To make a referenced refund, you specify this transaction identifier in your refund request. This lets us validate the refund against the original payment, to ensure that it hasn't already been refunded.
You can make a:
- Full refund to return the total value of the purchase to the shopper.
- Partial refund to return part of the purchase to the shopper. For example, when a shopper returns one of the items they purchased. You can also make multiple partial refunds. For example, when a shopper returns several items at different times.
Make a referenced refund
Select a tab to see the parameters that you need to specify for a full referenced refund, or a partial referenced refund.
For a complete list of fields you can pass and receive for a referenced refund, see the ReversalRequest API reference and the ReversalResponse API reference.
Refund an offline payment when back online
When there is a temporary loss of internet connectivity, you can continue making point-of-sale payments. This is referred to as offline payments. If you need to refund such a payment when your integration is back online, you need to accommodate the fact that the PSP reference of the offline payment is missing.
An offline point-of-sale payment does have a tender reference, because the tender reference is generated by the terminal. However, the PSP reference is missing because PSP references are generated on the Adyen payments platform, and that could not be reached due to the loss of internet connectivity.
To refund an offline point-of-sale payment, you need to know the tender reference and the date of the original payment. In most cases you also need to know the unique identifier of the terminal that processed the original payment.
Refund an ecommerce payment
An ecommerce payment does have a PSP reference, but the tender reference is missing because it is generated by the terminal. To refund an ecommerce payment, you need to know the PSP reference, the date, and the currency of the original payment.