Payment Options Inquiry
Request to retrieve the options available for processing a payment, for example, the credit cards and currencies.
You can also use this operation to perform a Rate Quote for Dynamic Currency Conversion or to calculate the applicable Surcharge for an order.
Warning! This operation must not be called directly from the browser, as it would reveal the integration password to customers.
This operation may not be needed if such values rarely change and can be hard-coded into the website handling the transaction. However, the operation is useful for populating and validating transaction fields (for example) if these values can change in real time for a business's website.
If the operation is called with no parameters, all values that could apply for all fields are returned: all of the possible currencies, all of the possible card types, and so on. Non-complex websites can use this unmodified data set for building a website's presentation and input validation.
Some websites require more complex configuration (for example, where USD and EUR currencies are supported on MasterCard and Visa, but only USD on American Express). Call the operation with parameters to restrict the returned values. If a sourceOfFunds.provided.card.prefix is passed in, only currencies applicable to the card brand identified by the prefix are returned. If an order.currency is passed in, only payment options applicable for that currency are returned.
URL | https://evopaymentsmexico.gateway.mastercard.com/api/rest/version/56/merchant/{merchantId}/paymentOptionsInquiry |
HTTP Method | GET |
Authentication |
This operation requires authentication via one of the following methods:
|
Request Parameters
correlationId String = OPTIONAL
gatewayEntryPoint Enumeration = OPTIONAL
locale String = OPTIONAL
See Dynamic Currency Conversion for more detail.
order = OPTIONAL
order.amount Decimal = OPTIONAL
The value of this field in the response is zero if payer funds are not transferred.
order.currency Upper case alphabetic text = OPTIONAL
order.netAmount Decimal = OPTIONAL
paymentType Enumeration = OPTIONAL
session.id ASCII Text = OPTIONAL
session.version ASCII Text = OPTIONAL
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
If session.version provided by you does not match that stored against the session, the gateway will reject the operation with error.cause=INVALID_REQUEST.
See Making Business Decisions Based on Session Content.
sourceOfFunds = OPTIONAL
For card payments the source of funds information may be represented by combining one or more of the following: explicitly provided card details, a session identifier which the gateway will use to look up the card details and/or a card token. Precedence rules will be applied in that explicitly provided card details will override session card details which will override card token details. Each of these may represent partial card details, however the combination must result in a full and complete set of card details. See Using Multiple Sources of Card Details for examples.
sourceOfFunds.provided.card.p2pe = OPTIONAL
sourceOfFunds.provided.card.p2pe.cardBin Digits = OPTIONAL
If you do not provided this, the gateway will not perform this check.
sourceOfFunds.provided.card.p2pe.encryptionState String = OPTIONAL
sourceOfFunds.provided.card.p2pe.initializationVector Hex = OPTIONAL
sourceOfFunds.provided.card.p2pe.keySerialNumber Hex = COMPULSORY
sourceOfFunds.provided.card.p2pe.payload Hex = COMPULSORY
sourceOfFunds.provided.card.prefix Digits = OPTIONAL
sourceOfFunds.token Alphanumeric = OPTIONAL
transactionSource Enumeration = OPTIONAL
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
{merchantId} Alphanumeric + additional characters COMPULSORY
Response Parameters
merchant Alphanumeric + additional characters = Always Provided
result Enumeration = Always Provided
correlationId String = CONDITIONAL
custom JSON Text = CONDITIONAL
gatewayEntryPoint Enumeration = CONDITIONAL
merchant Alphanumeric + additional characters = Always Provided
order.amount Decimal = CONDITIONAL
The value of this field in the response may be zero if payer funds are not transferred.
order.currency Upper case alphabetic text = CONDITIONAL
order.netAmount Decimal = CONDITIONAL
order.surchargeAmount Decimal = CONDITIONAL
paymentTypes = CONDITIONAL
paymentTypes.ach = CONDITIONAL
paymentTypes.ach.currencies[n] = CONDITIONAL
paymentTypes.ach.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.ach.transactionSources[n] = CONDITIONAL
paymentTypes.ach.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.alipay = CONDITIONAL
paymentTypes.alipay.currencies[n] = CONDITIONAL
paymentTypes.alipay.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.alipay.transactionSources[n] = CONDITIONAL
paymentTypes.alipay.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.bancanet = CONDITIONAL
paymentTypes.bancanet.currencies[n] = CONDITIONAL
paymentTypes.bancanet.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.bancanet.transactionSources[n] = CONDITIONAL
paymentTypes.bancanet.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.boletobancario = CONDITIONAL
paymentTypes.boletobancario.currencies[n] = CONDITIONAL
paymentTypes.boletobancario.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.boletobancario.transactionSources[n] = CONDITIONAL
paymentTypes.boletobancario.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.card = CONDITIONAL
paymentTypes.card.3DSecureSchemes[n] = CONDITIONAL
paymentTypes.card.3DSecureSchemes[n].3DSecureScheme Enumeration = Always Provided
paymentTypes.card.brand Enumeration = CONDITIONAL
You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
paymentTypes.card.capabilities[n] = CONDITIONAL
paymentTypes.card.capabilities[n].capability Enumeration = Always Provided
paymentTypes.card.cardTypes[n] = CONDITIONAL
paymentTypes.card.cardTypes[n].cardType String = Always Provided
paymentTypes.card.currencies[n] = CONDITIONAL
paymentTypes.card.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.card.currencyConversion = CONDITIONAL
paymentTypes.card.currencyConversion.exchangeRateSource String = CONDITIONAL
paymentTypes.card.currencyConversion.exchangeRateTime DateTime = CONDITIONAL
paymentTypes.card.currencyConversion.gatewayCode Enumeration = Always Provided
paymentTypes.card.currencyConversion.marginPercentage Decimal = CONDITIONAL
paymentTypes.card.currencyConversion.offerText String = CONDITIONAL
paymentTypes.card.currencyConversion.payerAmount Decimal = CONDITIONAL
paymentTypes.card.currencyConversion.payerCurrency Upper case alphabetic text = CONDITIONAL
paymentTypes.card.currencyConversion.payerExchangeRate Decimal = CONDITIONAL
paymentTypes.card.currencyConversion.provider Enumeration = CONDITIONAL
paymentTypes.card.currencyConversion.providerCode ASCII Text = CONDITIONAL
paymentTypes.card.currencyConversion.providerReceipt String = CONDITIONAL
paymentTypes.card.currencyConversion.quoteExpiry DateTime = CONDITIONAL
paymentTypes.card.currencyConversion.requestId String = CONDITIONAL
paymentTypes.card.enforceCardSecurityCodeEntry Enumeration = CONDITIONAL
paymentTypes.card.fundingMethod Enumeration = CONDITIONAL
paymentTypes.card.issuer String = CONDITIONAL
paymentTypes.card.localBrand String = CONDITIONAL
You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
paymentTypes.card.paymentPlans[n] = CONDITIONAL
paymentTypes.card.paymentPlans[n].endDate String = CONDITIONAL
paymentTypes.card.paymentPlans[n].minimumOrderAmounts[n] = CONDITIONAL
paymentTypes.card.paymentPlans[n].minimumOrderAmounts[n].amount Decimal = CONDITIONAL
paymentTypes.card.paymentPlans[n].minimumOrderAmounts[n].currency String = CONDITIONAL
paymentTypes.card.paymentPlans[n].numberOfDeferrals[n] Integer = CONDITIONAL
paymentTypes.card.paymentPlans[n].numberOfPayments[n] Integer = CONDITIONAL
paymentTypes.card.paymentPlans[n].payerInterest Boolean = CONDITIONAL
paymentTypes.card.paymentPlans[n].planId String = CONDITIONAL
paymentTypes.card.paymentPlans[n].planName String = CONDITIONAL
paymentTypes.card.paymentPlans[n].planTemplate Enumeration = CONDITIONAL
paymentTypes.card.paymentPlans[n].startDate String = CONDITIONAL
paymentTypes.card.scheme Enumeration = CONDITIONAL
paymentTypes.card.transactionSources[n] = CONDITIONAL
paymentTypes.card.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.card.walletProviders[n] = CONDITIONAL
paymentTypes.card.walletProviders[n].secureRemoteCommerce = CONDITIONAL
paymentTypes.card.walletProviders[n].secureRemoteCommerce.scheme[n] = CONDITIONAL
paymentTypes.card.walletProviders[n].secureRemoteCommerce.scheme[n].dpaId String = Always Provided
paymentTypes.card.walletProviders[n].secureRemoteCommerce.scheme[n].name Enumeration = Always Provided
paymentTypes.card.walletProviders[n].walletProvider Enumeration = Always Provided
- Device payment methods such as Apple Pay, Android Pay, Samsung Pay, or Google Pay.
- Digital wallets such as Masterpass, Visa Checkout or Amex Express Checkout.
paymentTypes.enets = CONDITIONAL
paymentTypes.enets.currencies[n] = CONDITIONAL
paymentTypes.enets.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.enets.transactionSources[n] = CONDITIONAL
paymentTypes.enets.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.giftCard = CONDITIONAL
paymentTypes.giftCard.cardTypes[n] = CONDITIONAL
paymentTypes.giftCard.cardTypes[n].cardType String = Always Provided
paymentTypes.giftCard.currencies[n] = CONDITIONAL
paymentTypes.giftCard.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.giftCard.transactionSources[n] = CONDITIONAL
paymentTypes.giftCard.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.giropay = CONDITIONAL
paymentTypes.giropay.currencies[n] = CONDITIONAL
paymentTypes.giropay.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.giropay.transactionSources[n] = CONDITIONAL
paymentTypes.giropay.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.ideal = CONDITIONAL
paymentTypes.ideal.currencies[n] = CONDITIONAL
paymentTypes.ideal.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.ideal.transactionSources[n] = CONDITIONAL
paymentTypes.ideal.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.klarna = CONDITIONAL
paymentTypes.klarna.currencies[n] = CONDITIONAL
paymentTypes.klarna.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.klarna.transactionSources[n] = CONDITIONAL
paymentTypes.klarna.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.oxxo = CONDITIONAL
paymentTypes.oxxo.currencies[n] = CONDITIONAL
paymentTypes.oxxo.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.oxxo.transactionSources[n] = CONDITIONAL
paymentTypes.oxxo.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.paypal = CONDITIONAL
paymentTypes.paypal.currencies[n] = CONDITIONAL
paymentTypes.paypal.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.paypal.transactionSources[n] = CONDITIONAL
paymentTypes.paypal.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.pbba = CONDITIONAL
paymentTypes.pbba.currencies[n] = CONDITIONAL
paymentTypes.pbba.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.pbba.transactionSources[n] = CONDITIONAL
paymentTypes.pbba.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.poli = CONDITIONAL
paymentTypes.poli.currencies[n] = CONDITIONAL
paymentTypes.poli.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.poli.transactionSources[n] = CONDITIONAL
paymentTypes.poli.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.sepa = CONDITIONAL
paymentTypes.sepa.currencies[n] = CONDITIONAL
paymentTypes.sepa.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.sepa.transactionSources[n] = CONDITIONAL
paymentTypes.sepa.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.sofort = CONDITIONAL
paymentTypes.sofort.currencies[n] = CONDITIONAL
paymentTypes.sofort.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.sofort.transactionSources[n] = CONDITIONAL
paymentTypes.sofort.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.unionpay = CONDITIONAL
paymentTypes.unionpay.currencies[n] = CONDITIONAL
paymentTypes.unionpay.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.unionpay.transactionSources[n] = CONDITIONAL
paymentTypes.unionpay.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
paymentTypes.wechatpay = CONDITIONAL
paymentTypes.wechatpay.currencies[n] = CONDITIONAL
paymentTypes.wechatpay.currencies[n].currency Upper case alphabetic text = CONDITIONAL
paymentTypes.wechatpay.transactionSources[n] = CONDITIONAL
paymentTypes.wechatpay.transactionSources[n].transactionSource Enumeration = Always Provided
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.