Update Session

Request to add or update request fields contained in the session.

URL https://na.gateway.mastercard.com/api/rest/version/44/merchant/{merchantId}/session/{sessionId}
HTTP Method PUT
Authentication This operation requires authentication via one of the following methods:
  • Certificate authentication.
  • Basic HTTP authentication as described at w3.org. Provide 'merchant.<your gateway merchant ID>' in the userid portion and your API password in the password portion.

Request Parameters

3DSecure   = OPTIONAL

Information on 3DSecure fields.
Fixed value

3DSecure.acsEci  Digits = OPTIONAL

It indicates the level of security and authentication of the transaction.
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

3DSecure.authenticationRedirect   = OPTIONAL

There are two options to generate the redirect page used to transfer the cardholder to the card Issuer's Access Control Server (ACS) for authentication:

1. Simple: submit the form generated by the gateway. In this case, only the htmlBodyContent parameter is required.
2. Customized: for those merchants who wish to customise the submission. In this case, the acsURL and paReq parameters will be required to formulate the submission.
Note: This field will only be returned in the event of a successful directory server lookup.
Fixed value

3DSecure.authenticationRedirect.pageGenerationMode  Enumeration = OPTIONAL

The response to the Check 3DS Enrollment operation will include the information required for the selected option. By default, the Simple option is used.
Existence
OPTIONAL
Fixed value
Validation Rules
An enumeration to allow a user to specify if they wish to adopt a customized solution or a simple solution.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CUSTOMIZED
A strategy to indicate that the user wishes to customize the response
SIMPLE
A simple interaction model where the response is complete and no user intervention is required.

3DSecure.authenticationRedirect.responseUrl  Url = OPTIONAL

Typically, this will be the merchant's website URL, which must be URL encoded for special characters such spaces, hyphens, etc.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

3DSecure.authenticationRedirect.simple   = OPTIONAL

The details required by the system to generate the HTML page as specified in the Simple option.
Fixed value

3DSecure.authenticationRedirect.simple.expectedHtmlEncoding  Enumeration = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
The available HTML Encoding options that a client may request.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ASCII
ISO_8859_1
Latin1
UTF_8

3DSecure.authenticationRedirect.simple.redirectDisplayBackgroundColor  Alphanumeric + additional characters = OPTIONAL

By default, the color is set to #FFFFFF.
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
7

3DSecure.authenticationRedirect.simple.redirectDisplayContinueButtonText  String = OPTIONAL

By default, the button text is set to "Click here to continue".
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

3DSecure.authenticationRedirect.simple.redirectDisplayTitle  String = OPTIONAL

By default, the title is set to "Process secure Payment".
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
200

3DSecure.authenticationStatus  Enumeration = OPTIONAL

Included only if payment authentication was attempted and a PARes (Payer Authentication Response) was received by the MPI.

The PARes message is the response received from the card Issuer's Access Control Server (ACS) after the cardholder has completed the authentication process.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Authentication was attempted but the card issuer did not perform the authentication.
AUTHENTICATION_NOT_AVAILABLE
An internal error occurred and Authentication is not currently available.
AUTHENTICATION_SUCCESSFUL
The cardholder was successfully authenticated.

3DSecure.authenticationToken  Base64 = OPTIONAL

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.
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.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is Base64 encoded
JSON type
String
allowable lengths
28 or 32

3DSecure.enrollmentStatus  Enumeration = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ENROLLED
The card is enrolled for 3DS authentication.
ENROLLMENT_STATUS_UNDETERMINED
The Issuer's ACS was unable to process the request to check enrollment or the card is ineligible.
NOT_ENROLLED
The card is not enrolled for 3DS authentication.

3DSecure.goodsDescription  String = OPTIONAL

If supported by the ACS, this description will be displayed on the authentication page where the cardholder types in their secret password.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
30

3DSecure.xid  Base64 = OPTIONAL

This field is mandatory for Verified By Visa transactions if authentication was available. The XID should be used in operation requests unaltered.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is Base64 encoded
JSON type
String
allowable length
28

3DSecureId  ASCII Text = OPTIONAL

It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.It is not used when the authentication is performed externally.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
1
maximum length
64

airline   = OPTIONAL

Airline industry specific data.
Fixed value

airline.bookingReference  Alphanumeric = OPTIONAL

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data must match regex
JSON type
String
regex
\w{2}|\d{3}|\w{2}/\d{3}
message
Carrier code must be 2 characters, 3 digits or a combination of both in the format: ZZ/999

airline.itinerary.leg[n].conjunctionTicketNumber  Alphanumeric = OPTIONAL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

airline.itinerary.leg[n].taxes  Decimal = OPTIONAL

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

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

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

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

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

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

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

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

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

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

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

airline.ticket.exchangedTicketNumber  Alphanumeric = OPTIONAL

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data must match regex
JSON type
String
regex
\w{2}|\d{3}|\w{2}/\d{3}
message
Carrier code must be 2 characters, 3 digits or a combination of both in the format: ZZ/999

airline.ticket.issue.carrierName  Alphanumeric = OPTIONAL

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  Alphanumeric = OPTIONAL

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
18

airline.ticket.issue.country  Upper case alphabetic text = OPTIONAL

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

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

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

airline.ticket.ticketNumber  Alphanumeric = OPTIONAL

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

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

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

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

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

authorizationResponse   = OPTIONAL

Authorisation response fields for a standalone capture request.
Fixed value

authorizationResponse.avsCode  ASCII Text = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
1
maximum length
100

authorizationResponse.cardLevelIndicator  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2

authorizationResponse.cardSecurityCodeError  String = OPTIONAL

An indicator, provided by the Issuer in the authorization response, to identify the presence of an invalid card security code (CSC). If there is an error, the Issuer will respond with the 1-byte CSC Error Code (Y).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
1

authorizationResponse.cardSecurityCodePresenceIndicator  Alphanumeric = OPTIONAL

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

authorizationResponse.commercialCard  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

authorizationResponse.commercialCardIndicator  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
1

authorizationResponse.financialNetworkCode  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

authorizationResponse.financialNetworkDate  Date = OPTIONAL

For transactions processed via the MasterCard Network this is the MasterCard Network Reference Date.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

authorizationResponse.marketSpecificData  String = OPTIONAL

For example, B may indicate "bill payment" depending on the acquirer.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
1

authorizationResponse.returnAci  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
1

authorizationResponse.transactionIdentifier  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
15

authorizationResponse.validationCode  String = OPTIONAL

This value must be stored to be sent with the capture transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4

billing   = OPTIONAL

Details of the payer's billing address.
Fixed value

billing.address   = OPTIONAL

This data may be used to qualify for better interchange rates on corporate purchase card transactions.
Fixed value

billing.address.city  String = OPTIONAL

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

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

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

billing.address.street  String = OPTIONAL

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

constraints   = OPTIONAL

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

Specify payment plan constraints to restrict the available payment plan options for this transaction.
Fixed value

constraints.paymentPlans.numberOfDeferrals  Integer = OPTIONAL

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

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

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.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

correlationId  String = OPTIONAL

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

currencyConversion   = OPTIONAL

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 provided on subsequent transactions or an order, DCC information will be ignored.
Fixed value

currencyConversion.exchangeRateTime  DateTime = OPTIONAL

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 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

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 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 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 data is for information purposes, and may be useful if you use multiple DCC providers.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FEXCO
TRAVELEX_CURRENCY_SELECT

currencyConversion.providerReceipt  String = OPTIONAL

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

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

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.email  Email = OPTIONAL

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

customer.mobilePhone  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

customer.phone  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

customer.taxRegistrationId  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30

device   = OPTIONAL

Information associated with the device's source of transaction.
Fixed value

device.ani  String = OPTIONAL

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

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

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
255

device.fingerprint  String = OPTIONAL

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
7
maximum length
15

device.mobilePhoneModel  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

locale  String = OPTIONAL

By default, the language is determined from your configuration. Supply a value for this field only if you wish to override the default behavior. If the language you specify is not supported by the gateway, the payment is displayed in the best matching language.

See Dynamic Currency Conversion for more detail.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must be a language identifier or IETF language tag
JSON type
String
minimum length
2
maximum length
5

merchant  Alphanumeric + additional characters = OPTIONAL

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

order   = OPTIONAL

Information about the order associated with this transaction.
Fixed value

order.acceptPartialAmount  Boolean = OPTIONAL

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.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

order.amount  Decimal = OPTIONAL

