Limited availability
Currency conversion in currently in pilot phase. Some of the processes and documentation may change as the feature evolves. If you are interested in piloting currency conversion or have any feedback, reach out to your Adyen contact.
When you refund a payment with currency conversion, the refund amounts may not match the amounts in the original payment request, resulting in a remainder. For example, your user sold goods worth CZK 1000.00 to a customer who paid in PLN (PLN 201.74). Later, your user refunds the CZK 1000.00 to the customer, which results in a remainder of PLN 6.31. You can choose to book this remainder to your marketplace.
When you book the remainder amount to the customer:
- Your user is debited the exact amount they received in the payment.
- The customer is credited the exact amount they originally paid.
- The balance from the remainder is booked to your liable balance account.
How it works
You process a payment with currency conversion on behalf of your user. The customer is debited in the processing currency and your user is credited in the settlement currency. When refunding this payment, you want to book the remainder to your platform. To do this:
- You send a refund request, specifying the original payment amounts in both currencies.
- When Adyen receives the request, we credit the customer and debit your user in their respective currencies. Any remainder is booked to your liable balance account.
Requirements
Requirement | Description |
---|---|
Integration type | You must have an Adyen online payments integration and a checkout UI. |
API credentials | You must have credentials for the following API:
|
Webhooks | Ensure that your server can receive and accept standard webhooks. Subscribe to any of the following webhooks: |
Capabilities | Make sure that your account holders have the following capabilities:
|
Setup steps | Before you begin:
|
Send a refund request
To book the remainder to your marketplace's liable balance account:
-
Make sure that you have the API key for the Checkout API. Your credential has the format ws@Company.[YourCompanyAccount].
-
Send a POST /payments/{paymentPspReference}/refunds request.
- Use the values from the original payment for the amount and splits.amount objects of the request. For our example refund, this is PLN 201.74 as the
amount
and CZK 1000.00 as thesplits.amount
. - In the splits array, add an additional split item for the remainder, with type Remainder. Enter your liable balance account ID in the account field of this split item. You do not need to specify the amount of the remainder.
- Use the values from the original payment for the amount and splits.amount objects of the request. For our example refund, this is PLN 201.74 as the
-
You receive the following response: