Authorize
Request to obtain an authorization for a proposed funds transfer. An authorization is a response from a financial institution indicating that payment information is valid and funds are available in the payers account.
URL | https://secure.uat.tnspayments.com/api/rest/version/81/merchant/{merchantId}/order/{orderid}/transaction/{transactionid} |
HTTP Method | PUT |
Authentication |
This operation requires authentication via one of the following methods:
|
Request Parameters
apiOperation String =AUTHORIZE FIXED
Existence
FIXED
Fixed value
AUTHORIZE
Validation Rules
Any sequence of zero or more unicode characters.
XSD type
string
order = COMPULSORY
Information about the order associated with this transaction.
Fixed value
order.amount Decimal = OPTIONAL
The total amount for the order. This is the net amount plus any merchant charge amounts.If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount, order.merchantCharge.amount and order.dutyAmount), minus the order.discountAmount must equal the net amount.
The value of this field in the response is zero if payer funds are not transferred.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.currency Upper case alphabetic text = COMPULSORY
The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.
Existence
COMPULSORY
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
session.id ASCII Text = OPTIONAL
Identifier of the payment session containing values for any of the request fields to be used in this operation.
Values provided in the request will override values contained in the session.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
31
maximum length
35
sourceOfFunds = COMPULSORY
Information about the payment type selected by the payer for this payment and the source of the funds.
Depending on the payment type the source of the funds can be a debit or credit card, bank account, or account with a browser payment provider (such as PayPal).
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.
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.
Fixed value
sourceOfFunds.token Alphanumeric = OPTIONAL
A gateway token that contains account identifier details.
The account identifier details stored against this token will be used to process the request.
If account identifier details are also contained in the request, or the request contains a session with account identifier details, these take precedence over the details stored against the token.
If account identifier details are also contained in the request, or the request contains a session with account identifier details, these take precedence over the details stored against the token.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
40
sourceOfFunds.tokenRequestorID Alphanumeric = OPTIONAL
The unique identifier assigned to you by the Token Service Provider that you requested a token from for this payment.
This field is mandatory for payments where the Chase Pay wallet was used.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
11
sourceOfFunds.type Enumeration = OPTIONAL
The payment method used for this payment.
If you are passing card data (in any form) on the API, then you need to set this value, and also provide the card details in the sourceOfFunds.provided.card group. In the case of digital wallets or device payment methods, you must also populate the order.walletProvider field.
If you are making a payment with a gateway token, then you can leave this field unset, and only populate the sourceOfFunds.token field. However you can set this to CARD if you want to overwrite or augment the token data with a card security code, expiry date, or cardholder name.
If you are making a payment with a gateway token, then you can leave this field unset, and only populate the sourceOfFunds.token field. However you can set this to CARD if you want to overwrite or augment the token data with a card security code, expiry date, or cardholder name.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CARD
Use this value for payments that obtained the card details either directly from the card, or from a POS terminal, or from a wallet, or through a device payment method.
EBT_CARD
Use this value for Electronic Benefits Transfer (EBT) card payments. The additional EBT data must also be provided in the sourceOfFunds.provided.ebt parameter group.
GIFT_CARD
The payer chose to pay using a gift card. The payer's gift card details must be provided under the sourceOfFunds.provided.giftCard parameter group.
SCHEME_TOKEN
Use this value for payments using scheme tokens provided by Mastercard Digital Enablement Service (MDES), or Visa Token Service (VTS), or American Express Token Service (AETS).
accountFunding = OPTIONAL
Additional details for account funding transactions (order.purchaseType=ACCOUNT_FUNDING).
Account funding transactions are transactions that pull money from the sender's card account for the purpose of funding another account, the recipient's account.
Depending on the type of account funding transaction you may be required to provide some or all the details in this parameter group.
Fixed value
accountFunding.purpose Enumeration = OPTIONAL
Defines the purpose of the account funding payment.If not provided the value is defaulted to OTHER.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CRYPTOCURRENCY_PURCHASE
The funds from this account funding transaction will exclusively be used to purchase cryptocurrency.
MERCHANT_SETTLEMENT
The funds from this account funding transaction will be used to settle the proceeds of processing card transactions.
OTHER
The funds from this account funding transaction will be used for any other purpose, e.g. transferring funds from a person to a person or transferring funds into a staged wallet.This is the default value.
PAYROLL
The funds from this account funding transaction will be used to pay salaries.
accountFunding.recipient = OPTIONAL
Details about the recipient who will subsequently receive the funds that you are debiting from the sender in this transaction.
Fixed value
accountFunding.recipient.account = OPTIONAL
Details about the account of recipient who will subsequently receive the funds that you are debiting from the sender in this transaction.
Fixed value
accountFunding.recipient.account.fundingMethod Enumeration = OPTIONAL
If the recipient account type is an account with an associated card (accountFunding.recipient.account.identifierType=CARD_NUMBER) you must specify the funding method of the card.
If not provided the value is defaulted to UNKNOWN.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHARGE
The payer has a line of credit with the issuer which must be paid off monthly.
CREDIT
The payer has a revolving line of credit with the issuer.
DEBIT
Funds are immediately debited from the payer's account with the issuer.
UNKNOWN
The account funding method is not known.
This is the default value.
accountFunding.recipient.account.identifier String = OPTIONAL
The account identifier for the payment recipient's account.
For example, this may be a card number or bank account number. You must specify the type of identifier in field accountFunding.recipient.account.identifierType.
In the response, the value will be masked. The masking format depends on the type of account identifier.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
accountFunding.recipient.account.identifierType Enumeration = OPTIONAL
Defines the type of the recipient's account identifier that you have provided in field accountFunding.recipient.account.identifier.
If not provided the value is defaulted to OTHER.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BANK_ACCOUNT_BIC
The recipient's account identifier is a bank account number and Business Identifier Code (BIC).
BANK_ACCOUNT_IBAN
The recipient's account identifier is an International Bank Account Number (IBAN).
BANK_ACCOUNT_NATIONAL
The recipient's account identifier is a bank account number and a national bank identifier, for example, a routing number (RTN).
CARD_NUMBER
The recipient's account identifier is a card number.
EMAIL_ADDRESS
The recipient's account identifier is an email address.
OTHER
The recipient's account identifier type can not be classified using any of the other categories. This is the default value
PHONE_NUMBER
The recipient's account identifier is a phone number.
SOCIAL_NETWORK_PROFILE_ID
The recipient's account identifier is a social network profile ID.
STAGED_WALLET_USER_ID
The recipient's account identifier is a user ID for a staged digital wallet.
For a staged wallet, when the payer makes a payment using the wallet, the funds are pulled from an account associated with the wallet (first stage) before they are credited to the recipient of the wallet payment (second stage).
accountFunding.recipient.address = OPTIONAL
Details of the recipient's address.
Fixed value
accountFunding.recipient.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
accountFunding.recipient.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
accountFunding.recipient.address.postCodeZip String = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10
accountFunding.recipient.address.stateProvinceCode String = OPTIONAL
The second part of the ISO 3166-2 country subdivision code for the state or province of the address.
For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP. For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3
accountFunding.recipient.address.street String = OPTIONAL
The first line of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
accountFunding.recipient.address.street2 String = OPTIONAL
The second line of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
accountFunding.recipient.firstName String = OPTIONAL
First name of the recipient.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
accountFunding.recipient.identification = OPTIONAL
Identification of the recipient.
Fixed value
accountFunding.recipient.identification.country Upper case alphabetic text = OPTIONAL
The ISO 3166 three-letter country code of the issuer of the identification.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
accountFunding.recipient.identification.type Enumeration = OPTIONAL
The type of identification provided for the recipient.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ALIEN_REGISTRATION_NUMBER
The recipient's identification type is an alien registration number issued by U.S. Citizenship and Immigration Services (USCIS) to immigrants who apply to live in the United States.
BUSINESS_TAX_ID
The recipient's identification type is a business tax id which is assigned to the business entity by the tax department.
COMPANY_REGISTRATION_NUMBER
The recipient's identification type is a company registration number which is issued to the company at the time of its incorporation.
CUSTOMER_IDENTIFICATION
The recipient's identification type is an unspecified form of customer identification through which the recipient can be identified and verified.
DATE_OF_BIRTH
The recipient's identification type is date of birth.
DRIVERS_LICENSE
The recipient's identification type is a driving license.
EMAIL
The recipient's identification type is an email address.
GOVERNMENT_ISSUED
The recipient's identification type is government issued.
INDIVIDUAL_TAX_ID
The recipient's identification type is an individual tax id which is assigned to the individual by the tax department.
LAW_ENFORCEMENT_IDENTIFICATION
The recipient's identification type is a law enforcement identification.
MILITARY_IDENTIFICATION
The recipient's identification type is a military identification which is issued by the department of defense and military.
NATIONAL_IDENTIFICATION_CARD
The recipient's identification type is a national identification card issued by the recipient's country.
OTHER
The recipient's identification type cannot be classified using any of the other categories. This is the default value.
PASSPORT
The recipient's identification type is a passport.
PHONE_NUMBER
The recipient's identification type is a phone number.
PROXY_IDENTIFICATION
The recipient's identification type is a proxy identification.
SOCIAL_SECURITY_NUMBER
The recipient's identification type is a social security number issued by Social Security Administration (SSA) to U.S. citizens, permanent residents and eligible non-immigrant workers in the United States.
TRAVEL_IDENTIFICATION
The recipient's identification type is a travel document other than a passport.
accountFunding.recipient.identification.value String = OPTIONAL
The identification value/number for the type of identification provided in accountFunding.recipient.identification.type.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
accountFunding.recipient.lastName String = OPTIONAL
Last name of the recipient.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
accountFunding.recipient.middleName String = OPTIONAL
Middle name of the recipient.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
accountFunding.senderIsRecipient Boolean = OPTIONAL
Defines if the sender and recipient of the account funding payment are the same or not.
If not provided the value is defaulted to FALSE.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
accountFunding.senderType Enumeration = OPTIONAL
Defines if the sender is a person, a commercial organization, a non-profit organization or a government
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
COMMERCIAL_ORGANIZATION
The sender is a commercial organization.
Examples include account to account transfers initiated by a commercial organization for the purpose of transferring funds to one of their accounts, business to business payments, and disbursements for insurance claims, payroll, investment dividends, merchant rebates.
GOVERNMENT
The sender is a government or government agency.
Examples include government agencies paying salaries, pensions, social benefits or tax credits.
NON_PROFIT_ORGANIZATION
The sender is a non-profit organization.
Examples include non-profit organizations delivering emergency aid payments.
PERSON
The sender is a person.
Examples include account to account transfers initiated by a person to their own account or a different person's account and adding funds to a staged wallet.
agreement = OPTIONAL
A commercial agreement you have with the payer that allows you to store and use their payment details for later payments.
For example, an agreement to a series of recurring payments (a mobile phone subscription), an agreement to take payment for a purchase by a series of installments (hire purchase), an agreement to make additional payments when required (account top up), or to fulfil a standard industry practice (no show penalty charge).
Do not provide this parameter group if you are storing the payment details for subsequent payer-initiated payments only.
See Credential on File, Cardholder, and Merchant Initiated Transactions for details.
Do not provide this parameter group if you are storing the payment details for subsequent payer-initiated payments only.
See Credential on File, Cardholder, and Merchant Initiated Transactions for details.
Fixed value
agreement.amountVariability Enumeration = OPTIONAL
Indicates if all the payments within the agreement use the same amount or if the amount differs between the payments.
The field must be provided for recurring payment agreements.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FIXED
All payments in the recurring payment agreement have the same amount. Examples include magazine subscriptions or gym memberships.
VARIABLE
The amount for the payments within the recurring payment agreement differs between payments. Examples include usage-based charges like utility or phone bills.
agreement.customData String = OPTIONAL
Additional information requested for the agreement which cannot be passed using other available data fields.
This field must not contain sensitive data.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters, but sensitive data will be rejected
JSON type
String
minimum length
1
maximum length
2048
agreement.expiryDate Date = OPTIONAL
Date at which your agreement with the payer to process payments expires.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
agreement.id String = OPTIONAL
Your identifier for the agreement you have with the payer to process payments.
When you collect cards from your payers and store them for later use, you must provide an agreement ID when you use the stored values for:
- Recurring payments: you have an agreement with the payer that authorizes you to automatically debit their account at agreed intervals for fixed or variable amounts. For example, gym membership, phone bills, or magazine subscriptions.
- Installment payments: you have an agreement with the payer that authorizes you to process multiple payments over an agreed period of time for a single purchase. For example, the payer purchases an item for $1000 and pays for it in four monthly installments.
- Unscheduled: you have an agreement with the payer that authorizes you to process future payments when required. For example, the payer authorizes you to process an account top-up transaction for a transit card when the account balance drops below a certain threshold.
- Industry Practice: you have an agreement with the payer that authorizes you to initiate additional transactions to fulfil a standard business practice related to an original payment initiated by the payer. For example, a delayed charge for use of the hotel mini bar after the payer has checked out or a no show penalty charge when the payer fails to show for a booking.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
agreement.maximumAmountPerPayment Decimal = OPTIONAL
The maximum amount for a single payment in the series as agreed with the payer under your agreement with them.
The amount must be provided in the currency of the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
agreement.minimumAmountPerPayment Decimal = OPTIONAL
The minimum amount for a single payment in the series as agreed with the payer under your agreement with them.
The amount must be provided in the currency of the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
agreement.minimumDaysBetweenPayments Integer = OPTIONAL
The minimum number of days between payments agreed with the payer under your agreement with them.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
9999
agreement.numberOfPayments Integer = OPTIONAL
The number of merchant-initiated payments within the recurring payment agreement.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
999
agreement.paymentFrequency Enumeration = OPTIONAL
The frequency of the payments within the series as agreed with the payer under your agreement with them.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AD_HOC
The agreement if for payments on an ah-hoc basis.
DAILY
The agreement if for a daily payment.
FORTNIGHTLY
The agreement if for a fortnightly payment.
MONTHLY
The agreement if for a monthly payment.
OTHER
The agreement is for payments according to a schedule other than the ones listed in the other enumeration values for this field.
QUARTERLY
The agreement if for a quarterly payment.
TWICE_YEARLY
The agreement if for a payment twice a year.
WEEKLY
The agreement if for a weekly payment.
YEARLY
The agreement if for a yearly payment.
agreement.retailer = OPTIONAL
For an installment agreement where the payer purchased goods and/or services from a retailer but entered an installment agreement to pay for this purchase with you, you must provide details about the retailer.
Fixed value
agreement.retailer.abbreviatedTradingName String = OPTIONAL
Provide an abbreviation of the retailer's trading name that can be used by the issuer to indicate the retailer on the payer's statement.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10
agreement.retailer.merchantCategoryCode String = OPTIONAL
A 4-digit code used to classify the retailer's business by the type of goods or services it offers.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4
agreement.retailer.tradingName String = OPTIONAL
The retailer's trading name.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
agreement.startDate Date = OPTIONAL
This is the effective start date for the payment agreement.
Cannot be in the past.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
agreement.type Enumeration = OPTIONAL
The type of commercial agreement that the payer has with you.
Specify the agreement type when you have provided a value for agreement.id and this payment is the first in a series of payments. The default value is OTHER.
The gateway will use the value you specify for subsequent payments in the series.
The gateway will use the value you specify for subsequent payments in the series.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INSTALLMENT
An agreement where the payer authorizes the payment for a single purchase to be split into a number of payments processed at agreed intervals. For example, pay for a purchase in six monthly installments.
OTHER
An agreement where you want to link related payments for any purpose other than processing recurring, installment, or unscheduled payments. For example, split tender payments.
RECURRING
An agreement where the payer authorizes you to process repeat payments for bills or invoices at agreed intervals (for example, weekly, monthly). The amount might be fixed or variable.
UNSCHEDULED
An agreement where the payer authorizes you to automatically deduct funds for a payment for an agreed purchase when required (unscheduled). For example, auto top-ups when the account value falls below a threshold.
airline = OPTIONAL
Airline industry specific data.
Fixed value
airline.bookingReference Alphanumeric = OPTIONAL
The record locator used to access a specific Passenger Name Record (PNR).
PNR is a record in the database of a booking system that contains the itinerary for a passenger, or a group of passengers traveling together.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
6
maximum length
15
airline.documentType Enumeration = OPTIONAL
The type of charge associated with the transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Document Type Code
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ADDITIONAL_COLLECTION
Additional Collection
AGENCY_EXCHANGE_ORDER
Agency Exchange Order
AGENCY_GROUP_TICKET
Agency Group Ticket
AGENCY_MISCELLANEOUS_CHARGE_ORDER
Agency Misc. Charge Order (MCO)
AGENCY_PASSENGER_TICKET
Agency Passenger Ticket
AGENCY_TOUR_ORDER_OR_VOUCHER
Agency Tour Order/Voucher
AIR_FREIGHT
SPD/Air Freight
ANIMAL_TRANSPORTATION_CHARGE
Animal Transportation Charge
CATALOGUE_MERCHANDISE_ORDERED
Catalogue Merchandise Ordered
CLUB_MEMBERSHIP_FEE
Club Membership Fee
COUPON_BOOK
Coupon Book
CREDIT_CLASS_SERVICE_ADJUSTMENT
Credit Class of Service Adjustment
CREDIT_DENIED_BOARDING
Credit Denied Boarding
CREDIT_EXCHANGE_REFUND
Credit Exchange Refund
CREDIT_LOST_TICKET_REFUND
Credit Lost Ticket Refund
CREDIT_MISCELLANEOUS_REFUND
Credit Misc. Refund
CREDIT_MULTIPLE_UNUSED_TICKETS
Credit Multiple Unused Tickets
CREDIT_OVERCHARGE_ADJUSTMENT
Credit Overcharge Adjustment
CREDIT_UNUSED_TRANSPORTATION
Credit Unused Transportation
DEBT_ADJUSTMENT_DUPLICATE_REFUND_OR_USE
Debt Adjustment Duplicate Refund/Use
DUTY_FREE_SALE
Duty Free Sale
EXCESS_BAGGAGE
Excess Baggage
EXCHANGE_ADJUSTMENT
Exchange Adjustment
EXCHANGE_ORDER
Exchange Order
FIREARMS_CASE
Firearms Case
FREQUENT_FLYER_FEE_OR_PURCHASE
Frequent Flyer Fee/Purchase
FREQUENT_FLYER_FULFILLMENT
Frequent Flyer Fulfillment
FREQUENT_FLYER_OVERNIGHT_DELIVERY_CHARGE
Frequent Flyer Overnight Delivery Charge
GROUP_TICKET
Group Ticket
IN_FLIGHT_ADJUSTMENT
In-flight Adjustment
IN_FLIGHT_CHARGES
In-flight Charges
IN_FLIGHT_DUTY_FREE_PURCHASE
In-flight Duty Free Purchase
IN_FLIGHT_MERCHANDISE_ORDERED
In-flight Merchandise Ordered
IN_FLIGHT_PHONE_CHARGES
In-flight Phone Charges
KENNEL_CHARGE
Kennel Charge
LOST_TICKET_APPLICATION
Lost Ticket Application
MISCELLANEOUS_CHARGE_ORDER_OR_PREPAID_TICKET_ADVICE
Misc. Charge Order (MCO) / Prepaid Ticket Auth.
MISCELLANEOUS_TAXES_FEES
Miscellaneous Tax(es) Fee(s)
PASSENGER_TICKET
Passenger Ticket
SELF_SERVICE_TICKETS
Self-Service Ticket(s)
SENIOR_CITIZEN_DISCOUNT_BOOKLETS
Senior Citizen Discount Booklets
SMALL_PACKAGE_DELIVERY
Small Package Delivery
SPECIAL_SERVICE_TICKET
Special Service Ticket
SUPPORTED_REFUND
Supported Refund
TICKET_BY_MAIL
Ticket by Mail
TOUR_DEPOSIT
Tour Deposit
TOUR_ORDER_VOUCHER
Tour Order Voucher
UNDERCHARGE_ADJUSTMENT
Undercharge Adjustment
UNSUPPORTED_REFUND
Unsupported Refund
UPGRADE_CHARGE
Upgrade Charge
VENDOR_REFUND_CREDIT
Vendor Refund Credit
VENDOR_SALE
Vendor Sale
airline.itinerary = OPTIONAL
Itinerary details
Fixed value
airline.itinerary.leg[n] = OPTIONAL
Travel leg details.
Fixed value
airline.itinerary.leg[n].carrierCode Regex = OPTIONAL
The 2-character IATA airline code or 3 digit accounting code or both of the airline carrier for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must match regex
JSON type
String
regex
\w{2}|\d{3}|\w{2}/\d{3}
airline.itinerary.leg[n].conjunctionTicketNumber Alphanumeric = OPTIONAL
The ticket containing the coupon for this leg for an itinerary with more than four trip legs.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.itinerary.leg[n].couponNumber Alphanumeric = OPTIONAL
The coupon number on the ticket for the trip leg.
Each trip leg requires a separate coupon. The coupon within the series is identified by the coupon number.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
1
airline.itinerary.leg[n].departureAirport Upper case alphabetic text = OPTIONAL
The 3 character IATA airport code of the departure airport for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.itinerary.leg[n].departureDate Date = OPTIONAL
Date of departure for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
airline.itinerary.leg[n].departureTax Decimal = OPTIONAL
Tax payable on departure for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].departureTime Time = OPTIONAL
Departure time in local time for the departure airport for this trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended time formats, hh:mm[:ss]Z or hh:mm[:ss](+/-)hh[:mm]
JSON type
String
airline.itinerary.leg[n].destinationAirport Upper case alphabetic text = OPTIONAL
The 3 character IATA airport code for the destination airport for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.itinerary.leg[n].destinationArrivalDate Date = OPTIONAL
Arrival date in local time for the destination airport for this trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
airline.itinerary.leg[n].destinationArrivalTime Time = OPTIONAL
Arrival time in local time for the destination airport for this trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended time formats, hh:mm[:ss]Z or hh:mm[:ss](+/-)hh[:mm]
JSON type
String
airline.itinerary.leg[n].endorsementsRestrictions Alphanumeric = OPTIONAL
Restrictions (e.g. non-refundable) or endorsements applicable to the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
20
airline.itinerary.leg[n].exchangeTicketNumber Alphanumeric = OPTIONAL
New ticket number issued when a ticket is exchanged for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.itinerary.leg[n].fare Decimal = OPTIONAL
Total fare payable for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].fareBasis Alphanumeric = OPTIONAL
Code defining the rules forming the basis of the fare (type of fare, class entitlement, etc.)
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
24
airline.itinerary.leg[n].fees Decimal = OPTIONAL
Total fees payable for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].flightNumber Alphanumeric = OPTIONAL
The flight number for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
4
maximum length
6
airline.itinerary.leg[n].stopoverPermitted Boolean = OPTIONAL
Indicates if a stopover is permitted for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.itinerary.leg[n].taxes Decimal = OPTIONAL
Total taxes payable for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].travelClass Alphanumeric = OPTIONAL
The industry code indicating the class of service (e.g. Business, Coach) for the leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
3
airline.itinerary.numberInParty Digits = OPTIONAL
Number of passengers associated with this booking.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
3
airline.itinerary.originCountry Upper case alphabetic text = OPTIONAL
The 3 character ISO 3166-1 alpha-3 country code of the country of origin for the itinerary.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.passenger[n] = OPTIONAL
Passenger details
Fixed value
airline.passenger[n].firstName String = OPTIONAL
First name of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
airline.passenger[n].frequentFlyerNumber String = OPTIONAL
Frequent Flyer or Loyalty Program number for this passenger.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
airline.passenger[n].lastName String = OPTIONAL
Last name of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
airline.passenger[n].middleName String = OPTIONAL
Middle name of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
airline.passenger[n].specificInformation Alphanumeric = OPTIONAL
Passenger specific information recorded on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
59
airline.passenger[n].title String = OPTIONAL
Title of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
airline.planNumber Alphanumeric = OPTIONAL
Plan number supplied by the airline for this booking.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
2
maximum length
2
airline.ticket = OPTIONAL
Ticket details
Fixed value
airline.ticket.conjunctionTicketIndicator Boolean = OPTIONAL
Indicates if a conjunction ticket with additional coupons was issued.
Conjunction ticket refers to two or more tickets concurrently issued to a passenger and which together constitute a single contract of carriage.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.ticket.eTicket Boolean = OPTIONAL
Indicates if an electronic ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.ticket.exchangedTicketNumber Alphanumeric = OPTIONAL
The original ticket number when this is a transaction for an exchanged ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.ticket.issue = OPTIONAL
Ticket issue information.
Fixed value
airline.ticket.issue.address String = OPTIONAL
The address where the ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
16
airline.ticket.issue.carrierCode Regex = OPTIONAL
The 2-character IATA airline code or 3 digit accounting code or both of the airline carrier issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must match regex
JSON type
String
regex
\w{2}|\d{3}|\w{2}/\d{3}
airline.ticket.issue.carrierName Alphanumeric = OPTIONAL
Name of airline carrier issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
25
airline.ticket.issue.city String = OPTIONAL
The city/town where the ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
airline.ticket.issue.country Upper case alphabetic text = OPTIONAL
The 3 character ISO 3166-1 alpha-3 country code of the country where the ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.ticket.issue.date Date = OPTIONAL
The date the ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
airline.ticket.issue.travelAgentCode Alphanumeric = OPTIONAL
Industry code of the travel agent issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
9
airline.ticket.issue.travelAgentName Alphanumeric = OPTIONAL
Name of the travel agent issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
30
airline.ticket.restricted Boolean = OPTIONAL
Indicates if the issued ticket is refundable.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.ticket.taxOrFee[n] = OPTIONAL
Breakdown of the ticket taxes, airport taxes, charges and fees for an airline ticket purchase.The total of the amounts in this group should equal the sum of the airline.ticket.totalFees and airline.ticket.totalTaxes fields.
Fixed value
airline.ticket.taxOrFee[n].amount Decimal = OPTIONAL
The tax, charge or fee amount payable.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.ticket.taxOrFee[n].type Alphanumeric = OPTIONAL
The tax, charge or fee type code as assigned by IATA.
For example, the IATA tax/ charge/ fee type for Passenger Movement Charge (PMC) in Australia is TT1.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
3
maximum length
3
airline.ticket.ticketNumber Alphanumeric = OPTIONAL
The airline ticket number associated with the transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.ticket.totalFare Decimal = OPTIONAL
Total fare for all trip legs on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.ticket.totalFees Decimal = OPTIONAL
Total fee for all trip legs on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.ticket.totalTaxes Decimal = OPTIONAL
Total taxes for all trip legs on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.transactionType Enumeration = OPTIONAL
The type of transaction performed against this airline booking.
Existence
OPTIONAL
Fixed value
Validation Rules
Transaction Type
JSON type
String
Value must be a member of the following list. The values are case sensitive.
EXCHANGE_TICKET
Exchange Ticket
MISCELLANEOUS_CHARGE
Miscellaneous Charge
REFUND
Refund
REVERSAL
Reversal
TICKET_PURCHASE
Ticket Purchase
TOUR_ORDER
Tour Order
apiOperation String =AUTHORIZE FIXED
Existence
FIXED
Fixed value
AUTHORIZE
Validation Rules
Any sequence of zero or more unicode characters.
XSD type
string
authentication = OPTIONAL
Information about how the payer's identity is verified.
For example, using 3-D Secure authentication.
This parameter group include payer authentication options available to you, parameters you need to perform payer authentication for an available method, and the results of payer authentication.
This parameter group include payer authentication options available to you, parameters you need to perform payer authentication for an available method, and the results of payer authentication.
Fixed value
authentication.3ds = OPTIONAL
Information about payer authentication using 3-D Secure authentication.
Only provide these fields if you authenticated the payer using a different 3-D Secure service provider. If you authenticated the payer using the gateway, then provide authentication.transactionId instead.
Parameters in this group apply to both 3-D Secure authentication version 1 and 3-D Secure Authentication version 2.
Depending on the 3-D Secure authentication version applicable you will also need additional parameters:
- 3-D Secure authentication version 1: see the authentication.3ds1 parameter group.
- 3-D Secure authentication version 2: see the authentication.3ds2 parameter group.
Parameters in this group apply to both 3-D Secure authentication version 1 and 3-D Secure Authentication version 2.
Depending on the 3-D Secure authentication version applicable you will also need additional parameters:
- 3-D Secure authentication version 1: see the authentication.3ds1 parameter group.
- 3-D Secure authentication version 2: see the authentication.3ds2 parameter group.
Fixed value
authentication.3ds.acsEci Alphanumeric = OPTIONAL
Indicates the security level of the transaction.
This is the Electronic Commerce Indicator (ECI) value provided by the issuer's Access Control Server (ACS) to indicate the results of the attempt to authenticate the payer.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
2
authentication.3ds.authenticationToken Base64 = OPTIONAL
The base64 encoded value generated by the issuer.
The authentication token Included in subsequent transaction request messages and used by the card scheme to verify that the authentication occurred and the values provided are valid. The token should be used unaltered.
For 3DS version 1, this field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.
For 3DS version 2, this field corresponds to the Authentication Value.
For 3DS version 2, this field corresponds to the Authentication Value.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is Base64 encoded
JSON type
String
allowable lengths
28 or 32
authentication.3ds.transactionId String = OPTIONAL
A unique identifier for the 3-D Secure authentication transaction.
For 3DS version 1, this field corresponds to the XID. The XID is an identifier generated by the gateway on behalf of the merchant.
For 3DS version 2, this field corresponds to the identifier assigned by the scheme directory server.
This identifier should be used in subsequent operation requests unaltered.
An XID submitted in this field must be in base64 format.
For 3DS version 2, this field corresponds to the identifier assigned by the scheme directory server.
This identifier should be used in subsequent operation requests unaltered.
An XID submitted in this field must be in base64 format.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
authentication.3ds1 = OPTIONAL
Information about payer authentication using 3-D Secure authentication version 1.
Only provide these fields if you authenticated the payer using a different 3-D Secure service provider. If you authenticated the payer using the gateway, then provide authentication.transactionId instead.
Fixed value
authentication.3ds1.paResStatus Alpha = OPTIONAL
Indicates the result of payer authentication with the issuer.
This is the value returned in the transaction status field of the Payer Authentication Response (PARes) message from the card Issuer's Access Control Server (ACS). For example, Y, N, A, or U.
Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1
authentication.3ds1.veResEnrolled Alpha = OPTIONAL
Indicates whether or not payer authentication is available for the card number you provided.
This is for experts only - most users should use the response.gatewayRecommendation field.
This is the value returned in the 'enrolled' field of the Verify Enrollment Response (VERes) message from the card scheme's Directory Server. For example, Y, N, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
This is the value returned in the 'enrolled' field of the Verify Enrollment Response (VERes) message from the card scheme's Directory Server. For example, Y, N, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1
authentication.3ds2 = OPTIONAL
Information about payer authentication using 3-D Secure authentication version 2.
Only provide these fields if you authenticated the payer using a different 3-D Secure service provider. If you authenticated the payer using the gateway, then provide authentication.transactionId instead.
Fixed value
authentication.3ds2.acsReference String = OPTIONAL
Reference number assigned to the issuer's Access Control Server (ACS) by EMV Co upon approval of the ACS.
This field corresponds to EMVCo field acsReferenceNumber.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
32
authentication.3ds2.acsTransactionId String = OPTIONAL
A unique transaction identifier assigned by the Access Control Server to identify the 3DS transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
36
maximum length
36
authentication.3ds2.authenticationScheme Enumeration = OPTIONAL
The EMV 3DS authentication scheme that was used to process the authentication request.
You must provide this field for co-branded card transactions that were authenticated outside MPGS using an external 3DS provider.
For example, for externally authenticated Mada co-branded transactions, you must provide either MADA, MASTERCARD or VISA to specify the 3DS directory server.
For example, for externally authenticated Mada co-branded transactions, you must provide either MADA, MASTERCARD or VISA to specify the 3DS directory server.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX
for American Express SafeKey EMV 3DS authentications
CARTE_BANCAIRE
for FAST'R by CB EMV 3DS authentications
DISCOVER
for Diners Club/Discover ProtectBuy EMV 3DS authentications
ITMX
for ITMX LSS EMV 3DS authentications
JCB
for JCB J/Secure EMV 3DS authentications
MADA
for mada secure EMV 3DS authentications
MASTERCARD
for Mastercard Identity Check EMV 3DS authentications
VISA
for Visa Secure EMV 3DS authentications
authentication.3ds2.custom JSON Text = OPTIONAL
Additional information returned by the scheme or issuer in the authentication response that must be included (together with the standard authentication details) when submitting the transaction for processing by the acquirer.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is valid Json Format
JSON type
String
minimum length
1
maximum length
4000
authentication.3ds2.dsReference String = OPTIONAL
Reference number assigned to the Directory Server (DS) by EMV Co upon approval of the DS.
This field corresponds to EMVCo field dsReferenceNumber.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
32
authentication.3ds2.protocolVersion Alphanumeric + additional characters = OPTIONAL
The version of the EMV 3-D Secure protocol used to perform 3-D Secure authentication, in the format specified by EMVCo.
For example, 2.1.0
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '.'
JSON type
String
minimum length
1
maximum length
20
authentication.3ds2.statusReasonCode String = OPTIONAL
A code indicating the reason for the transaction status returned in authentication.3ds2.transactionStatus.
Refer to the EMVCo specification for 3-D Secure.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
2
maximum length
2
authentication.3ds2.transactionStatus Alpha = OPTIONAL
Indicates the result of payer authentication with the issuer.
This is the value returned in the transaction status field from the issuer's Access Control Server (ACS). For example, Y, N, U, A, R
Refer to the EMVCo specification for 3-D Secure.
Refer to the EMVCo specification for 3-D Secure.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1
authentication.amount Decimal = OPTIONAL
The amount for which the payer authentication has been performed.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
authentication.psd2 = OPTIONAL
This parameter group is only applicable if you are subject to the Regulatory Technical Standards (RTS) requirements for Strong Customer Authentication (SCA) under the Payment Services Directive 2 (PSD2) regulations in the European Economic Area.
It provides details about SCA exemptions under PSD2.
Fixed value
authentication.psd2.exemption Enumeration = OPTIONAL
Indicates why this payment qualifies for exemption from Strong Customer Authentication (SCA) under the Payment Services Directive 2 (PSD2).
Note:
- For recurring payments provide the RECURRING_PAYMENT value only if the amount is the same. If the amount varies, provide MERCHANT_INITIATED_TRANSACTION instead.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTO
If either a LOW_RISK or LOW_VALUE_PAYMENT or TRUSTED_MERCHANT exemption applies to the transaction, it is automatically claimed by the gateway on behalf of the merchant.
LOW_RISK
Exemption is claimed because the acquirer has a low fraud rate.
LOW_VALUE_PAYMENT
Exemption is claimed as the amount is below 30 Euro.
MERCHANT_INITIATED_TRANSACTION
The transaction is excluded as it was initiated by the merchant based on an agreement with the payer. For example, a recurring payment (for a varied or fixed amount), installment payment, or account top-up. In these cases, the payer is not present and cannot participate in an authentication interaction. Merchant initiated transactions are only applicable to subsequent transactions on the order and are out of scope of the PSD2 RTS on Strong Customer Authentication (SCA). The payer must be authenticated during the first transaction that established the agreement.
NONE
An exemption is not claimed for this transaction. The merchant requires Strong Customer Authentication (SCA) be performed.
RECURRING_PAYMENT
The transaction is exempt as it was initiated by the merchant based on an agreement with the payer for a recurring payment for a fixed amount. This value is only applicable to subsequent transactions on the order. In this case, the payer is not present and cannot participate in an authentication interaction. The payer must be authenticated during the first transaction that established the agreement.
SECURE_CORPORATE_PAYMENT
The transaction is exempt as it is a corporate or Business-to-Business (B2B) payment performed using dedicated payment processes and protocols that are not available to consumers and offer at least equivalent security levels.
TRUSTED_MERCHANT
The transaction is exempt because the payer has added you to the list of their trusted merchants (as maintained by the issuer).
authentication.time DateTime = OPTIONAL
Date and time of the payer authentication being performed.
Existence
OPTIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String
authentication.transactionId String = OPTIONAL
The transactionId you used for the Initiate Authentication operation.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
billing = OPTIONAL
Details of the payer's billing address.
Fixed value
billing.address = OPTIONAL
The payer's billing address.
This data may be used to qualify for better interchange rates on corporate purchase card transactions.
Fixed value
billing.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
billing.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
billing.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
billing.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
billing.address.stateProvince String = OPTIONAL
The state or province of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
billing.address.stateProvinceCode String = OPTIONAL
The three character ISO 3166-2 country subdivision code for the state or province of the address.
Providing this field might improve your payer experience for 3-D Secure payer authentication.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3
billing.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
billing.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
constraints = OPTIONAL
Information about any constraints that apply to this transaction.
Specify constraints to ensure that the transaction conforms to predefined criteria. This is useful if your integration does not directly collect all the transaction values (e.g. a session-based integration or a checkout integration).
Fixed value
constraints.paymentPlans = OPTIONAL
Information about the payment plan constraints which apply for this transaction.
Specify payment plan constraints to restrict the available payment plan options for this transaction.
Fixed value
constraints.paymentPlans.deferralPeriod Integer = OPTIONAL
The allowable number of deferral months for the payment plan.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
0
maximum value
99
constraints.paymentPlans.numberOfPayments Integer = OPTIONAL
The allowable number of installments for the payment plan.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
99
constraints.paymentPlans.supported[n] String = OPTIONAL
The identifiers for the payment plans supported for this transaction.
If you wish to offer any payment plans to the payer, provide the plan identifiers in this field else pass it as empty.
See Payment Plans for the supported payment plans and their identifiers.
See Payment Plans for the supported payment plans and their identifiers.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
correlationId String = OPTIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
cruise = OPTIONAL
Cruise industry data.
Fixed value
cruise.bookingReference String = OPTIONAL
The cruise booking reference.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
12
cruise.company = OPTIONAL
Information about the cruise line.
Fixed value
cruise.company.contact = OPTIONAL
Contact details of the cruise line.
Fixed value
cruise.company.contact.companyPhone Telephone Number = OPTIONAL
The cruise line registered office telephone number in ITU-T E123 format.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
cruise.company.contact.customerServicePhone Telephone Number = OPTIONAL
The customer service phone number in ITU-T E123 format.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
cruise.departureDate Date = OPTIONAL
The cruise departure/ sail date.
This field is required when cruise industry data is provided.
This field is required when cruise industry data is provided.
The value entered must be equal to or earlier than cruise.returnDate.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
cruise.departurePort = OPTIONAL
A departurePort is the port where the passenger(s) boarded the cruise ship when the cruise trip started
Fixed value
cruise.departurePort.address = OPTIONAL
Address of the cruise line.
Fixed value
cruise.departurePort.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
cruise.departurePort.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
cruise.departurePort.address.postCodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
cruise.departurePort.address.stateProvinceCode String = OPTIONAL
The state or province code of the address.
The value must match the second part of the ISO 3166-2 code. For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP. For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3
cruise.departurePort.address.street String = OPTIONAL
The first line of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
cruise.departurePort.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
cruise.passenger[n] = OPTIONAL
Cruise passenger details.
Fixed value
cruise.passenger[n].firstName String = OPTIONAL
The first name of the passenger.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
cruise.passenger[n].folioNumber String = OPTIONAL
The folio number assigned to the passenger.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30
cruise.passenger[n].lastName String = OPTIONAL
The last name of the passenger.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
cruise.passenger[n].middleName String = OPTIONAL
The middle name of the passenger.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
cruise.passenger[n].title String = OPTIONAL
The title of the passenger.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
cruise.returnDate Date = OPTIONAL
The cruise return/ sail end date.
This field is required when cruise.departureDate is provided and the value must be equal to or later than cruise.departureDate.
This field is required when cruise.departureDate is provided and the value must be equal to or later than cruise.departureDate.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
cruise.shipName String = OPTIONAL
The name of the cruise ship.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
cruise.travelAgentCode Alphanumeric = OPTIONAL
The industry code of the travel agent booking the cruise.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
9
cruise.travelAgentName String = OPTIONAL
The name of the travel agent booking the cruise.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30
cruise.travelPackageItems Comma separated enumeration = OPTIONAL
A comma separated list of the travel items that are included as part of a cruise travel package.
If the value CRUISE_ONLY is provided then other items are not permitted in the list.
If the value CRUISE_ONLY is provided then other items are not permitted in the list.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be one or more comma separated members of the following list. The values are case sensitive.
CAR_RENTAL
Car rental is included in the travel package.
CRUISE_ONLY
No additional items are included in the cruise travel package.
FLIGHT
Flights are included in the travel package.
currencyConversion = OPTIONAL
Information specific to the use of dynamic currency conversion (DCC).
If you requested a rate quote via the gateway, provide the requestId as returned in the PAYMENT_OPTIONS_INQUIRY response. For rate quote requests performed outside the gateway, you must at least provide payer amount, payer currency, provider and payer exchange rate.
You can only provide DCC information on the initial transaction for an order.
If the initial transaction for an order is a payer authentication transaction with DCC information and the subsequent authorization or pay transaction contains different DCC information, that authorization or pay transaction will be rejected.
If DCC information is provided on subsequent capture or refund for an order, it will be ignored.
You can only provide DCC information on the initial transaction for an order.
If the initial transaction for an order is a payer authentication transaction with DCC information and the subsequent authorization or pay transaction contains different DCC information, that authorization or pay transaction will be rejected.
If DCC information is provided on subsequent capture or refund for an order, it will be ignored.
Fixed value
currencyConversion.exchangeRateTime DateTime = OPTIONAL
The timestamp of when the conversion rate is effective.
The timestamp may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
OPTIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String
currencyConversion.marginPercentage Decimal = OPTIONAL
The foreign exchange markup applied as a percentage to the transaction amount for providing the conversion service.
The margin percentage may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
8
currencyConversion.payerAmount Decimal = OPTIONAL
The total amount of the transaction in the payer's currency.
You must include this field if the payer accepted the DCC offer you presented to them.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
currencyConversion.payerCurrency Upper case alphabetic text = OPTIONAL
The currency of the DCC rate quote provided by your DCC Service Provider.
The currency must be expressed as an ISO 4217 alpha code, e.g. USD and must be different to that provided for transaction currency. You must include this field if the payer accepted the DCC offer you presented to them.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
currencyConversion.payerExchangeRate Decimal = OPTIONAL
The exchange rate used to convert the transaction amount into the payer's currency.
The payer exchange rate includes the foreign exchange markup (marginPercentage). The payer exchange rate is displayed to the payer on the merchant site.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
19
currencyConversion.provider Enumeration = OPTIONAL
This identifies the name of the provider of the DCC quote.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FEXCO
currencyConversion.providerReceipt String = OPTIONAL
The quote provider's unique reference to the rate quote.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
currencyConversion.requestId String = OPTIONAL
The unique identifier for your DCC quote request as returned in the PAYMENT_OPTIONS_INQUIRY response.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
currencyConversion.uptake Enumeration = OPTIONAL
Indicates how DCC applies to the order.
If not provided, this value defaults to NOT_REQUIRED.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
The payer accepted the DCC offer and pays in their own currency. The conditions of the rate quote are applied in the processing of this transaction.
DECLINED
The payer declined the DCC offer and pays in your transaction currency.
NOT_AVAILABLE
A rate quote was requested, but no DCC offer was provided. For rate quotes via the gateway the PAYMENT_OPTION_INQUIRY response contains a currencyConversion.gatewayCode other than QUOTE_PROVIDED.
NOT_REQUIRED
DCC is not required for this transaction.
customer = OPTIONAL
Information about the customer, including their contact details.
Fixed value
customer.account.id String = OPTIONAL
Your identifier for the payer's account with you.
This should be an immutable identifier, rather than the customer's name, email or such data that could be changed by the customer.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
customer.email Email = OPTIONAL
The email address of the customer.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
JSON type
String
customer.firstName String = OPTIONAL
The payer's first name.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
customer.identification = OPTIONAL
Identification of the payer.
This information is used to identify the sender in account funding transactions.
Fixed value
customer.identification.country Upper case alphabetic text = OPTIONAL
The ISO 3166 three-letter country code of the issuer of the identification.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
customer.identification.type Enumeration = OPTIONAL
The type of identification provided for the customer.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ALIEN_REGISTRATION_NUMBER
The customer's identification type is an alien registration number issued by U.S. Citizenship and Immigration Services (USCIS) to immigrants who apply to live in the United States.
BUSINESS_TAX_ID
The customer's identification type is a business tax id which is assigned to the business entity by the tax department.
COMPANY_REGISTRATION_NUMBER
The customer's identification type is company registration number which is issued to the company at the time of its incorporation.
CUSTOMER_IDENTIFICATION
The customer's identification type is an unspecified form of customer identification through which the customer can identified and verified.
DATE_OF_BIRTH
The customer's identification type is date of birth.
DRIVERS_LICENSE
The customer's identification type is a driving license.
EMAIL
The customer's identification type is an email address.
GOVERNMENT_ISSUED
The customer's identification type is government issued.
INDIVIDUAL_TAX_ID
The customer's identification type is an individual tax id which is assigned to the individual by the tax department.
LAW_ENFORCEMENT_IDENTIFICATION
The customer's identification type is a law enforcement identification.
MILITARY_IDENTIFICATION
The customer's identification type is a military identification which is issued by the department of defense and military.
NATIONAL_IDENTIFICATION_CARD
The customer's identification type is a national identification card issued by the customer's country.
OTHER
The customer's identification type cannot be classified using any of the other categories. This is the default value.
PASSPORT
The customer's identification type is a passport.
PHONE_NUMBER
The customer's identification type is a phone number.
PROXY_IDENTIFICATION
The customer's identification type is proxy identification.
SOCIAL_SECURITY_NUMBER
The customer's identification type is a social security number issued by Social Security Administration (SSA) to U.S. citizens, permanent residents and eligible non-immigrant workers in United States.
TRAVEL_IDENTIFICATION
The customer's identification type is travel document other than a passport.
customer.identification.value String = OPTIONAL
The identification value/number for the type of identification provided in customer.identification.type.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
customer.lastName String = OPTIONAL
The payer's last or surname.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
customer.middleName String = OPTIONAL
The payer's middle name.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
customer.mobilePhone Telephone Number = OPTIONAL
The payer's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
customer.phone Telephone Number = OPTIONAL
The payer's phone number in ITU-T E123 format, for example +1 607 1234 456
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
customer.taxRegistrationId String = OPTIONAL
The tax registration identifier of the customer.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30
debtRepayment = OPTIONAL
Additional details for debt repayment transactions (order.purchaseType=DEBT_REPAYMENT).
If your Merchant Category Code is 6012 (Merchandise and Services—Customer Financial Institutions) or 6051 ( (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency)) you may be required to provide some or all the details in this parameter group.
Fixed value
debtRepayment.recipient = OPTIONAL
Details about the recipient of the payment and the destination account for the payment.
Fixed value
debtRepayment.recipient.accountIdentifier String = COMPULSORY
The account identifier for the payment recipient's account.
For payments into a card account provide the card number. For payments into other accounts (for example a bank account) provide the account number. The value provided will be returned masked in the response.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
debtRepayment.recipient.dateOfBirth Date = COMPULSORY
The date of birth of the primary payment recipient in yyyy-mm-dd format.
Existence
COMPULSORY
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
debtRepayment.recipient.lastName String = COMPULSORY
Last name of the primary payment recipient.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
debtRepayment.recipient.postcodeZip String = COMPULSORY
Postcode of the primary payment recipient.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10
device = OPTIONAL
Information about the device used by the payer for this transaction.
Fixed value
device.ani String = OPTIONAL
The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10
device.aniCallType String = OPTIONAL
The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2
device.browser String = OPTIONAL
The User-Agent header of the browser the customer used to place the order.
For example, MOZILLA/4.0 (COMPATIBLE; MSIE 5.0; WINDOWS 95)
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2048
device.fingerprint String = OPTIONAL
Information collected about a remote computing device for the purpose of providing a unique identifier for the device.
For example, session ID, blackbox ID.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000
device.hostname String = OPTIONAL
The name of the server to which the customer is connected.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
60
device.ipAddress String = OPTIONAL
The IP address of the device used by the payer, in IPv4 nnn.nnn.nnn.nnn format.
You can provide the IP address in IPv6 format as defined in RFC4291.
IPv6 address will only be used in EMV 3DS authentication. Supplied IPv6 address will not be used for any other purposes.
IPv6 address will only be used in EMV 3DS authentication. Supplied IPv6 address will not be used for any other purposes.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
7
maximum length
45
device.mobilePhoneModel String = OPTIONAL
The mobile phone manufacturer's identifier for the model of the mobile device used to initiate the payment.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255
initiator.userId String = OPTIONAL
The person who initiated this transaction.
This field is automatically populated by the gateway if the transaction was created via Merchant Administration (gatewayEntryPoint=MERCHANT_ADMINISTRATION) or Merchant Manager (MERCHANT_MANAGER).
In this case this is the name that the person used to log in to Merchant Administration or Merchant Manager respectively.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
256
order = COMPULSORY
Information about the order associated with this transaction.
Fixed value
order.acceptPartialAmount Boolean = OPTIONAL
Indicates whether you will accept a payment less than order.amount, e.g. when using a gift card.
If not set or set to FALSE, and the full amount is not available, the transaction will be rejected.
Unless you have been advised by your payment service provider that the gateway supports partial approvals for your acquirer, you can ignore this field.
If the gateway supports partial approvals for your acquirer you must set this field to TRUE else the transaction is rejected by the gateway.
Unless you have been advised by your payment service provider that the gateway supports partial approvals for your acquirer, you can ignore this field.
If the gateway supports partial approvals for your acquirer you must set this field to TRUE else the transaction is rejected by the gateway.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
order.amount Decimal = OPTIONAL
The total amount for the order. This is the net amount plus any merchant charge amounts.If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount, order.merchantCharge.amount and order.dutyAmount), minus the order.discountAmount must equal the net amount.
The value of this field in the response is zero if payer funds are not transferred.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.cashAdvance Boolean = OPTIONAL
Set this flag if the transaction is a manual cash disbursement transaction, i.e. cash is disbursed upon the acceptance of a card by a financial institution teller.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
String
order.cashbackAmount Decimal = OPTIONAL
The amount the payer has chosen to receive as cash in addition to the amount they are paying for the goods or services they are purchasing from you.
The cash back amount is included in the total amount of the order you provide in order.amount.
This field corresponds to EMV tag 9F03
This field corresponds to EMV tag 9F03
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.certainty Enumeration = OPTIONAL
Indicates if you expect to capture the full order amount for which you are requesting authorization.
If you do not provide a value for order.certainty the default configured for you by your payment service provider will be used.
The value provided in the response shows the value the gateway sent to the acquirer
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ESTIMATED
The amount authorized is an estimate of the amount that will be captured. It is possible that the amount captured will be less, or might not be captured at all.
FINAL
The full authorized amount is expected to be captured within the mandated time. The order will only be cancelled in exceptional circumstances (for example, the payer cancelled their purchase).
order.currency Upper case alphabetic text = COMPULSORY
The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.
Existence
COMPULSORY
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.custom String = OPTIONAL
Information about this order that is of interest to you.
For example order.custom.X, where 'X' is defined by you and must be less than 100 characters from the set A-Z, a-z, 0-9. For example, order.custom.salesRegion. You can specify up to 50 such fields. They are not sent to acquirers.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250
order.customerNote String = OPTIONAL
A note from the payer about this order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250
order.customerOrderDate Date = OPTIONAL
The date the payer placed the order.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
order.customerReference ASCII Text = OPTIONAL
The payer's own reference for the order.
This reference may assist the payer to identify the order in their system. For example, a purchase order number, project identifier, or cost center.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
25
order.description String = OPTIONAL
Short textual description of the contents of the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127
order.discount = OPTIONAL
Information about a price reduction you have applied to the order.
For example, you may apply discounts for trade, employees, bulk purchase, or a sales promotion.
Fixed value
order.discount.amount Decimal = OPTIONAL
The total amount of the discount you have applied to the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.discount.code String = OPTIONAL
The code you use to identify the reason for the discount.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
order.discount.description String = OPTIONAL
A description of your reason for the discount.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127
order.dutyAmount Decimal = OPTIONAL
The duty amount (also known as customs tax, tariff or dues) for the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
order.gratuityAmount Decimal = OPTIONAL
The amount the payer has chosen to provide as a gratuity or tip in addition to the amount they are paying for the goods or services they are purchasing from you.
The gratuity amount is included in the total amount of the order you provide in order.amount.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.industryPracticePaymentReason Enumeration = OPTIONAL
This field is used to classify merchant initiated payments which are submitted in the context of certain industry practices.
Use this field to indicate the reason for that industry practice payment.
A merchant initiated industry practice transaction must also contain the 'scheme transaction Id' from the associated cardholder initiated transaction.
You can provide the referenceOrderId of the relevant cardholder initiated transaction and the gateway will include the 'scheme transaction Id' on the industry practice transaction. For example, when you submit a 'delayed charge', you should provide the referenceOrderId of the cardholder-initiated transaction that resulted in the delayed charge.
Alternatively, you can provide the 'scheme transaction Id' of the cardholder initiated transaction in the industry practice transaction using the field transaction.acquirer.traceId.
You must have obtained the payer's consent prior to submitting industry practice transactions.
A merchant initiated industry practice transaction must also contain the 'scheme transaction Id' from the associated cardholder initiated transaction.
You can provide the referenceOrderId of the relevant cardholder initiated transaction and the gateway will include the 'scheme transaction Id' on the industry practice transaction. For example, when you submit a 'delayed charge', you should provide the referenceOrderId of the cardholder-initiated transaction that resulted in the delayed charge.
Alternatively, you can provide the 'scheme transaction Id' of the cardholder initiated transaction in the industry practice transaction using the field transaction.acquirer.traceId.
You must have obtained the payer's consent prior to submitting industry practice transactions.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DELAYED_CHARGE
An additional payment processed in accordance with your terms and conditions after the original payment has been processed. For example, hotel mini bar charge after the payer has checked out or damage to a rental car.
NO_SHOW_PENALTY
A penalty charged in accordance with your charge cancellation policy the payer cancels or fails to show for the booking.
PARTIAL_SHIPMENT
A shipment where merchant decides to ship the goods from the same order in multiple shipments due to various reasons like goods availability, involvement of multiple suppliers for goods etc.
order.invoiceNumber String = OPTIONAL
The invoice number you issued for this order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
25
order.localTaxRegistrationId String = OPTIONAL
Your tax registration identifier provided by the Local/State/Province tax authority.
If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Provincial Sales Tax (PST).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
25
order.marketplace = OPTIONAL
Use this parameter group to provide additional information if you are a marketplace.You are considered a marketplace if you operate an electronic commerce website or mobile application that brings together payers and retailers and you are selling the goods or services on behalf of the retailer.In this case, the card schemes may require you to register with them as a marketplace and assign you a Marketplace ID.
You should provide this identifier to your payment service provider so that the gateway can automatically include it in all transaction messages to your acquirer.
Fixed value
order.marketplace.retailerLocation Enumeration = OPTIONAL
Provide information about the location of the retailers for goods or services included in this order.Where a retailer is located in a country different from your country, they are considered a foreign retailer, otherwise they are considered a domestic retailer.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DOMESTIC_ONLY
The order only contains items from domestic retailers.
FOREIGN_AND_DOMESTIC
The order contains items from both foreign and domestic retailers.
FOREIGN_ONLY
The order only contains items from foreign retailers.
order.merchantCategoryCode Digits = OPTIONAL
A 4-digit code used to classify your business by the type of goods or services it offers.This is also known as the Merchant Category Code (MCC).
You only need to provide the MCC if you want to override the default value configured for your acquirer link.The value you provide must match one of those configured by your payment service provider.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
4
order.merchantCharge = OPTIONAL
Information about additional fees that you are charging the payer for processing the payment for this order, for example, a surcharge.
Fixed value
order.merchantCharge.amount Decimal = OPTIONAL
The amount of the additional fee that you are charging the payer.
If you provide a charge amount, you must include it in the total amount for the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.merchantCharge.type Enumeration = COMPULSORY
The type of the additional fee that you are charging the payer.
Existence
COMPULSORY
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
SURCHARGE
A fee that covers your cost of accepting accepting a payment method.
order.netAmount Decimal = OPTIONAL
The amount payable for the order before merchant charge amount is applied.
If you specify a net amount the gateway will calculate the merchant charge amount for you based on the charge type (order.merchantCharge.type) provided in the request. Alternatively, you can specify the merchant charge amount (order.merchantCharge.amount) yourself.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.notificationUrl Url = OPTIONAL
The URL to which the gateway will send Webhook notifications when an order is created or updated.
To receive notifications at this URL, you must enable Webhook notifications in Merchant Administration. Ensure the URL is HTTPS
Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String
order.owningEntity String = OPTIONAL
Your identifier for the part of your organization that is responsible for the order.
You might provide this data when you want to track the accountability for the order. For example, store number, sales region, branch, or profit center
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
order.purchaseType Enumeration = OPTIONAL
Indicates the purchase of specific types of goods or services.
You must provide a value if your Merchant Category Code (MCC) is one of the following:
6051 (Quasi Cash – Merchant or Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for the purchase of cryptocurrency. Set the value to CRYPTOCURRENCY.
6211 (Securities – Brokers/Dealers) and this transaction is for the purchase of high-risk securities. Set the value to HIGH_RISK_SECURITIES.
6012 (Merchandise and Services—Customer Financial Institutions) or 6051 (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for debt repayment. Set the value to DEBT_REPAYMENT.
If the transaction pulls money from an account for the purpose of crediting another account you must set purchase type to ACCOUNT_FUNDING.
You may set purchase type to OTHER for any other type of payment.
6051 (Quasi Cash – Merchant or Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for the purchase of cryptocurrency. Set the value to CRYPTOCURRENCY.
6211 (Securities – Brokers/Dealers) and this transaction is for the purchase of high-risk securities. Set the value to HIGH_RISK_SECURITIES.
6012 (Merchandise and Services—Customer Financial Institutions) or 6051 (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for debt repayment. Set the value to DEBT_REPAYMENT.
If the transaction pulls money from an account for the purpose of crediting another account you must set purchase type to ACCOUNT_FUNDING.
You may set purchase type to OTHER for any other type of payment.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCOUNT_FUNDING
The transaction pulls money from an account for the purpose of crediting another account.
You may be required to provide additional details about the account funding transaction in the accountFunding parameter group.
CRYPTOCURRENCY
The transaction is for the purchase of a cryptocurrency.
DEBT_REPAYMENT
You may be required to provide additional details about the debt repayment in the debtRepayment parameter group.
HIGH_RISK_SECURITIES
The transaction is for the purchase of high-risk securities.
OTHER
Use this value if the purchase type for the transaction does not fit in any of the other categories.
order.reference String = OPTIONAL
The identifier of the order.
For example, a shopping cart number, an order number, or an invoice number.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
order.requestorName String = OPTIONAL
The name of the person who requested the goods or services.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.reward = OPTIONAL
Information about reward points earned using a card enrolled in a rewards program that are being redeemed as full or part payment for this order.
Fixed value
order.reward.amount Decimal = OPTIONAL
The amount that the payer has chosen to pay by redeeming reward points earned using a card enrolled in a rewards program for full or part payment for this purchase.
The reward amount is included in the total amount of the order you provide in order.amount.You must provide this value if the rewards program supports a payer-nominated amount (availableBalance.reward.payerNominatedAmount returned from the Balance Inquiry operation has a value of 'true').
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.reward.balanceId Alphanumeric + additional characters = COMPULSORY
An identifier generated by the gateway when you have requested the balance available for a credit or debit card.
The presence of this field indicates that rewards are to be redeemed.The gateway will use the details stored against this identifier when authorizing the payment with your acquirer.
Existence
COMPULSORY
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_', ' ', '&', '+', '!', '$', '%', '.', '='
JSON type
String
minimum length
1
maximum length
100
order.shippingAndHandlingAmount Decimal = OPTIONAL
The total shipping and handling amount for the order, including taxes on the shipping and/or handling.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.shippingAndHandlingTaxAmount Decimal = OPTIONAL
The tax amount levied on the shipping and handling amount for the order.
This amount is included in the shipping and handling amount provided in field order.shippingAndHandlingAmount.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
order.shippingAndHandlingTaxRate Decimal = OPTIONAL
The tax rate applied to the shipping and handling amount for the order to determine the shipping and handling tax amount.
For a tax rate of 2.5% provide 0.025.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
4
order.statementDescriptor = OPTIONAL
Contact information provided by you for printing on payer's account statements.
Fixed value
order.statementDescriptor.address = OPTIONAL
Descriptor address of the merchant.
Fixed value
order.statementDescriptor.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.statementDescriptor.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
order.statementDescriptor.address.stateProvince String = OPTIONAL
The state or province code of the address.
For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP.
For an address in Canada provide the 2-letter ISO 3166-2 province code.
For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.statementDescriptor.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.name String = OPTIONAL
Descriptor name of the merchant.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.phone String = OPTIONAL
Descriptor phone number of the merchant's business.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.subMerchant = OPTIONAL
Provide these parameters if you are a payment aggregator or facilitator and process payments on behalf of other merchants.
These merchants are referred to as your sub-merchants.
The sub-merchant's details you provide may be displayed on the payer's cardholder statement.
Note that your acquirer may require you to register with the card scheme(s) before allowing you to submit sub-merchant details with a transaction.
This data must be on the initial transaction of an order, subsequent transactions with sub-merchant will be rejected.
Fixed value
order.subMerchant.address = OPTIONAL
The sub-merchant's address.
Fixed value
order.subMerchant.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.subMerchant.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
order.subMerchant.address.stateProvince String = OPTIONAL
The state or province code of the address.
For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP.
For an address in Canada provide the 2-letter ISO 3166-2 province code.
For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.subMerchant.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.bankIndustryCode Digits = OPTIONAL
Code used by acquirer to describe the business or industry the sub-merchant operates in.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
4
order.subMerchant.disputeContactPhone Telephone Number = OPTIONAL
Only provide this field if you have received a notification from the scheme that either you or the sub-merchant has a high number of disputes.
In this case, provide a phone number that payers can use to contact the sub-merchant in case of a dispute. Where applicable, the issuer may display this phone number on the cardholder statement.
The phone number must be provided in ITU-T E123 format.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
order.subMerchant.email Email = OPTIONAL
The sub-merchant's email address.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
JSON type
String
order.subMerchant.governmentCountryCode Upper case alphabetic text = OPTIONAL
Only provide this field if the sub merchant is a government owned or controlled merchant.
A sub merchant is considered a government owned or controlled entity (government controlled merchant) if 50% or more of the sub merchant is owned by the government.
Provide the ISO 3166 three-letter country code of the government country where this differs from the sub merchant's physical location country.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.subMerchant.identifier Alphanumeric + additional characters = COMPULSORY
Your identifier for the sub-merchant.
You can use this identifier in searches and reports in the gateway.
Existence
COMPULSORY
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_', ' ', '&', '+', '!', '$', '.'
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.marketplaceId String = OPTIONAL
If the sub merchant is a marketplace, provide the marketplace ID assigned to them by Visa.
A sub merchant is considered a marketplace if they operate a platform (online commerce website or mobile application) where retailers can sell goods and services.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
11
order.subMerchant.phone String = OPTIONAL
The sub-merchant's phone number
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.subMerchant.registeredName String = OPTIONAL
The legal name of the sub-merchant.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.tradingName String = COMPULSORY
The trading name of the sub merchant, also known as doing business as (DBA), operating as or trading as.
For MasterCard transactions the name must not exceed 21 characters.
For American Express transactions the name must not exceed 27 characters (or 36 characters including the aggregator name).
The trading name may be displayed on the payer's cardholder statement. Therefore if you need to shorten it, use an abbreviation that will be meaningful to the payer when displayed on their statement.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.tax[n] = OPTIONAL
Use this parameter group to provide a breakdown of tax types, amount per tax type, and rate per tax type included in order.taxAmount.
Fixed value
order.tax[n].amount Decimal = OPTIONAL
The tax amount included in this order for the tax type.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.tax[n].rate Decimal = OPTIONAL
The tax rate (percentage) used to determine the tax amount included in this order for the tax type.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
6
order.tax[n].type String = OPTIONAL
The type of tax included in the order amount.
The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
order.taxAmount Decimal = OPTIONAL
The total tax amount for the order.
If you do not provide this value but provide line item data, then this amount is calculated as the sum of the item.quantity times the item.unitTaxAmount for all the line items (total tax amount).
If you provide both this value and line item data, then the order.taxAmount MUST equal the total tax amount.
If you provide both this value and line item data, then the order.taxAmount MUST equal the total tax amount.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.taxRegistrationId String = OPTIONAL
Your tax registration identifier provided by the Federal/National tax authority (for example, federal tax identification number, ABN).
If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Harmonized Sales Tax (HST) or Goods and Services Tax (GST) collected by the Canada Revenue Agency.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30
order.taxStatus Enumeration = OPTIONAL
Indicates your tax status for this order.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
EXEMPT
Indicates that you are exempt from tax.
NOT_EXEMPT
Indicates that you are not exempt from tax.
NOT_PROVIDED
Indicates that you are not providing information about being exempt from tax.
order.transactionFiltering = OPTIONAL
Information relevant for Transaction Filtering.
Fixed value
order.transactionFiltering.avsResponseCodeRules[n] = OPTIONAL
Allows you to provide the Address Verification Service (AVS) Response Code Transaction Filtering rules to be applied to the transactions for this order.
If provided, these rules override the AVS Response Code Transaction Filtering rules you have configured in Merchant Administration.
Fixed value
order.transactionFiltering.avsResponseCodeRules[n].action Enumeration = COMPULSORY
The action to be performed for the Address Verification Service (AVS) Response Code.
Existence
COMPULSORY
Fixed value
Validation Rules
The action to be performed for the Address Verification Service (AVS) Response Code.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NO_ACTION
No action should be taken by the gateway.
REJECT
The gateway must reject the transaction.
REVIEW
The gateway must mark this transaction as requiring a review.
order.transactionFiltering.avsResponseCodeRules[n].avsResponseCode Enumeration = COMPULSORY
The Address Verification Service (AVS) Response Code for which you are defining the rule.
Existence
COMPULSORY
Fixed value
Validation Rules
The Address Verification Service (AVS) Response Code for which you are defining the rule.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ADDRESS_MATCH
Street address matched
ADDRESS_ZIP_MATCH
Street address and zip/postcode were matched
NAME_ADDRESS_MATCH
Card holder name and street address matched
NAME_MATCH
Card holder name matched
NAME_ZIP_MATCH
Card holder name and zip/postcode matched
NOT_AVAILABLE
No data available from issuer or AVS data not supported for transaction
NOT_REQUESTED
AVS not requested
NOT_VERIFIED
AVS could not be verified for an international transaction
NO_MATCH
No match
SERVICE_NOT_AVAILABLE_RETRY
Issuer system is unavailable. Retry can be attempted
SERVICE_NOT_SUPPORTED
Service currently not supported by acquirer or merchant
ZIP_MATCH
Zip/postcode matched. Street address not matched
order.walletIndicator String = OPTIONAL
The wallet indicator as returned by the wallet provider.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
3
order.walletProvider Enumeration = OPTIONAL
Details about the source of the payment details used for digital payment methods.
Provide this value when you process payments for:
- • 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.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX_EXPRESS_CHECKOUT
Amex Express Checkout wallet provider.
APPLE_PAY
Apple Pay mobile wallet provider.
CHASE_PAY
Chase Pay wallet provider.
GOOGLE_PAY
Google Pay mobile wallet provider.
MASTERPASS_ONLINE
MasterPass Online wallet provider.
SAMSUNG_PAY
Samsung Pay mobile wallet provider.
VISA_CHECKOUT
Visa Checkout wallet provider.
partnerSolutionId String = OPTIONAL
If, when integrating with the gateway, you are using a solution (e.g. a shopping cart or e-commerce solution) provided, supported or certified by your payment service provider, enter the solution ID issued by your payment service provider here.
If your payment service provider has not provided you with a solution ID, you should ignore this field.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
paymentPlan = OPTIONAL
Information about the payment plan selected by the cardholder.
Payment Plan is a payment option available to cardholders who wish to repay the purchase amount in a number of monthly installments with or without a deferral period.
Fixed value
paymentPlan.offerId Alphanumeric + additional characters = COMPULSORY
The unique identifier of the payment plan offer that the payer has accepted.
The gateway will use the details of this offer for this transaction.
Provide the plan offer ID returned in the PAYMENT_PLAN_OFFERS_INQUIRY response in field
Existence
COMPULSORY
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
JSON type
String
minimum length
1
maximum length
60
posTerminal = OPTIONAL
Information about the device used to initiate the transaction at the Point-of-Sale (POS).
Fixed value
posTerminal.address = OPTIONAL
The address where the POS is located.
For the posTerminal.address.country field - EMV: 9F1A.
Fixed value
posTerminal.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
posTerminal.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
posTerminal.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
posTerminal.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
posTerminal.address.stateProvince String = OPTIONAL
The state or province of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
posTerminal.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
posTerminal.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
posTerminal.attended Enumeration = OPTIONAL
Specifies whether the terminal is attended by the merchant.
You only need to provide this field for card present transactions.
You must provide a value for this field for chip transactions with UK acquirers.
This field corresponds to EMV tag 9F35
You must provide a value for this field for chip transactions with UK acquirers.
This field corresponds to EMV tag 9F35
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ATTENDED
Attended terminal.
SEMI_ATTENDED
Where a card or proximity payment device is present; and the cardholder is present; and the cardholder completes the transaction and, if required, an individual representing the merchant or acquirer assist the cardholder to complete the transaction.
UNATTENDED
Unattended terminal.
UNKNOWN_OR_UNSPECIFIED
Unknown or unspecified.
posTerminal.cardPresenceCapability Enumeration = OPTIONAL
Indicates the capabilities of the terminal to support card present, card not present or both.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CARD_NOT_PRESENT
Card not present.
CARD_PRESENT
Card present.
CARD_PRESENT_AND_CARD_NOT_PRESENT
Card present and card not present.
posTerminal.cardholderActivated Enumeration = OPTIONAL
Indicates the type of cardholder-activated terminal (CAT) used by the payer for the transaction.
A CAT is typically an unattended terminal. For example a terminal used to purchase transit tickets, a terminal use to pay parking fees, toll fees, or automated dispensing machines.
There are seven types (levels) of CAT devices. Each level has specific card scheme requirements.
If you do not provide a value for this field for a Card Present payment the gateway defaults the value to NOT_CARDHOLDER_ACTIVATED.
This field corresponds to EMV tag 9F35
There are seven types (levels) of CAT devices. Each level has specific card scheme requirements.
If you do not provide a value for this field for a Card Present payment the gateway defaults the value to NOT_CARDHOLDER_ACTIVATED.
This field corresponds to EMV tag 9F35
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTOMATED_DISPENSING_MACHINE_WITH_PIN
CAT level 1 terminal.
ELECTRONIC_COMMERCE
CAT level 6 terminal.
IN_FLIGHT_COMMERCE
CAT level 4 terminal.
LIMITED_AMOUNT_TERMINAL
CAT level 3 terminal.
MPOS_ACCEPTANCE_DEVICE
CAT level 9 terminal.
NOT_CARDHOLDER_ACTIVATED
Terminal is not activated by the cardholder.
SELF_SERVICE_TERMINAL
CAT level 2 terminal.
TRANSPONDER_TRANSACTION
CAT level 7 terminal.
posTerminal.inputCapability Enumeration = OPTIONAL
Indicates the type of input the terminal is capable of receiving.
For example, chip, magnetic stripe read, key entry or contactless.
This field corresponds to EMV tag 9F33
This field corresponds to EMV tag 9F33
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BARCODE
The terminal supports data input using a barcode reader.
CHIP
Chip read only.
CHIP_AND_KEY_ENTRY_AND_MAGNETIC_STRIPE
MSR, chip and key entry.
CHIP_AND_KEY_ENTRY_AND_MAGNETIC_STRIPE_AND_RFID
The terminal supports chip read, key entry, magnetic stripe read, and RFID read.
CHIP_AND_MAGNETIC_STRIPE
MSR and chip.
CONTACTLESS_CHIP
Contactless chip.
CONTACTLESS_MAGNETIC_STRIPE
Contactless MSR.
CONTACTLESS_OR_MAGNETIC_STRIPE
The terminal supports both contactless interaction with a chip and magnetic stripe read.
KEY_ENTRY
Key entry only.
KEY_ENTRY_AND_MAGNETIC_STRIPE
MSR and key entry.
MAGNETIC_STRIPE
Magnetic strip read (MSR) only.
UNKNOWN
VOICE_AUDIO_RESPONSE
posTerminal.lane String = OPTIONAL
The name that you use to uniquely identify the location of the Point Of Sale instance used to initiate the transaction.
Examples could be S43_L12 (Lane 12 in Shop 43) or Kiosk_76. This field can be used for your search or reporting needs, and might be used by fraud management systems.
This field corresponds to EMV tag 9F1C
This field corresponds to EMV tag 9F1C
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
8
posTerminal.location Enumeration = OPTIONAL
Indicates the physical location of the terminal in relation to your business premises.
If you do not provide a value for this field for a mobile wallet payment the gateway defaults the value to PAYER_TERMINAL_OFF_PREMISES.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MERCHANT_TERMINAL_OFF_PREMISES
A terminal under the merchant's control but not on the merchant's premises was used.
MERCHANT_TERMINAL_ON_PREMISES
A terminal under the merchant's control on the merchant's premises was used.
NO_TERMINAL_VOICE_OR_AUDIO_RESPONSE
A voice or an audio response system was used, not a physical terminal.
PAYER_TERMINAL_OFF_PREMISES
A terminal under the payer's control and off the merchant's premises was used. For example, a mobile device or personal computer.
PAYER_TERMINAL_ON_PREMISES
A terminal under the payer's control on the merchant's premises was used. For example, a mobile device or personal computer.
posTerminal.mobile = OPTIONAL
Information about mobile POS (mPOS) device.
Fixed value
posTerminal.mobile.cardInputDevice Enumeration = OPTIONAL
The card reader used by an mPOS device.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BUILT_IN
Off-the-shelf mobile phone or tablet with only a built-in contactless reader.
INTEGRATED_DONGLE
Dedicated mobile terminal with an integrated card reader.
SEPARATE_DONGLE
Off-the shelf device or dedicated mobile terminal, with a separate card reader.
posTerminal.onlineReasonCode Enumeration = OPTIONAL
Indicates the reason for sending a transaction online to the acquirer rather than completing it locally at the terminal.
The online reason code is mandatory for chip and chip fallback transactions (including reversals) for all online transactions.
Where more than one reason applies, then the order of priority used for the enumeration list applies.
Where more than one reason applies, then the order of priority used for the enumeration list applies.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHIP_APPLICATION_DATA_FILE_ERROR
The application data file on the chip was unable to process. The terminal has possession of the card. Only used by integrated ICC/MSR terminals (where the terminal has possession of the card and when this condition can be accurately identified).
CHIP_COMMON_DATA_FILE_ERROR
The application common data file on the chip was unable to process. Only used by integrated ICC/MSR terminals (where the terminal has possession of the card and when this condition can be accurately identified).
FORCED_BY_CHIP
The chip application forced the the transaction to go online.
FORCED_BY_ISSUER
Issuer rules forced the transaction to go online. For example, the card is expired.
FORCED_BY_MERCHANT
Rules in the merchant's POS application forced the transaction to go online. For example, the card was used twice or send one in a certain number of authorizations online.
FORCED_BY_TERMINAL
The terminal forced the transaction to go online. For example, the results of tests the terminal carried out during the EMV process indicated to send the transaction online.
MERCHANT_SUSPICIOUS
The merchant has indicated a suspicious transaction. For example, they indicated an unsuccessful signature check or the card returned an inappropriate cryptogram.
OVER_FLOOR_LIMIT
The transaction amount is above the limit set for local processing of the transaction at the terminal.
RANDOM_SELECTION_BY_TERMINAL
The terminal has randomly selected the transaction for online processing.
UNABLE_TO_PROCESS_CHIP
The terminal is not able to process a chip transaction. The transaction was sent online as a fallback.
posTerminal.panEntryMode Enumeration = OPTIONAL
Indicates how you or the Payer entered the Primary Account Number (PAN) of the card at the terminal.
This field corresponds to EMV tag 9F39
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BARCODE_READER
The PAN was entered via a barcode reader.
CHIP
The PAN was entered by reading data from the chip on the card.
CHIP_FALLBACK
A chip-capable terminal failed to process the transaction using data on the card's chip. Therefore, the PAN was read using a fallback mode.
CONTACTLESS
The PAN was entered by a contactless interaction with a chip.
ECOMMERCE
The PAN was entered via an electronic commerce interaction, including chip.
KEYED
The PAN was manually entered.
MOBILE_COMMERCE
OPTICAL_CHARACTER_READER
The PAN was entered via an an optical character reader.
RFID_CHIP
An RFID device was used. Chip data is provided.
RFID_STRIPE
An RFID device was used. Stripe data is provided.
SWIPE
The PAN was read from the magnetic stripe, and the full, unaltered contents of the stripe are provided.
SWIPE_WITH_SIGNATURE
The PAN was read from the magnetic stripe and a signature was provided.
UNKNOWN
The mode of PAN entry is unknown.
VOICE_AUTHORIZATION
VOICE_RESPONSE
The PAN was collected using a Voice Response Unit.
posTerminal.pinEntryCapability Enumeration = OPTIONAL
Indicates the capability of the terminal to accept entry of the Payer's PIN.
This field corresponds to EMV tag 9F33
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
OFFLINE_PIN_ONLY
Only offline PIN is supported.
PIN_NOT_SUPPORTED
Neither offline nor online PIN is supported.
PIN_PAD_INOPERATIVE
PIN is supported but the POS or Payment Client has determined that it is not operational.
PIN_SUPPORTED
Both offline & online PIN supported.
SOFTWARE_ONLINE_PIN_ONLY
mPOS Software-based PIN Entry Capability (online PIN supported).
UNKNOWN
The PIN entry capability is not known.
posTerminal.pinLengthCapability Integer = OPTIONAL
The maximum number of PIN characters that can be entered at the terminal
Existence
OPTIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
4
maximum value
12
posTerminal.serialNumber ASCII Text = OPTIONAL
The unique serial number assigned by the manufacturer to the terminal device.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
1
maximum length
16
posTerminal.singleTapIndicator Boolean = OPTIONAL
Indicates that the POS terminal supports single tap processing.
In the single tap flow, payer will not be requested to perform a subsequent tap when requested for a PIN by the issuer for this transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
posTerminal.store = OPTIONAL
Information about the store or business location.
Fixed value
posTerminal.store.id String = OPTIONAL
Your unique identifier for the specific store or business location where the transaction took place.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255
posTerminal.store.name String = OPTIONAL
Your name for the specific store or business location where the transaction took place.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255
referenceOrderId String = OPTIONAL
This is the reference to an order previously submitted by you to the gateway.
It is applicable to the following scenarios.
Tokenization requests:
Identifier for the order which will be used to generate a gateway token. The gateway will attempt tokenization of payment credentials linked to the order ID.
The order identifier provided in this field must be linked to a successfully processed order which has card (FPAN / DPAN) as the payment method.
When providing this field, you must not provide card details in the sourceOfFunds.provided.card parameter group, and you must set the sourceOfFunds.type field to CARD.
Payment transactions:
When submitting:
Tokenization requests:
Identifier for the order which will be used to generate a gateway token. The gateway will attempt tokenization of payment credentials linked to the order ID.
The order identifier provided in this field must be linked to a successfully processed order which has card (FPAN / DPAN) as the payment method.
When providing this field, you must not provide card details in the sourceOfFunds.provided.card parameter group, and you must set the sourceOfFunds.type field to CARD.
Payment transactions:
When submitting:
- an industry practice payment, this is the reference to the initial cardholder-initiated transaction.
- a resubmission transaction, this is the reference to the order which is being resubmitted.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
responseControls = OPTIONAL
Container for fields that control the response returned for the request.
Fixed value
responseControls.sensitiveData String = OPTIONAL
Indicates how sensitive data is returned in the response.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
risk = OPTIONAL
Information relevant to risk assessment.
Fixed value
risk.bypassMerchantRiskRules Enumeration = OPTIONAL
The risk rules you wish to bypass when performing risk assessment for an order.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ALL
risk.custom String = OPTIONAL
Additional data passed to third-party risk assessment providers.
This field is only relevant if you use a third-party risk assessment provider, and you have agreed with them the values to provide (maximum 100 characters in a field name from the set A-Z, a-z, 0-9, maximum 4kB in length of values across all custom risk fields). An example might be:
Field: risk.custom.headOfficeLocation
Value: London UK
Field: risk.custom.headOfficeLocation
Value: London UK
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000
session.id ASCII Text = OPTIONAL
Identifier of the payment session containing values for any of the request fields to be used in this operation.
Values provided in the request will override values contained in the session.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
31
maximum length
35
session.version ASCII Text = OPTIONAL
Use this field to implement optimistic locking of the session content.
Do this if you make business decisions based on data from the session and wish to ensure that the same data is being used for the request operation.
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.
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.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
10
maximum length
10
shipping = OPTIONAL
Shipping information for this order.
Fixed value
shipping.address = OPTIONAL
The address to which this order will be shipped.
Fixed value
shipping.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
shipping.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
shipping.address.source Enumeration = OPTIONAL
How you obtained the shipping address.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ADDRESS_ON_FILE
Order shipped to an address that you have on file.
NEW_ADDRESS
Order shipped to an address provided by the payer for this transaction.
shipping.address.stateProvince String = OPTIONAL
The state or province of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
shipping.address.stateProvinceCode String = OPTIONAL
The three character ISO 3166-2 country subdivision code for the state or province of the address.
Providing this field might improve your payer experience for 3-D Secure payer authentication.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3
shipping.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.address.sameAsBilling Enumeration = OPTIONAL
Indicates whether the shipping address provided is the same as the payer's billing address.
Provide this value if you are not providing the full shipping and billing addresses, but you can affirm that they are the same or different.
The default value for this field is:
SAME - if the shipping and billing address are supplied, and all fields are the same (ignoring non-alphanumerics).
DIFFERENT - if the shipping and billing address are supplied, and at least one field is different (ignoring non-alphanumerics).
UNKNOWN - either shipping address or billing address is absent.
The default value for this field is:
SAME - if the shipping and billing address are supplied, and all fields are the same (ignoring non-alphanumerics).
DIFFERENT - if the shipping and billing address are supplied, and at least one field is different (ignoring non-alphanumerics).
UNKNOWN - either shipping address or billing address is absent.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DIFFERENT
The shipping and billing addresses are different.
SAME
The shipping and billing addresses are the same.
UNKNOWN
It is not known if the shipping and billing addresses are the same.
shipping.contact = OPTIONAL
Details of the contact person at the address the goods will be shipped to.
Fixed value
shipping.contact.email Email = OPTIONAL
The contact person's email address.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
JSON type
String
shipping.contact.firstName String = OPTIONAL
The first name of the person to whom the order is being shipped.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
shipping.contact.lastName String = OPTIONAL
The last name or surname of the person to whom the order is being shipped.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
shipping.contact.mobilePhone Telephone Number = OPTIONAL
The contact person's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
shipping.contact.phone Telephone Number = OPTIONAL
The contact person's phone number in ITU-T E123 format, for example +1 607 1234 456
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
shipping.method Enumeration = OPTIONAL
The shipping method used for delivery of this order.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ELECTRONIC
Electronic delivery.
GROUND
Ground (4 or more days).
NOT_SHIPPED
Order for goods that are not shipped (for example, travel and event tickets)
OVERNIGHT
Overnight (next day).
PICKUP
Shipped to a local store for pick up.
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.
shipping.origin.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address the order is shipped from.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
sourceOfFunds = COMPULSORY
Information about the payment type selected by the payer for this payment and the source of the funds.
Depending on the payment type the source of the funds can be a debit or credit card, bank account, or account with a browser payment provider (such as PayPal).
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.
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.
Fixed value
sourceOfFunds.provided = OPTIONAL
Information about the source of funds when it is directly provided (as opposed to via a token or session).
For browser payments, the source of funds details are usually collected from the payer on the payment provider's website and provided to you when you retrieve the transaction details (for a successful transaction). However, for some payment types (such as giropay), you must collect the information from the payer and supply it here.
Fixed value
sourceOfFunds.provided.card = OPTIONAL
Details about the card.
Use this parameter group when you have sourced payment details using:
Cards: the card details entered directly or collected using a Point of Sale (POS) terminal.
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.
Card scheme tokens where the card was tokenized using a card scheme tokenization service such as Mastercard Digital Enablement Service (MDES).
Alternative IDs provided by the schemes, such as Alt-Id for Guest Checkout payments in India using American Express, Rupay cards issued in India.
Cards: the card details entered directly or collected using a Point of Sale (POS) terminal.
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.
Card scheme tokens where the card was tokenized using a card scheme tokenization service such as Mastercard Digital Enablement Service (MDES).
Alternative IDs provided by the schemes, such as Alt-Id for Guest Checkout payments in India using American Express, Rupay cards issued in India.
Fixed value
sourceOfFunds.provided.card.accountType Enumeration = OPTIONAL
You can provide this field for card types that have a savings/checking option, such as Maestro cards.
If you do not provide a value, we will use the acquirer's default. You can use paymentTypes.card.cardTypes in the 'Retrieve Payment Options' operation response to determine the card type.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHECKING
SAVINGS
sourceOfFunds.provided.card.cardType String = OPTIONAL
This field is only applicable if the gateway has identified the card as the co-branded card.
For a co-branded card, the PAYMENT_OPTIONS_INQUIRY response contains both brands in field paymentTypes.card.cardTypes[n] (when the request contains field sourceOfFunds.provided.card.prefix).
- • You will receive paymentTypes.card.interactionConstraints=CARD_TYPE_SELECTION in the PAYMENT_OPTIONS_INQUIRY response if the card type selection is mandatory. In this case, you must let the payer select the card type and provide this field in the request.
- • You will receive paymentTypes.card.capabilities[n].capability=CARD_TYPE_SELECTION in the PAYMENT_OPTIONS_INQUIRY response if the card type selection is optional. In this case, you may let the payer select the card type or make the selection yourself and provide this field in the request. If not provided, the gateway will make the selection based on your configuration and the card type.
- • If the PAYMENT_OPTIONS_INQUIRY response contains neither of the above fields, the gateway determines the card type and requests that contain this field will be rejected by the gateway.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
50
sourceOfFunds.provided.card.devicePayment = OPTIONAL
Details about the card that you have sourced using digital payment methods.
Use this parameter group when you have sourced payment details using:
- • 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.
- • Card scheme tokens. This applies when you have tokenized the payer's card number using a card scheme tokenization service such as Mastercard Digital Enablement Service (MDES) or Visa Token Service (VTS).
Fixed value
sourceOfFunds.provided.card.devicePayment.cryptogramFormat Enumeration = OPTIONAL
The format of the cryptogram provided for the digital payment.Use this field for:
This field does not apply to Card Scheme token payments.
- • Device payments: provide the cryptogram format when you decrypt the payment token and provide the payment details (including the online payment cryptogram) in the transaction request.
This field does not apply to Card Scheme token payments.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
3DSECURE
The payment data keys for the online payment cryptogram are provided using the 3-D Secure format.
EMV
The payment data keys for the online payment cryptogram are provided using the EMV format.
sourceOfFunds.provided.card.devicePayment.eciIndicator Digits = OPTIONAL
The Electronic Commerce Indicator generated for payments made using a device payment method.
You source this field directly from the decrypted payment token.
You must provide this field if you have it. This field is not applicable for payments using digital wallets.
You must provide this field if you have it. This field is not applicable for payments using digital wallets.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
2
sourceOfFunds.provided.card.devicePayment.onlinePaymentCryptogram Base64 = OPTIONAL
A cryptogram used to authenticate the transaction.
Use this field for:
- • Device payments: source this field directly from the decrypted payment token.
- • Card scheme tokens: source this field directly from the decrypted transaction credentials. For MDES (Mastercard Digital Enablement Service) tokens this is the UCAF cryptogram (de48se43Data). For VTS (Visa Token Service) tokens this is the TAVV cryptogram.
- • Alternative IDs: use cryptograms provided by the schemes. For Guest Checkout payments in India using American Express cards, use Alt-Id cryptograms.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is Base64 encoded
JSON type
String
minimum length
1
maximum length
128
sourceOfFunds.provided.card.devicePayment.paymentToken String = OPTIONAL
This is the payment token that you received from the device's payment SDK.
For example:
For Apple Pay - this is the PKPaymentToken.paymentData value.
For Google - this is PaymentMethodToken.getToken().
Note 1: The gateway API considers this value to be a string, NOT JSON itself. Therefore when using the JSON gateway API, this field will typically look like:
"sourceOfFunds": {
"provided": {
"card": {
"devicePayment": {
"paymentToken": "{\"data\":\"869ss19ew ....
Note 2: The gateway will ignore the currency and amount information in the payment token, and will instead use the values passed on the amount and currency fields. For normal usage, you should populate those fields with the exact same values as you got from the SDK.
For Apple Pay - this is the PKPaymentToken.paymentData value.
For Google - this is PaymentMethodToken.getToken().
Note 1: The gateway API considers this value to be a string, NOT JSON itself. Therefore when using the JSON gateway API, this field will typically look like:
"sourceOfFunds": {
"provided": {
"card": {
"devicePayment": {
"paymentToken": "{\"data\":\"869ss19ew ....
Note 2: The gateway will ignore the currency and amount information in the payment token, and will instead use the values passed on the amount and currency fields. For normal usage, you should populate those fields with the exact same values as you got from the SDK.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
16384
sourceOfFunds.provided.card.emvRequest String = OPTIONAL
This field only applies to transactions that originate from an EMV capable terminal.
It contains selected EMV fields as provided by the terminal.
For the list of field tags to include (if provided by the terminal), see Card Present Payments. Requests with any other tags are rejected by the gateway.
Some of the tags represent data that can occur on explicit fields in this API. You can submit the value either in this field, or in both places. For example, the PAN can be presented as EMV tag 5A in this field, or included both the sourceOfFunds.provided.card.number API field and in EMV tag 5A in this field.
If you specify the EMV tag only, we can populate the explicit field in the API. Fields where this is supported have the text "This field corresponds to EMV tag <tag name>" in their field descriptions.
If you specify both places, there will be no population of the explicit field or validation that the data matches.
The API response will not contain PCI sensitive fields.
For the list of field tags to include (if provided by the terminal), see Card Present Payments. Requests with any other tags are rejected by the gateway.
Some of the tags represent data that can occur on explicit fields in this API. You can submit the value either in this field, or in both places. For example, the PAN can be presented as EMV tag 5A in this field, or included both the sourceOfFunds.provided.card.number API field and in EMV tag 5A in this field.
If you specify the EMV tag only, we can populate the explicit field in the API. Fields where this is supported have the text "This field corresponds to EMV tag <tag name>" in their field descriptions.
If you specify both places, there will be no population of the explicit field or validation that the data matches.
The API response will not contain PCI sensitive fields.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250
sourceOfFunds.provided.card.expiry = OPTIONAL
Expiry date, as shown on the card or as provided for a card scheme token.
This field corresponds to EMV tag 5F24
Fixed value
sourceOfFunds.provided.card.expiry.month Digits = COMPULSORY
Month, as shown on the card.
Months are numbered January=1, through to December=12.
Existence
COMPULSORY
Fixed value
Validation Rules
Data is a number between 1 and 12 represented as a string.
JSON type
String
sourceOfFunds.provided.card.expiry.year Digits = COMPULSORY
Year, as shown on the card.
The Common Era year is 2000 plus this value.
Existence
COMPULSORY
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
2
maximum length
2
sourceOfFunds.provided.card.maskedFpan Masked digits = OPTIONAL
The Funding Primary Account Number (FPAN) of the payer's account in 6.4 masking format, for example, 000000xxxxxx0000.
You should use this value for display on confirmation or receipt pages presented to the payer.
RequestNormally you do not need to populate this field, as the gateway will populate this field in the session, and populate it into the payment request when you submit the payment using the session. You would only provide this value, if you had access to FPAN information that was not available to the gateway. On responses, the gateway populates it with a form that the payer would recognize (also explained in more detail below).
Retrieve session response
The gateway always populates this field with its best understanding of the masked FPAN.If you are showing PAN data from the session to the payer, then use this field rather than sourceOfFunds.provided.card.number from the session. This is because this field contains a PAN that the payer will recognize whereas sourceOfFunds.provided.card.number could contain a scheme token, or device PAN which the payer will not recognize. After the payment is processed, the gateway will populate the sourceOfFunds.provided.card.number in the payment response with its best understanding of the masked FPAN. You can show this value to the payer after the payment is complete. This logic also applies to the maskedFpanExpiry field.
RequestNormally you do not need to populate this field, as the gateway will populate this field in the session, and populate it into the payment request when you submit the payment using the session. You would only provide this value, if you had access to FPAN information that was not available to the gateway. On responses, the gateway populates it with a form that the payer would recognize (also explained in more detail below).
Retrieve session response
The gateway always populates this field with its best understanding of the masked FPAN.If you are showing PAN data from the session to the payer, then use this field rather than sourceOfFunds.provided.card.number from the session. This is because this field contains a PAN that the payer will recognize whereas sourceOfFunds.provided.card.number could contain a scheme token, or device PAN which the payer will not recognize. After the payment is processed, the gateway will populate the sourceOfFunds.provided.card.number in the payment response with its best understanding of the masked FPAN. You can show this value to the payer after the payment is complete. This logic also applies to the maskedFpanExpiry field.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
9
maximum length
19
sourceOfFunds.provided.card.maskedFpanExpiry = OPTIONAL
Expiry date, The expiry date of the Funding Primary Account Number (FPAN) in sourceOfFunds.provided.card.maskedFpan.
Fixed value
sourceOfFunds.provided.card.maskedFpanExpiry.month Digits = OPTIONAL
The expiration month for the Funding Primary Account Number (FPAN).
Months are numbered January=1, through to December=12.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 1 and 12 represented as a string.
JSON type
String
sourceOfFunds.provided.card.maskedFpanExpiry.year Digits = OPTIONAL
The expiration year for the Funding Primary Account Number (FPAN).
The Common Era year is 2000 plus this value.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
2
maximum length
2
sourceOfFunds.provided.card.nameOnCard String = OPTIONAL
The cardholder's name as printed on the card.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
256
sourceOfFunds.provided.card.number Digits = OPTIONAL
The account number of the payer's account used for the payment.
On requests, provide the number in the form that you receive it (as explained below). On responses, the gateway populates it with a form that the payer would recognize (also explained in more detail below).
- Request
On request, populate this field based on the payment method you are using for the payment:- • Card: the account number embossed onto the card. This field corresponds to EMV tag 5A.
- • Device payment methods such as Apple Pay, Android Pay, Samsung Pay, or Google Pay. Normally for device payments, you would populate sourceOfFunds.provided.card.devicePayment.paymentToken and the gateway will decrypt and extract this field. However, you can populate this field if you decrypt the payment token yourself. In this case use the Device PAN (DPAN) provided in the payment token.
- • Digital wallets such as Masterpass, Visa Checkout or Amex Express Checkout. In this case, provide the PAN retrieved from the wallet.
- • Scheme tokens such as MDES (Mastercard Digital Enablement Service) or Visa Token Service (VTS). For MDES tokens, supply the value called the "Token PAN". For VTS tokens, supply the value called "Token"
- • Alternative IDs provided by the schemes. For Guest Checkout payments in India using American Express, Rupay cards, provide the "Alt-Id".
- Response
On return, the card number will be populated in 6.4 masking format, for example, 000000xxxxxx0000. If you wish to return unmasked card numbers, you must have the requisite permission, set responseControls.sensitiveData field to UNMASK, and authenticate your call to the API using certificate authentication.
When a DPAN or scheme token was provided in the transaction request, then this field will represent the PAN of the associated payer's account (when supported by the acquirer). This is also referred to as the Funding PAN (FPAN).
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
9
maximum length
19
sourceOfFunds.provided.card.p2pe = OPTIONAL
This holds the PAN in the case where it is encrypted by the terminal using DUKPT key exchange.
Fixed value
sourceOfFunds.provided.card.p2pe.cardBin Digits = OPTIONAL
The BIN of the card.
If you provide this, the gateway will check that the decrypted PAN has these leading six digits. If the check fails, the gateway will reject the transaction.
If you do not provided this, the gateway will not perform this check.
If you do not provided this, the gateway will not perform this check.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
6
sourceOfFunds.provided.card.p2pe.encryptionState String = OPTIONAL
The P2PE encryption state as determined by the terminal.
INVALID means the terminal detected some form of error in the encryption process.
The gateway will decline transactions with INVALID encryption state. This field may be omitted when the value is VALID.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
5
maximum length
7
sourceOfFunds.provided.card.p2pe.initializationVector Hex = OPTIONAL
The initialization vector supplied by the terminal to seed the encryption of this payload.
Omit this value if the terminal is not using an initialization vector to seed encryption.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is hexadecimal encoded
JSON type
String
minimum length
16
maximum length
16
sourceOfFunds.provided.card.p2pe.keySerialNumber Hex = COMPULSORY
The DUKPT key serial number supplied by the terminal.
Existence
COMPULSORY
Fixed value
Validation Rules
Data is hexadecimal encoded
JSON type
String
minimum length
20
maximum length
20
sourceOfFunds.provided.card.p2pe.payload Hex = COMPULSORY
The DUKPT encrypted payload supplied by the terminal.
Existence
COMPULSORY
Fixed value
Validation Rules
Data is hexadecimal encoded
JSON type
String
minimum length
32
maximum length
1024
sourceOfFunds.provided.card.pin = OPTIONAL
The PIN (Personal Identification Number) entered by a payer at the point of sale that is used to authenticate their identity as the cardholder with the issuer.
Provide this data in the case where you want the PIN verified online by the issuer.
The gateway can support PINs encoded in ISO 9564-1 formats 0, 1, 3 and 4, but the supported format will depend on integration.
Fixed value
sourceOfFunds.provided.card.pin.encryptionState Enumeration = OPTIONAL
The PIN encryption state as determined by the terminal.
INVALID means the terminal detected some form of error in the encryption process.
The gateway will decline transactions with INVALID encryption state. This field may be omitted when the value is VALID.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID
The encryption state is invalid.
VALID
The encryption state is valid.
sourceOfFunds.provided.card.pin.keySerialNumber Hex = COMPULSORY
The DUKPT key serial number supplied by the terminal.
Existence
COMPULSORY
Fixed value
Validation Rules
Data is hexadecimal encoded
JSON type
String
minimum length
20
maximum length
20
sourceOfFunds.provided.card.pin.payload Hex = COMPULSORY
The DUKPT encrypted payload supplied by the terminal.
Existence
COMPULSORY
Fixed value
Validation Rules
Data is hexadecimal encoded
JSON type
String
minimum length
16
maximum length
16
sourceOfFunds.provided.card.securityCode Digits = OPTIONAL
Card verification code, as printed on the back or front of the card or as provided for a card scheme token.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
3
maximum length
4
sourceOfFunds.provided.card.sequenceNumber Digits = OPTIONAL
A number used to differentiate between cards with the same Primary Account Number (PAN).
This field corresponds to EMV tag 5F34
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 0 and 999 represented as a string.
JSON type
String
sourceOfFunds.provided.card.storedOnFile Enumeration = OPTIONAL
This field only applies if you collect card details from your payer, store them, and either you or your payer use the stored credentials for subsequent payments.
Refer to Credential on File, Cardholder and Merchant-initiated Transactions for details.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_STORED
Set this value if you are not storing the card details provided by the payer for this transaction. The gateway sets this value by default, if you are submitting a payer-initiated transaction. You must not use this value when submitting merchant-initiated transactions.
STORED
Set this value if you have previously stored the card details provided by the payer and are now using these stored details. The gateway sets this value by default, if you are submitting a merchant-initiated transaction.
TO_BE_STORED
Set this value if this is the first transaction using these card details and you intend to store the card details if the transaction is successful.
sourceOfFunds.provided.card.track1 Track 1 Data = OPTIONAL
This field contains the full track data.
You may optionally include the start and end sentinels and LRC.
Provide this for stripe and EMV fallback to stripe cases.
This field corresponds to EMV tag 56
Provide this for stripe and EMV fallback to stripe cases.
This field corresponds to EMV tag 56
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 7811-2 track 1 data character set.
Data may consist of the characters: ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ]]>
Data may consist of the characters: ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ]]>
JSON type
String
minimum length
2
maximum length
79
sourceOfFunds.provided.card.track2 Track 2 Data = OPTIONAL
This field contains the full track data.
You may optionally include the start and end sentinels and LRC.
Provide this for stripe and EMV fallback to stripe cases.
The contents of this field must match the PAN and expiry fields included in the Transaction Request.
This field corresponds to EMV tag 57
Provide this for stripe and EMV fallback to stripe cases.
The contents of this field must match the PAN and expiry fields included in the Transaction Request.
This field corresponds to EMV tag 57
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 7811-2 track 2 data character set.
Data may consist of the characters: ? ]]>
Data may consist of the characters: ? ]]>
JSON type
String
minimum length
2
maximum length
40
sourceOfFunds.provided.ebt = OPTIONAL
If the payer chose to pay using a Electronic Benefits Transfer card, you must submit sourceOfFunds.type=EBT_CARD and provide the payer's card details in this parameter group.
Fixed value
sourceOfFunds.provided.ebt.accountType Enumeration = OPTIONAL
Indicates the type of benefits account used for the payment.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CASH_BENEFITS
Benefits provided as cash.
EWIC_BENEFITS
Benefits provided under the Special Supplemental Nutrition Program for Women, Infants, and Children.
SNAP_BENEFITS
Benefits provided under the Supplemental Nutrition Assistance Program.
sourceOfFunds.provided.ebt.manualAuthorizationCode Digits = OPTIONAL
Value provided to you by the EBT merchant helpline when you requested manual authorization of the payment because you were unable to authorize the payment online.
For example, your point of sale (POS) machine is not working. When you manually authorize a payment you also need to provided the voucher number used to record the payment in sourceOfFunds.provided.EBT.voucherNumber.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
6
sourceOfFunds.provided.ebt.merchantFns Digits = OPTIONAL
The identifier assigned to you by the USDA Food and Nutrition Service (FNS) when they authorized you to accept EBT payments at your store.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
7
sourceOfFunds.provided.ebt.voucherNumber Digits = OPTIONAL
The number of the paper form (voucher) that you used to record details of an EBT payment when you were unable to authorize the payment online.
For example, your point of sale (POS) machine is not working. When you use a voucher you also need to provide an authorization code in sourceOfFunds.provided.benefits.ebt.manualAuthorizationCode.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
15
sourceOfFunds.provided.giftCard = OPTIONAL
If the payer chose to pay using a gift card, you must submit sourceOfFunds.type=GIFT_CARD and provide the payer's gift card details in this parameter group.
Fixed value
sourceOfFunds.provided.giftCard.expectedLocalBrand String = OPTIONAL
Do not provide this field in your request unless instructed to do so by your payment service provider.
The field is required, if your gift card numbers do not use ISO BIN rules and therefore not allowing the gateway to identify the local brand.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
4
maximum length
50
sourceOfFunds.provided.giftCard.number Digits = OPTIONAL
Card number as printed or embossed on the gift card.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
9
maximum length
19
sourceOfFunds.provided.giftCard.pin Digits = OPTIONAL
PIN number for the gift card.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
8
sourceOfFunds.token Alphanumeric = OPTIONAL
A gateway token that contains account identifier details.
The account identifier details stored against this token will be used to process the request.
If account identifier details are also contained in the request, or the request contains a session with account identifier details, these take precedence over the details stored against the token.
If account identifier details are also contained in the request, or the request contains a session with account identifier details, these take precedence over the details stored against the token.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
40
sourceOfFunds.tokenRequestorID Alphanumeric = OPTIONAL
The unique identifier assigned to you by the Token Service Provider that you requested a token from for this payment.
This field is mandatory for payments where the Chase Pay wallet was used.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
11
sourceOfFunds.type Enumeration = OPTIONAL
The payment method used for this payment.
If you are passing card data (in any form) on the API, then you need to set this value, and also provide the card details in the sourceOfFunds.provided.card group. In the case of digital wallets or device payment methods, you must also populate the order.walletProvider field.
If you are making a payment with a gateway token, then you can leave this field unset, and only populate the sourceOfFunds.token field. However you can set this to CARD if you want to overwrite or augment the token data with a card security code, expiry date, or cardholder name.
If you are making a payment with a gateway token, then you can leave this field unset, and only populate the sourceOfFunds.token field. However you can set this to CARD if you want to overwrite or augment the token data with a card security code, expiry date, or cardholder name.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CARD
Use this value for payments that obtained the card details either directly from the card, or from a POS terminal, or from a wallet, or through a device payment method.
EBT_CARD
Use this value for Electronic Benefits Transfer (EBT) card payments. The additional EBT data must also be provided in the sourceOfFunds.provided.ebt parameter group.
GIFT_CARD
The payer chose to pay using a gift card. The payer's gift card details must be provided under the sourceOfFunds.provided.giftCard parameter group.
SCHEME_TOKEN
Use this value for payments using scheme tokens provided by Mastercard Digital Enablement Service (MDES), or Visa Token Service (VTS), or American Express Token Service (AETS).
transaction = OPTIONAL
Information about this transaction.
Fixed value
transaction.acquirer = OPTIONAL
Additional information to be passed to acquirer.
Fixed value
transaction.acquirer.customData String = OPTIONAL
Additional information requested by the acquirer which cannot be passed using other available data fields.
This field must not contain sensitive data.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters, but sensitive data will be rejected
JSON type
String
minimum length
1
maximum length
2048
transaction.acquirer.traceId String = OPTIONAL
The unique identifier that allows the issuer to link related transactions.
Typically the gateway takes care of submitting this identifier to the issuer on your behalf. However, you must submit this identifier if you have processed the payer-initiated transaction (also called CIT) for the payment agreement outside the gateway or you are submitting a Refund where the Authorization or Payment has been performed outside the gateway.
For a Mastercard transaction this identifier must contain the scheme issued transaction identifier, network code and network date, and is also known as the Trace ID. For a Visa or American Express transaction this identifier matches the scheme issued transaction identifier, also known as Transaction Identifier or TID. Refer to the scheme's documentation for more details.
Payment in a Series
You must provide the information returned in the Authorization/Payment/Verification response for the last payer-initiated transaction in the series (CIT).
Refund
You must provide the information returned in the Authorization/Payment response for the payment for which you are issuing a refund.
Resubmission
For resubmission transactions, the gateway will include the scheme transaction identifier from the failed transaction.
However, you may use this field to directly provide the scheme transaction identifier to be used on the resubmission in certain scenarios:
For a Mastercard transaction this identifier must contain the scheme issued transaction identifier, network code and network date, and is also known as the Trace ID. For a Visa or American Express transaction this identifier matches the scheme issued transaction identifier, also known as Transaction Identifier or TID. Refer to the scheme's documentation for more details.
Payment in a Series
You must provide the information returned in the Authorization/Payment/Verification response for the last payer-initiated transaction in the series (CIT).
Refund
You must provide the information returned in the Authorization/Payment response for the payment for which you are issuing a refund.
Resubmission
For resubmission transactions, the gateway will include the scheme transaction identifier from the failed transaction.
However, you may use this field to directly provide the scheme transaction identifier to be used on the resubmission in certain scenarios:
- Original failed transaction was processed outside the gateway.
- Multiple failed authorizations exist on the order and the resubmission needs to refer to a failed transaction which is not the latest.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters, but sensitive data will be rejected
JSON type
String
minimum length
1
maximum length
15
transaction.acquirer.transactionId String = OPTIONAL
This is the value provided to the acquirer to identify the order.
Ideally this will be the order.id, however if that value cannot be used directly, it will be transformed by the gateway to a unique value that the acquirer will accept.
If that behavior is not suitable, you can directly provide the value in this field and it will be passed to the acquirer. You then take responsibility for its correctness.
(Note: contact your payment provider to see if this is supported for your acquirer).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters, but sensitive data will be rejected
JSON type
String
minimum length
1
maximum length
100
transaction.deferredAuthorization Boolean = OPTIONAL
Indicates that you were not able to submit the Authorization (or Payment) transaction at the time it was completed with the cardholder due to a connectivity, system issue, or other limitations and have deferred submitting it until your system was back online.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
transaction.merchantNote String = OPTIONAL
Your note about this transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250
transaction.payerConsentForStoringCardDetails Enumeration = OPTIONAL
Indicates if the payer provided consent for storing the payment details they have provided for this payment.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MERCHANT_INITIATED_PAYMENTS
The payer has provided consent for storing their card details for the purpose of subsequent merchant-initiated payments.
PAYER_DECLINED
The payer declined to provide consent for storing their card details.
PAYER_INITIATED_PAYMENTS
The payer has provided consent for storing their card details for the purpose of subsequent payer-initiated payments.
transaction.reference String = OPTIONAL
An optional identifier for this transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
transaction.resubmission Boolean = OPTIONAL
Indicates that this merchant initiated transaction is a resubmission for a previous authorization which failed due to insufficient funds.
A resubmission transaction must also contain the 'scheme transaction Id' from the associated failed transaction.
You can provide the referenceOrderId of the relevant order and the gateway will include the 'scheme transaction Id' of the last failed authorization on the order in the resubmission transaction.
Alternatively, you can provide the 'scheme transaction Id' of the failed transaction in the resubmission transaction using the field transaction.acquirer.traceId.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
transaction.source Enumeration = OPTIONAL
Indicates the channel through which you received authorization for the payment for this order from the payer.
For example, set this value to INTERNET if the payer initiated the payment online.
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:
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.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CALL_CENTRE
Transaction conducted via a call centre.
CARD_PRESENT
Transaction where the card is presented to the merchant.
INTERNET
Transaction conducted over the Internet.
MAIL_ORDER
Transaction received by mail.
MERCHANT
Transaction initiated by you based on an agreement with the payer. For example, a recurring payment, installment payment, or account top-up.
MOTO
Transaction received by mail or telephone.
PAYER_PRESENT
Transaction where a non-card payment method is presented to the Merchant.
TELEPHONE_ORDER
Transaction received by telephone.
VOICE_RESPONSE
Transaction conducted by a voice/DTMF recognition system.
transaction.targetTransactionId String = OPTIONAL
The identifier of the source transaction that you wish to reference in this transaction.
That is the {transactionId} URL field for REST and the transaction.id field for NVP.
For example: This can be the transaction id of the contactless transaction which was processed with a single tap indicator and you want to provide the PIN in this request.
For example: This can be the transaction id of the contactless transaction which was processed with a single tap indicator and you want to provide the PIN in this request.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
{merchantId} Alphanumeric + additional characters COMPULSORY
The unique identifier issued to you by your payment provider.
Existence
COMPULSORY
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
XSD type
string
minimum length
1
maximum length
40
{orderid} String COMPULSORY
A unique identifier for this order to distinguish it from any other order you create.
Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order you create using your merchant profile.
Existence
COMPULSORY
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
40
{transactionid} String COMPULSORY
Unique identifier for this transaction to distinguish it from any other transaction on the order.
An order can have transactions representing:
If you attempt an operation and it fails (eg you try to PAY on a card with no funds), then you need a new id for each retry.
- Movement of money. For example, payments and refunds.
- Validations. For example, account verification or 3-D Secure authentication of the payer.
- Undoing other transactions. For example, voiding a payment transaction.
- Chargebacks.
- Fees from your payment service provider.
If you attempt an operation and it fails (eg you try to PAY on a card with no funds), then you need a new id for each retry.
Existence
COMPULSORY
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
40
Response Parameters
browserPayment = CONDITIONAL
Information used to manage interactions with the payment provider if you are offering your payment page on a website or are redirecting the payer's browser to the provider's website.
If you are offering your payment page in an app or are redirecting the payer to the provider's app, use the appPayment parameter group.
Fixed value
browserPayment.redirectUrl Url = CONDITIONAL
The URL to which you must redirect the payer's browser to complete the payment when using the payment provider's website.
If you are redirecting the payer to the payment provider's app use appPayment.redirectUrl.
If you want to present the payment provider's checkout flow in a modal window on top of your payment page, use the functions provided in the JavaScript library instead.
Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String
merchant Alphanumeric + additional characters = Always Provided
The unique identifier issued to you by your payment provider.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
JSON type
String
minimum length
1
maximum length
40
order = Always Provided
Information about the order associated with this transaction.
Fixed value
order.amount Decimal = Always Provided
The total amount for the order. This is the net amount plus any merchant charge amounts.If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount, order.merchantCharge.amount and order.dutyAmount), minus the order.discountAmount must equal the net amount.
The value of this field in the response is zero if payer funds are not transferred.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
order.creationTime DateTime = Always Provided
Indicates the date and time the gateway considers the order to have been created.
Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String
order.currency Upper case alphabetic text = Always Provided
The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.id String = Always Provided
A unique identifier for this order to distinguish it from any other order you create.
Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order created by your merchant profile.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
order.lastUpdatedTime DateTime = Always Provided
Indicates the date and time the gateway considers the order to have last been updated.
Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String
order.merchantAmount Decimal = Always Provided
The total amount for the order in order.merchantCurrency units.
This is derived from the rate quote and order.amount for this order when Multi-Currency Pricing was used.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
order.merchantCurrency Upper case alphabetic text = Always Provided
The currency in which you priced your inventory for this order, expressed as an ISO 4217 alpha code, e.g. USD.
This value (along with merchantAmount) is applicable if you are doing Multi-Currency Pricing, as it gives you a consistent currency across all your orders that involve foreign exchange (FX).
If there is FX on this order, this is based on the rate quote you provided on the payment transactions, if not then this is the order.currency.
If there is FX on this order, this is based on the rate quote you provided on the payment transactions, if not then this is the order.currency.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.totalAuthorizedAmount Decimal = Always Provided
The amount that has been successfully authorized for this order.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
order.totalCapturedAmount Decimal = Always Provided
The amount that has been successfully captured for this order.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
order.totalDisbursedAmount Decimal = Always Provided
The amount that has been successfully disbursed for this order.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
order.totalRefundedAmount Decimal = Always Provided
The amount that has been successfully refunded for this order.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
response = Always Provided
Fixed value
response.gatewayCode Enumeration = Always Provided
Summary of the success or otherwise of the operation.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ABORTED
Transaction aborted by payer
ACQUIRER_SYSTEM_ERROR
Acquirer system error occurred processing the transaction
APPROVED
Transaction Approved
APPROVED_AUTO
The transaction was automatically approved by the gateway. it was not submitted to the acquirer.
APPROVED_PENDING_SETTLEMENT
Transaction Approved - pending batch settlement
AUTHENTICATION_FAILED
Payer authentication failed
AUTHENTICATION_IN_PROGRESS
The operation determined that payer authentication is possible for the given card, but this has not been completed, and requires further action by the merchant to proceed.
BALANCE_AVAILABLE
A balance amount is available for the card, and the payer can redeem points.
BALANCE_UNKNOWN
A balance amount might be available for the card. Points redemption should be offered to the payer.
BLOCKED
Transaction blocked due to Risk or 3D Secure blocking rules
CANCELLED
Transaction cancelled by payer
DECLINED
The requested operation was not successful. For example, a payment was declined by issuer or payer authentication was not able to be successfully completed.
DECLINED_AVS
Transaction declined due to address verification
DECLINED_AVS_CSC
Transaction declined due to address verification and card security code
DECLINED_CSC
Transaction declined due to card security code
DECLINED_DO_NOT_CONTACT
Transaction declined - do not contact issuer
DECLINED_INVALID_PIN
Transaction declined due to invalid PIN
DECLINED_PAYMENT_PLAN
Transaction declined due to payment plan
DECLINED_PIN_REQUIRED
Transaction declined due to PIN required
DEFERRED_TRANSACTION_RECEIVED
Deferred transaction received and awaiting processing
DUPLICATE_BATCH
Transaction declined due to duplicate batch
EXCEEDED_RETRY_LIMIT
Transaction retry limit exceeded
EXPIRED_CARD
Transaction declined due to expired card
INSUFFICIENT_FUNDS
Transaction declined due to insufficient funds
INVALID_CSC
Invalid card security code
LOCK_FAILURE
Order locked - another transaction is in progress for this order
NOT_ENROLLED_3D_SECURE
Card holder is not enrolled in 3D Secure
NOT_SUPPORTED
Transaction type not supported
NO_BALANCE
A balance amount is not available for the card. The payer cannot redeem points.
PARTIALLY_APPROVED
The transaction was approved for a lesser amount than requested. The approved amount is returned in order.totalAuthorizedAmount.
PENDING
Transaction is pending
REFERRED
Transaction declined - refer to issuer
SUBMITTED
The transaction has successfully been created in the gateway. It is either awaiting submission to the acquirer or has been submitted to the acquirer but the gateway has not yet received a response about the success or otherwise of the payment.
SYSTEM_ERROR
Internal system error occurred processing the transaction
TIMED_OUT
The gateway has timed out the request to the acquirer because it did not receive a response. Points redemption should not be offered to the payer.
UNKNOWN
The transaction has been submitted to the acquirer but the gateway was not able to find out about the success or otherwise of the payment. If the gateway subsequently finds out about the success of the payment it will update the response code.
UNSPECIFIED_FAILURE
Transaction could not be processed
result Enumeration = Always Provided
A system-generated high level overall result of the operation.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FAILURE
The operation was declined or rejected by the gateway, acquirer or issuer
PENDING
The operation is currently in progress or pending processing
SUCCESS
The operation was successfully processed
UNKNOWN
The result of the operation is unknown
transaction = Always Provided
Information about this transaction.
Fixed value
transaction.amount Decimal = Always Provided
The total amount for the transaction.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3
transaction.currency Upper case alphabetic text = Always Provided
The currency of the transaction expressed as an ISO 4217 alpha code, e.g. USD.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
transaction.id String = Always Provided
Unique identifier for this transaction to distinguish it from any other transaction on the order.
An order can have transactions representing:
If you attempt an operation and it fails (eg you try to PAY on a card with no funds), then you need a new id for each retry.
- Movement of money. For example, payments and refunds.
- Validations. For example, account verification or 3-D Secure authentication of the payer.
- Undoing other transactions. For example, voiding a payment transaction.
- Chargebacks.
- Fees from your payment service provider.
If you attempt an operation and it fails (eg you try to PAY on a card with no funds), then you need a new id for each retry.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
transaction.type Enumeration = Always Provided
Indicates the type of action performed on the order.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION
Authentication
AUTHORIZATION
Authorization
AUTHORIZATION_UPDATE
Authorization Update
CAPTURE
Capture
CHARGEBACK
Chargeback
DISBURSEMENT
Disbursement
FUNDING
The transaction transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from your payment service provider.
PAYMENT
Payment (Purchase)
REFUND
Refund
REFUND_REQUEST
Refund Request
VERIFICATION
Verification
VOID_AUTHORIZATION
Void Authorization
VOID_CAPTURE
Void Capture
VOID_PAYMENT
Void Payment
VOID_REFUND
Void Refund
Response parameters are the same as Transaction: Retrieve Transaction
error = CONDITIONAL
Information on possible error conditions that may occur while processing an operation using the API.
Fixed value
error.cause Enumeration = CONDITIONAL
Broadly categorizes the cause of the error.
For example, errors may occur due to invalid requests or internal system failures.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID_REQUEST
The request was rejected because it did not conform to the API protocol.
REQUEST_REJECTED
The request was rejected due to security reasons such as firewall rules, expired certificate, etc.
SERVER_BUSY
The server did not have enough resources to process the request at the moment.
SERVER_FAILED
There was an internal system failure.
error.explanation String = CONDITIONAL
Textual description of the error based on the cause.
This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
1000
error.field String = CONDITIONAL
Indicates the name of the field that failed validation.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
error.supportCode String = CONDITIONAL
Indicates the code that helps the support team to quickly identify the exact cause of the error.
This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
error.validationType Enumeration = CONDITIONAL
Indicates the type of field validation error.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID
The request contained a field with a value that did not pass validation.
MISSING
The request was missing a mandatory field.
UNSUPPORTED
The request contained a field that is unsupported.
result Enumeration = CONDITIONAL
A system-generated high level overall result of the operation.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ERROR
The operation resulted in an error and hence cannot be processed.