If you provide both this value and any of the sub-total amounts (order.itemAmount, order.shippingAndHandlingAmount, order.taxAmount) then the sum of the sub-total amounts MUST equal the 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.cashAdvance  Boolean = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
String

order.cashbackAmount  Decimal = OPTIONAL

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
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 = OPTIONAL

Existence
OPTIONAL
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

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

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

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

order.discount   = OPTIONAL

For example, you may apply discounts for trade, employees, bulk purchase, or a sales promotion.
Fixed value

order.discount.amount  Decimal = OPTIONAL

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

order.expectedNumberOfCaptures  Digits = OPTIONAL

It indicates the total number of capture requests you intend to submit for an order. For example, if you intend to deliver the goods in two shipments and will capture part of the total amount authorized when you make each shipment, set the value of this field to 2.
If the value ever equals or drops below the actual number of successful captures, then the gateway will prevent further captures and will void any unused authorized funds. If you are unsure of the number of captures, just set the value to 99, and then set it to 1 on your last capture.
If it is not specified on Capture operations, the last specified value is retained (defaulting to 1).
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 1 and 99 represented as a string.
JSON type
String

order.gratuityAmount  Decimal = OPTIONAL

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.id  String = OPTIONAL

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
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

order.invoiceNumber  String = OPTIONAL

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

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.notificationUrl  Url = OPTIONAL

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 the URL begins with 'https' and is longer than 11 characters.
JSON type
String

order.owningEntity  String = OPTIONAL

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.recurringPaymentAgreement  Alphanumeric = OPTIONAL

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

order.reference  String = OPTIONAL

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

order.shippingAndHandlingAmount  Decimal = OPTIONAL

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.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

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

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

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

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

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

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

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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

order.subMerchant   = OPTIONAL

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

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

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

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

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

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

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

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

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.email  Email = OPTIONAL

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.identifier  String = OPTIONAL

You can use this identifier in searches and reports in the gateway.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

order.subMerchant.phone  String = OPTIONAL

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

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 = OPTIONAL

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
OPTIONAL
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

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

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 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

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.
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

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

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.walletIndicator  String = OPTIONAL

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

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.
ANDROID_PAY
Android Pay mobile wallet provider.
APPLE_PAY
Apple 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 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

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.numberOfDeferrals  Digits = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 0 and 99 represented as a string.
JSON type
String

paymentPlan.numberOfPayments  Digits = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 1 and 99 represented as a string.
JSON type
String

paymentPlan.planId  String = OPTIONAL

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

paymentType  Enumeration = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACH
BANCANET
CARD
GIFT_CARD
GIROPAY
PAYPAL
SOFORT
UNION_PAY

responseControls   = OPTIONAL

Container for fields that control the response returned for the request.
Fixed value

responseControls.sensitiveData  String = OPTIONAL

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

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

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
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000

risk.paymentRecipient   = OPTIONAL

Your acquirer may require you to provide these details if you are a financial institution (Merchant Category Code 6012) submitting a transaction for a person paying off outstanding debts. Otherwise, do not provide these data elements.
Fixed value

risk.paymentRecipient.accountIdentifier  String = OPTIONAL

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
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

risk.paymentRecipient.dateOfBirth  Date = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

risk.paymentRecipient.lastName  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

risk.paymentRecipient.postcodeZip  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

session.version  ASCII Text = OPTIONAL

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.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
10
maximum length
10

shipping   = OPTIONAL

Information on the shipping address including the contact details of the addressee.
Fixed value

shipping.address   = OPTIONAL

This data may be used to qualify for better interchange rates on corporate purchase card transactions.
Fixed value

shipping.address.city  String = OPTIONAL

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

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

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

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.stateProvince  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

shipping.address.street  String = OPTIONAL

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

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 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

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

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

shipping.contact.mobilePhone  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

shipping.contact.phone  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

shipping.method  Enumeration = OPTIONAL

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).
OVERNIGHT
Overnight (next day).
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.

origin.postcodeZip  Alphanumeric + additional characters = OPTIONAL

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   = OPTIONAL

For card payments these 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

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.ach   = OPTIONAL

It is your responsibility to authenticate the payer and obtain authorization from the payer in accordance with the NACHA Operating Rules and Guidelines for the Standard Entry Class (SEC) associated with this payment. For details please refer to https://www.nacha.org/.
Fixed value

sourceOfFunds.provided.ach.accountType  Enumeration = OPTIONAL

  • Consumer (checking or savings), or
  • Business

