Capture, void and refund a payment made with dynamic currency conversion, and what currency each one uses.
After a DCC payment, captures, voids and refunds use the same calls as any other Direct API payment. What differs is the currency: you always send amounts in AED, and N-Genius works out the amount in the customer's currency.
| You send | In | The response shows |
|---|---|---|
| A capture | AED | The capture in the customer's currency, converted at a new rate |
| A void | No amount | The payment reversed in its original amount and currency |
| A refund | AED | The refund in AED |
Capture an authorised payment
On an AUTH order with DCC accepted, the payment is AUTHORISED for the full order amount. Capture it with the cnp:capture link from the payment response, as in Capture an authorised payment.
Send the capture amount in AED, never in the customer's currency. Each capture gets a fresh quote for that amount, so the amount in the customer's currency can differ from the one they accepted. Capture promptly to keep the difference small.
{
"amount": { "currencyCode": "AED", "value": 2000 }
}The response keeps the order amount in AED, and shows the capture in the customer's currency:
{
"reference": "<payment_reference>",
"state": "PARTIALLY_CAPTURED",
"amount": { "currencyCode": "AED", "value": 6000 },
"_embedded": {
"cnp:capture": [
{
"amount": { "currencyCode": "USD", "value": 564 },
"state": "SUCCESS"
}
]
}
}You can capture in parts until the full authorisation is captured. The sum of the captures cannot be more than the amount authorised. The state is PARTIALLY_CAPTURED until then, and CAPTURED after the last part.
| Capture | You send | The customer is charged |
|---|---|---|
| Authorisation | AED 60.00 | USD 16.91 accepted at the offer |
| First part | AED 20.00 | USD 5.64 |
| Second part | AED 20.00 | USD 5.64 |
| Last part | AED 20.00 | USD 5.63 |
Void
Voids work as for any payment and need no amount. See Reversing an authorised payment, Cancel a capture request and Cancel a refund request. A void reverses the payment in its original amount and currency.
Refund
Refunds are always in AED, whatever currency the customer paid in. Use the cnp:refund link, as in Refund a capture.
- Full refund: send the request with no body.
- Partial refund of a DCC payment: send the amount in AED.
- Partial refund of a multi-currency pricing payment: not allowed. It fails with HTTP 422 and
invalidRefundAmount.
{
"amount": { "currencyCode": "AED", "value": 1000 }
}The customer's bank converts the AED refund into their card's currency at its own rate, so they may get back a different amount from the one they paid. Merchants are warned about this in Global Blue Dynamic Currency Conversion (DCC).

