FX Refund Flow
How currency conversion applies when refunding FX transactions
When the original transaction was processed in a different currency than the order currency (i.e., FX conversion was applied), the following rules govern refunds:
- The
amountin the refund request is always in the original order currency — not the processed/card currency - The refund reuses the same FX rate from the original transaction, not the current market rate
- You cannot change the currency — only the amount in order currency is controlled by you; conversion back to the card currency is automatic
#Example: Full Refund with FX
| Value | |
|---|---|
| Order currency | EUR |
| Order amount | 100.00 EUR |
| Customer card currency | USD |
| FX rate at authorization | 1 EUR = 1.0850 USD |
| Customer was charged | 108.50 USD |
Refund request: amount: "100.00" (EUR).
Result: the card network refunds 108.50 USD to the customer, using the same 1.0850 rate. Even if the market rate has changed, the original rate is always used.
#Example: Partial Refund with FX
Using the same transaction above:
Refund request: amount: "40.00" (EUR).
Result: 43.40 USD refunded (40.00 × 1.0850).
#Example: No FX (Same Currency)
If the order currency and card currency are the same (e.g., both EUR), no conversion is involved — the refunded amount equals the requested amount exactly.
#Callback Behavior
The callback totalAmount always reflects the processed currency amount (e.g., USD), not the order currency amount (e.g., EUR). Do not compare the callback amount to the EUR order amount when reconciling FX refunds.
#Related
- Refund Flow — Standard refund flow and status lifecycle
- API Reference: POST /api/v1/refunds/card — Full endpoint spec, Try It
- Transaction Status Guide — Status values