For pre-arranged payments (sourceOfFunds.provided.ach.secCode=PPD) retrieve this information from the payer.

If payments were telephone-initiated (sourceOfFunds.provided.ach.secCode=TEL) or internet-initiated (sourceOfFunds.provided.ach.secCode=WEB) you may choose to limit the payer's options (e.g. only support consumer checking accounts), depending on your type of business (e.g. B2C online webshop).

Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CONSUMER_CHECKING
Consumer Checking Account
CONSUMER_SAVINGS
Consumer Savings Account
CORPORATE_CHECKING
Business Checking Account

sourceOfFunds.provided.ach.bankAccountHolder  String = OPTIONAL

Retrieve this information from the payer.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
28

sourceOfFunds.provided.ach.bankAccountNumber  Alphanumeric + additional characters = OPTIONAL

Retrieve this information from 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
17

sourceOfFunds.provided.ach.routingNumber  Digits = OPTIONAL

Also known as:
  • Routing number,
  • Transit number, or
  • ABA number

Retrieve this information from the payer.

See also http://en.wikipedia.org/wiki/Routing_transit_number.

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
9

sourceOfFunds.provided.ach.secCode  Enumeration = OPTIONAL

The SEC is defined by NACHA and describes the origin and intent of the payment. For details please refer to https://www.nacha.org/.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
PPD
An ACH debit or credit payment (B2C) that has been authorized by an authenticated customer in written form (signed or similarly authenticated). PPD is used for pre-arranged payments (e.g. employee payroll, mortgage payments, expense reimbursement).
TEL
An ACH debit payment (B2C) that has been authorized by an authenticated customer via phone. TEL may only be used if a relationship already exists between you and the consumer, or, the consumer initiates the contact with you.
WEB
An ACH debit payment (B2C) that has been authorized by an authenticated customer via the internet or a wireless network.

sourceOfFunds.provided.card   = OPTIONAL

Details as shown on the card.
Fixed value

sourceOfFunds.provided.card.accountType  Enumeration = OPTIONAL

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.emvRequest  String = OPTIONAL

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.
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.
Fixed value

sourceOfFunds.provided.card.expiry.month  Digits = OPTIONAL

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.expiry.year  Digits = OPTIONAL

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.mobileWallet   = OPTIONAL

Use this parameter group when accepting payments from mobile wallet providers such as Apple Pay, Android Pay or Samsung Pay.
Fixed value

sourceOfFunds.provided.card.mobileWallet.3DSecure   = OPTIONAL

Cryptogram data for mobile wallet payments provided in 3DSecure format.
Fixed value

sourceOfFunds.provided.card.mobileWallet.3DSecure.eciIndicator  Digits = OPTIONAL

It indicates the level of security and authentication of the transaction.
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.mobileWallet.3DSecure.onlinePaymentCryptogram  Base64 = OPTIONAL

This will be in Base64 format for MasterCard and Visa transactions and binary format for American Express transactions.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is Base64 encoded
JSON type
String
minimum length
1
maximum length
128

sourceOfFunds.provided.card.mobileWallet.cryptogramFormat  Enumeration = OPTIONAL

You must provide the cryptogram format when you decrypt the payment token and provide the payment details (including the online payment cryptogram) in the transaction request.
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.nameOnCard  String = OPTIONAL

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

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.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.provided.card.p2pe.cardBin  Digits = OPTIONAL

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.
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.provided.card.p2pe.encryptionState  String = OPTIONAL

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.provided.card.p2pe.initializationVector  Hex = OPTIONAL

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.provided.card.p2pe.keySerialNumber  Hex = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is hexadecimal encoded
JSON type
String
minimum length
20
maximum length
20

sourceOfFunds.provided.card.provided.card.p2pe.payload  Hex = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is hexadecimal encoded
JSON type
String
minimum length
32
maximum length
1024

sourceOfFunds.provided.card.provided.card.prefix  Digits = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
6
maximum length
9

sourceOfFunds.provided.card.securityCode  Digits = OPTIONAL

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

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.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

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

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

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

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.type  Enumeration = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACH
The payer chose to pay using an electronic fund transfer, to be processed via the Automated Clearing House (ACH) Network. You must provide the payer's bank account details and information about the type of ACH payment under the sourceOfFunds.provided.ach parameter group.
CARD
The payer selected to pay using a credit or debit card. The payer's card details must be provided.
GIFT_CARD
The payer chose to pay using gift card. The payer's gift card details must be provided under the sourceOfFunds.provided.giftCard parameter group.

