Errors and Testing

The DCC errors your integration can receive, what to do about each, and what to test before you go live.

DCC errors come back with an HTTP status and an errors array, in the same format as other Direct API validation errors.

{
  "errors": [
    {
      "errorCode": "expiredDccGlobalBlueId",
      "message": "The DCC quote has expired or is no longer available. Please perform a fresh DCC rate lookup.",
      "domain": "processing"
    }
  ]
}

Errors

HTTPerrorCodeWhenWhat to do
422expiredDccGlobalBlueIdThe quote is more than 20 minutes old, or unknownRequest a new quote and show the new amount
422missingDccGlobalBlueIdA two-stage payment accepts DCC, but no lookup was made for the orderMake the rate lookup by order first
422invalidDccGlobalBlueIdForOrderThe globalBlueId is not the one from this order's lookupSend the ID from the latest lookup for the order, or request a new quote
422invalidDccPaymentA single-stage payment accepts DCC without a lookupMake the rate lookup by amount first
422binExcludedThe card is on the list of cards not offered DCCShow no offer. Take the payment in AED.
422unsupportedCardSchemeThe card is not Visa or MastercardShow no offer. Take the payment in AED.
422unsupportedCurrencyThe order is not in AEDShow no offer. Take the payment in AED.
422dccPropServiceDisabledDCC is not switched on for the outletAsk your relationship manager. Take the payment in AED meanwhile.
400invalidCardNumberThe lookup had neither pan nor cardTokenSend one of them
422invalidRefundAmountA partial refund of a multi-currency pricing paymentRefund the full amount

When DCC is not available for the card, take the payment without isDccSelected or globalBlueId. The customer should still be able to pay.

Retries

What failedRetry?
Rate lookup, with a 5xx error or a timeoutYes. If it fails again, take the payment in AED without an offer.
Rate lookup, with a 4xx errorNo. Correct the request, or go ahead without DCC.
Payment with an expired quoteNot with the same quote. Request a new one first.

Test before you go live

  • A quote by order and a quote by amount both return a globalBlueId and the converted amount.
  • The offer shows both amounts and the rate, formatted with minorUnit.
  • An expired quote is replaced, not reused.
  • Accepting and declining both work, in the flows you use, and the response shows dccSelected as true or false.
  • On AUTH orders, captures are sent in AED, and partial captures reach CAPTURED.
  • A card that is not offered DCC still pays in AED.
  • If you also use multi-currency pricing, a payment with currency set never asks for a DCC quote.

You can download the N-Genius Postman collection for DCC here.

Related

© Network International LLC. All Rights Reserved.