Captures, Voids, and Refunds

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 sendInThe response shows
A captureAEDThe capture in the customer's currency, converted at a new rate
A voidNo amountThe payment reversed in its original amount and currency
A refundAEDThe 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.

CaptureYou sendThe customer is charged
AuthorisationAED 60.00USD 16.91 accepted at the offer
First partAED 20.00USD 5.64
Second partAED 20.00USD 5.64
Last partAED 20.00USD 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).

Next steps

© Network International LLC. All Rights Reserved.