token  Alphanumeric = OPTIONAL

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

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

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.transactionId  String = OPTIONAL

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.amount  Decimal = OPTIONAL

Expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
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

transaction.authorizationCode  Alphanumeric = OPTIONAL

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
6

transaction.currency  Upper case alphabetic text = OPTIONAL

Not required for basic verification.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction.discountAmount  Decimal = OPTIONAL

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

transaction.frequency  Enumeration = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INSTALLMENT
Indicates an installment transaction where the payer authorizes you to deduct multiple payments over an agreed period of time for a single purchase.
RECURRING
Indicates a recurring transaction where the payer authorizes you to automatically debit their accounts for bill or invoice payments.
SINGLE
Indicates a single transaction where a single payment is used to complete the order.

transaction.id  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction.item[n]   = OPTIONAL

Information about the items the payer purchases with the order.
Fixed value

transaction.item[n].brand  String = OPTIONAL

For example, Dell.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

transaction.item[n].category  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

transaction.item[n].description  String = OPTIONAL

For example, 'Color:Red, Size:M'
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

transaction.item[n].detail   = OPTIONAL

Check with your payment service provider if Level 3 data is supported for your acquirer.
Fixed value

transaction.item[n].detail.acquirerCustom  JSON Text = OPTIONAL

Data must be provided in JSON format using the record name and field name (separated by a comma) to identify the value provided. Contact your payment service provider for details about the supported fields including the field definitions.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is valid Json Format
JSON type
String
minimum length
1
maximum length
4000

transaction.item[n].detail.commodityCode  Digits = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 1 and 9999999999999999 represented as a string.
JSON type
String

transaction.item[n].detail.unitDiscountRate  Decimal = OPTIONAL

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

transaction.item[n].detail.unitTax[n]   = OPTIONAL

Information about the taxes per unit.
Fixed value

transaction.item[n].detail.unitTax[n].amount  Decimal = OPTIONAL

Note that the tax amount provided must reflect the tax amount applied before a discount was applied.
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

transaction.item[n].detail.unitTax[n].rate  Decimal = OPTIONAL

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

transaction.item[n].detail.unitTax[n].type  String = OPTIONAL

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
127

transaction.item[n].detail.unitTaxRate  Decimal = OPTIONAL

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

transaction.item[n].detail.unitTaxType  String = OPTIONAL

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
10

transaction.item[n].detail.unspsc  Digits = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 1 and 9999999999999999 represented as a string.
JSON type
String

transaction.item[n].detail.upc  Digits = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 1 and 9999999999999999 represented as a string.
JSON type
String

transaction.item[n].industryCategory  Enumeration = OPTIONAL

Such processing might have legal obligations, which are your responsibility. Do not provide an industry category, unless you are certain it applies to you, and is accepted by your acquirer.

We support the following industry standard processing:

US health care processing using the IIAS standard.

The supported values for this field are:

HEALTHCARE_VISION, HEALTHCARE_DENTAL, HEALTHCARE_PRESCRIPTION, HEALTHCARE_OTHER

We formulate an IIAS message by summing the amounts of all the line items with the same industry category. The amount of a line item is computed as:

(order.item.unitPrice + order.item.tax) * order.item.quantity
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HEALTHCARE_DENTAL
HEALTHCARE_OTHER
HEALTHCARE_PRESCRIPTION
HEALTHCARE_VISION

transaction.item[n].name  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

transaction.item[n].quantity  Digits = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data is a number between 1 and 9999999999999999 represented as a string.
JSON type
String

transaction.item[n].sku  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

transaction.item[n].unitDiscountAmount  Decimal = OPTIONAL

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

transaction.item[n].unitOfMeasure  String = OPTIONAL

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
10

transaction.item[n].unitPrice  Decimal = OPTIONAL

This amount is multiplied with the item quantity (item.quantity) to determine the total amount for this item (item.amount). This amount does not include the tax amount and/or discount amount applicable to this item.
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

transaction.item[n].unitTaxAmount  Decimal = OPTIONAL

This amount is multiplied with the item quantity (item.quantity) to determine the total tax amount for this item.
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

