Get a DCC Quote

Request a Global Blue rate for the customer's card, and show them the amount in their own currency.

Request a quote once the customer has entered their card details and the amount is final. N-Genius works out the card's currency from the card number and returns the converted amount and the rate, with a quote ID you send back with the payment.

There are two lookups. Use the one that matches your flow.

FlowEndpoint
Two-stage: the order already existsPOST /transactions/outlets/{outletId}/mcp-dcc/dcc-order-rate-lookup
Single-stage: no order yetPOST /transactions/outlets/{outletId}/mcp-dcc/dcc-amount-rate-lookup

Headers

HeaderValue
AuthorizationBearer <access_token>
Content-Typeapplication/vnd.ni-payment.v2+json
Acceptapplication/vnd.ni-payment.v2+json

Request body

FieldLookupRequiredDescription
panBothEither this or cardTokenThe card number the customer entered
cardTokenBothEither this or panA saved-card token, when the customer pays with a saved card
orderIdBy orderRequiredThe order reference returned when you created the order
amount.currencyCodeBy amountRequiredThe order currency. Must be AED.
amount.valueBy amountRequiredThe amount in minor units, so 3000 is AED 30.00

Sample request: by order

curl --request POST \
  'https://api-gateway.sandbox.ngenius-payments.com/transactions/outlets/<outlet_id>/mcp-dcc/dcc-order-rate-lookup' \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/vnd.ni-payment.v2+json' \
  --header 'Accept: application/vnd.ni-payment.v2+json' \
  --data '{
    "pan": "4111111111111111",
    "orderId": "<order_reference>"
  }'

Sample request: by amount

{
  "pan": "4111111111111111",
  "amount": { "currencyCode": "AED", "value": 3000 }
}

Sample response

Both lookups return the same shape, with HTTP 200.

{
  "globalBlueId": "a3f8c2e1-7b4d-4f9a-9e2c-1d5b8a7f6e3c",
  "transactionInfo": {
    "currencyCodeFrom": "AED",
    "currencyCodeTo": "USD",
    "amount": 3000,
    "convertedAmount": 817,
    "conversionRate": 0.2723,
    "minorUnit": 2,
    "markup": "3.99",
    "conversionDateTime": 1752969600000
  }
}
FieldDescription
globalBlueIdThe quote ID. Send it with the payment if the customer accepts. Valid for 20 minutes.
transactionInfo.currencyCodeFromThe order currency, AED
transactionInfo.currencyCodeToThe card's currency
transactionInfo.amountThe order amount in minor units
transactionInfo.convertedAmountThe amount in the card's currency, in minor units
transactionInfo.conversionRateThe rate: one AED in the card's currency
transactionInfo.minorUnitHow many decimal places the card's currency uses. Use it to format convertedAmount.
transactionInfo.markupThe markup included in the rate, as a percentage
transactionInfo.conversionDateTimeWhen the quote was made, in epoch milliseconds

Show the offer

Give the customer two choices with their amounts, for example AED 30.00 or USD 8.17, and the rate, for example 1 AED = 0.2723 USD. Do not choose for them. The quote is valid for 20 minutes, so if the customer may take longer, tell them the amount can change.

If the lookup returns an error because the card, its scheme or the order currency is not eligible, show no offer and take the payment in AED. See Errors and testing.

Next steps

© Network International LLC. All Rights Reserved.