transaction.itemAmount  Decimal = OPTIONAL

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

transaction.merchantNote  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250

transaction.priorApproval  Enumeration = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
REQUESTED
Requested

transaction.reference  String = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction.shippingAndHandlingAmount  Decimal = OPTIONAL

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

transaction.source  Enumeration = OPTIONAL

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.
MOTO
Transaction received by mail or telephone.
TELEPHONE_ORDER
Transaction received by telephone.
VOICE_RESPONSE
Transaction conducted by a voice/DTMF recognition system.

transaction.targetTransactionId  String = OPTIONAL

That is the {transactionId} URL field for REST and the transaction.id field for NVP.

If you do not provide a target transaction ID the gateway will try to identify a transaction. If no transaction can be found or more than one transaction is identified, the request is rejected.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction.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 transaction.taxAmount.
Fixed value

transaction.tax[n].amount  Decimal = OPTIONAL

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

transaction.tax[n].rate  Decimal = OPTIONAL

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

transaction.tax[n].type  String = OPTIONAL

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

transaction.taxAmount  Decimal = OPTIONAL

You only need to provide this field when you capture or refund part of the order amount. In this case, the amount must not exceed order.taxAmount. If you provide this field when you capture or refund the full amount of the order, then the value provided must match order.taxAmount.
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

transaction.taxStatus  Enumeration = OPTIONAL

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.

transactionSource  Enumeration = OPTIONAL

For example, INTERNET, MOTO.
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.
MOTO
Transaction received by mail or telephone.
TELEPHONE_ORDER
Transaction received by telephone.
VOICE_RESPONSE
Transaction conducted by a voice/DTMF recognition system.

userId  String = OPTIONAL

For Merchant Administration, the person is identified by their logon name.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
256

verificationStrategy  Enumeration = OPTIONAL

You only need to specify the verification strategy if you want to override the default value configured for your merchant profile. When the verification strategy is BASIC or ACQUIRER you must also provide the card expiry date in the sourceOfFunds.provided.card.expiry parameter group.
Existence
OPTIONAL
Fixed value
Validation Rules
Used to nominate which type of Verification to use when payment instrument details are stored in the token repository. This setting overrides the default settings in Merchant Manager.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACQUIRER
The gateway performs a Web Services API Verify request. Depending on the payment type, you may need to provide additional details to enable the submission of a Verify request.
BASIC
The gateway verifies the syntax and supported ranges of the payment instrument details provided, .e.g for a card it validates the card number format and checks if the card number falls within a valid BIN range.
NONE
The gateway does not perform any validation or verification of the payment instrument details provided.

wallet.amexExpressCheckout   = OPTIONAL

Provide the details for the Amex Express Checkout Wallet.
Fixed value

wallet.amexExpressCheckout.authCode  String = OPTIONAL

You need this to get the customer details from Amex Express Checkout.Get this value from the Amex Express Checkout Success callback, after the Amex Express Checkout interaction is completed.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

wallet.amexExpressCheckout.selectedCardType  String = OPTIONAL

Get this value from the Amex Express Checkout Success callback, after the Amex Express Checkout interaction is completed..
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

wallet.amexExpressCheckout.transactionId  String = OPTIONAL

Get this value from the Amex Express Checkout Success callback, after the Amex Express Checkout interaction is completed.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
36

wallet.amexExpressCheckout.walletId  String = OPTIONAL

Get this value from the Amex Express Checkout Success callback, after the Amex Express Checkout interaction is completed.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2

wallet.masterpass   = OPTIONAL

Information about the payer's MasterPass wallet.
Fixed value

wallet.masterpass.checkoutUrl  Url = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

wallet.masterpass.oauthToken  String = OPTIONAL

The gateway will use this, to retrieve the payer's payment details for the respective interaction from MasterPass and store them against the payment session (identified in field session.id). Mandatory for the MASTERPASS_ONLINE Wallet Provider.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpass.oauthVerifier  String = OPTIONAL

The gateway will use this, to retrieve the payer's payment details for the respective interaction from MasterPass and store them against the payment session (identified in field session.id). Mandatory for the MASTERPASS_ONLINE Wallet Provider.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpass.originUrl  Url = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

wallet.masterpass.secondaryOriginUrl  Url = OPTIONAL

Provide this field only when the Lightbox will be invoked from a frame that's on a merchant site, and when that frame has a different domain than the merchant site.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

wallet.masterpassExpressCheckout   = OPTIONAL

The wallet details are added to the session.
Fixed value

wallet.masterpassExpressCheckout.longAccessToken  String = OPTIONAL

Provide this token to obtain pre-checkout data from the payer's wallet for future interactions.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpassExpressCheckout.masterpassCardId  String = OPTIONAL

Provide this value to MasterPass in the cardId parameter when you initiate a 'Connected Checkout' or 'Express Checkout' MasterPass interaction for this wallet.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpassExpressCheckout.masterpassShippingId  String = OPTIONAL

Provide this value to MasterPass in the shippingId parameter when you initiate a 'Connected Checkout' or 'Express Checkout' MasterPass interaction for this wallet.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpassExpressCheckout.originUrl  Url = OPTIONAL

Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

wallet.masterpassExpressCheckout.precheckoutTransactionId  String = OPTIONAL

Provide this value to MasterPass when you initiate a 'Connected Checkout' or 'Express Checkout' MasterPass interaction for this wallet.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

wallet.masterpassExpressCheckout.secondaryOriginUrl  Url = OPTIONAL

Provide this field only when the Lightbox will be invoked from a frame that's on a merchant site, and when that frame has a different domain than the merchant site.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

wallet.visaCheckout   = OPTIONAL

Provide the details for the VisaCheckout Wallet.
Fixed value

wallet.visaCheckout.callId  String = OPTIONAL

The gateway will use this, to retrieve the payer's payment details for the respective interaction from Visa Checkout and store them against the payment session (identified in field session.id). Mandatory for the VISA_CHECKOUT Wallet Provider.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
48

{merchantId}  Alphanumeric + additional characters COMPULSORY

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

{sessionId}  ASCII Text COMPULSORY

Existence
COMPULSORY
Validation Rules
Data consists of ASCII characters
XSD type
string
minimum length
31
maximum length
35

Response Parameters

merchant  Alphanumeric + additional characters = Always Provided

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

session   = Always Provided

Session Information
Fixed value

session.id  ASCII Text = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
31
maximum length
35

session.updateStatus  Enumeration = Always Provided

In order to perform an operation using this session this value must be SUCCESS.
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 last attempt to place data into the session was unsuccessful. The session may contain invalid data. A request operation using this session will be rejected by the payment gateway.
NO_UPDATE
No attempt has been made to place data into the session. A request operation using this session will be rejected by the payment gateway.
SUCCESS
The last attempt to update the session was successful. You may submit a request operation using this session.

session.version  ASCII Text = Always Provided

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.

See Making Business Decisions Based on Session Content.
Existence
Always Provided
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
10
maximum length
10

wallet.masterpass   = CONDITIONAL

Response fields from MasterPass operations.
Fixed value

wallet.masterpass.allowedCardTypes  String = CONDITIONAL

You provide this value when you initiate a MasterPass interaction to limit the card types that the payer can select to those supported by the merchant.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpass.longAccessToken  String = CONDITIONAL

Save this token and use it in the Retrieve Wallet Options request to obtain pre-checkout data from the payer's wallet for future interactions.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpass.merchantCheckoutId  String = CONDITIONAL

You provide this value on order to initiate a MasterPass interaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpass.originUrl  Url = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

wallet.masterpass.payerAuthentication  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_REQUIRED
This operation does not require further payer authentication.
REQUIRED
This operation requires further payer authentication.

wallet.masterpass.requestToken  String = CONDITIONAL

You provide this value in order to initiate a MasterPass interaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

wallet.masterpass.secondaryOriginUrl  Url = CONDITIONAL

Provide this field only when the Lightbox will be invoked from a frame that's on a merchant site, and when that frame has a different domain than the merchant site.
Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String

wallet.visaCheckout   = CONDITIONAL

Response fields from Visa Checkout Open Wallet operation.
Fixed value

wallet.visaCheckout.cardArts  String = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
200

wallet.visaCheckout.cardBrand  String = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

Response parameters are the same as Session: Retrieve Session

error   = CONDITIONAL

Information on possible error conditions that may occur while processing an operation using the API.
Fixed value

error.cause  Enumeration = CONDITIONAL

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

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

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

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

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

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.

Copyright © 2023 Mastercard