Create Checkout Session
Request to create a session identifier for the checkout interaction. The session identifier, when included in the Checkout.configure() function, allows you to return the payer to the merchant's website after completing the payment attempt.
URL | https://eu-gateway.mastercard.com/api/rest/version/52/merchant/{merchantId}/session |
HTTP Method | POST |
Authentication |
This operation requires authentication via one of the following methods:
|
Request Parameters
apiOperation String =CREATE_CHECKOUT_SESSION FIXED
Existence
FIXED
Fixed value
CREATE_CHECKOUT_SESSION
Validation Rules
Any sequence of zero or more unicode characters.
XSD type
string
interaction = COMPULSORY
Information that controls the payer's checkout interaction.
Fixed value
interaction.operation Enumeration = COMPULSORY
Indicates the operation that you wish to perform during the Hosted Checkout interaction.
Existence
COMPULSORY
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHORIZE
Request for the Hosted checkout interaction to create Authorization transaction for the payment.
NONE
Hosted Checkout will collect the payment details from the payer and securely store them against the Hosted Checkout session. No operation will be performed after the payer interaction.
PURCHASE
Request for the Hosted checkout interaction to create Purchase transaction for the payment.
VERIFY
Request for the Hosted Checkout interaction to verify the payer's account. The payment details are verified using the verification method supported by the acquirer and the data provided in the request.
order = COMPULSORY
Information about the order associated with this transaction.
Fixed value
order.amount Decimal = OPTIONAL
The total amount for the order. This is the net amount plus any surcharge.
If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount), minus the order.discountAmount must equal the net amount.
The value of this field in the response may be zero if payer funds are not transferred.
The value of this field in the response may be zero if payer funds are not transferred.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.currency Upper case alphabetic text = COMPULSORY
The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.
Existence
COMPULSORY
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.id String = COMPULSORY
A unique identifier for this order to distinguish it from any other order you create.
Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order you create using your merchant profile.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
agreement = OPTIONAL
A series of related orders that execute one commercial agreement.
For example, linking the orders for a series of recurring payments (a mobile phone subscription), split tenders (one payment using two cards), or when the merchant offers to take payments by a series of installments (hire purchase).
You must provide this data for some types of payments (such as recurring), but you can provide it for any cases where you want to link orders together.
You must provide this data for some types of payments (such as recurring), but you can provide it for any cases where you want to link orders together.
Fixed value
agreement.id String = COMPULSORY
Your identifier for the agreement you have with the payer to process payments.
When you collect cards from your payers and store them for later use, you must provide an agreement ID when you use the stored values for:
- Recurring payments: you have an agreement with the payer that authorizes you to automatically debit their account at agreed intervals for fixed or variable amounts. For example, gym membership, phone bills, or magazine subscriptions.
- Installment payments: you have an agreement with the payer that authorizes you to process multiple payments over an agreed period of time for a single purchase. For example, the payer purchases an item for $1000 and pays for it in four monthly installments.
- Unscheduled: you have an agreement with the payer that authorizes you to process future payments when required. For example, the payer authorizes you to process an account top-up transaction for a transit card when the account balance drops below a certain threshold.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
airline = OPTIONAL
Airline industry specific data.
Fixed value
airline.bookingReference Alphanumeric = OPTIONAL
The record locator used to access a specific Passenger Name Record (PNR).
PNR is a record in the database of a booking system that contains the itinerary for a passenger, or a group of passengers traveling together.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
6
maximum length
15
airline.documentType Enumeration = OPTIONAL
The type of charge associated with the transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Document Type Code
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ADDITIONAL_COLLECTION
Additional Collection
AGENCY_EXCHANGE_ORDER
Agency Exchange Order
AGENCY_GROUP_TICKET
Agency Group Ticket
AGENCY_MISCELLANEOUS_CHARGE_ORDER
Agency Misc. Charge Order (MCO)
AGENCY_PASSENGER_TICKET
Agency Passenger Ticket
AGENCY_TOUR_ORDER_OR_VOUCHER
Agency Tour Order/Voucher
AIR_FREIGHT
SPD/Air Freight
ANIMAL_TRANSPORTATION_CHARGE
Animal Transportation Charge
CATALOGUE_MERCHANDISE_ORDERED
Catalogue Merchandise Ordered
CLUB_MEMBERSHIP_FEE
Club Membership Fee
COUPON_BOOK
Coupon Book
CREDIT_CLASS_SERVICE_ADJUSTMENT
Credit Class of Service Adjustment
CREDIT_DENIED_BOARDING
Credit Denied Boarding
CREDIT_EXCHANGE_REFUND
Credit Exchange Refund
CREDIT_LOST_TICKET_REFUND
Credit Lost Ticket Refund
CREDIT_MISCELLANEOUS_REFUND
Credit Misc. Refund
CREDIT_MULTIPLE_UNUSED_TICKETS
Credit Multiple Unused Tickets
CREDIT_OVERCHARGE_ADJUSTMENT
Credit Overcharge Adjustment
CREDIT_UNUSED_TRANSPORTATION
Credit Unused Transportation
DEBT_ADJUSTMENT_DUPLICATE_REFUND_OR_USE
Debt Adjustment Duplicate Refund/Use
DUTY_FREE_SALE
Duty Free Sale
EXCESS_BAGGAGE
Excess Baggage
EXCHANGE_ADJUSTMENT
Exchange Adjustment
EXCHANGE_ORDER
Exchange Order
FIREARMS_CASE
Firearms Case
FREQUENT_FLYER_FEE_OR_PURCHASE
Frequent Flyer Fee/Purchase
FREQUENT_FLYER_FULFILLMENT
Frequent Flyer Fulfillment
FREQUENT_FLYER_OVERNIGHT_DELIVERY_CHARGE
Frequent Flyer Overnight Delivery Charge
GROUP_TICKET
Group Ticket
IN_FLIGHT_ADJUSTMENT
In-flight Adjustment
IN_FLIGHT_CHARGES
In-flight Charges
IN_FLIGHT_DUTY_FREE_PURCHASE
In-flight Duty Free Purchase
IN_FLIGHT_MERCHANDISE_ORDERED
In-flight Merchandise Ordered
IN_FLIGHT_PHONE_CHARGES
In-flight Phone Charges
KENNEL_CHARGE
Kennel Charge
LOST_TICKET_APPLICATION
Lost Ticket Application
MISCELLANEOUS_CHARGE_ORDER_OR_PREPAID_TICKET_ADVICE
Misc. Charge Order (MCO) / Prepaid Ticket Auth.
MISCELLANEOUS_TAXES_FEES
Miscellaneous Tax(es) Fee(s)
PASSENGER_TICKET
Passenger Ticket
SELF_SERVICE_TICKETS
Self-Service Ticket(s)
SENIOR_CITIZEN_DISCOUNT_BOOKLETS
Senior Citizen Discount Booklets
SMALL_PACKAGE_DELIVERY
Small Package Delivery
SPECIAL_SERVICE_TICKET
Special Service Ticket
SUPPORTED_REFUND
Supported Refund
TICKET_BY_MAIL
Ticket by Mail
TOUR_DEPOSIT
Tour Deposit
TOUR_ORDER_VOUCHER
Tour Order Voucher
UNDERCHARGE_ADJUSTMENT
Undercharge Adjustment
UNSUPPORTED_REFUND
Unsupported Refund
UPGRADE_CHARGE
Upgrade Charge
VENDOR_REFUND_CREDIT
Vendor Refund Credit
VENDOR_SALE
Vendor Sale
airline.itinerary = OPTIONAL
Itinerary details
Fixed value
airline.itinerary.leg[n] = OPTIONAL
Travel leg details.
Fixed value
airline.itinerary.leg[n].carrierCode Regex = OPTIONAL
The 2-character IATA airline code or 3 digit accounting code or both of the airline carrier for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must match regex
JSON type
String
regex
\w{2}|\d{3}|\w{2}/\d{3}
airline.itinerary.leg[n].conjunctionTicketNumber Alphanumeric = OPTIONAL
The ticket containing the coupon for this leg for an itinerary with more than four trip legs.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.itinerary.leg[n].couponNumber Alphanumeric = OPTIONAL
The coupon number on the ticket for the trip leg.
Each trip leg requires a separate coupon. The coupon within the series is identified by the coupon number.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
1
airline.itinerary.leg[n].departureAirport Upper case alphabetic text = OPTIONAL
The 3 character IATA airport code of the departure airport for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.itinerary.leg[n].departureDate Date = OPTIONAL
Date of departure for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
airline.itinerary.leg[n].departureTax Decimal = OPTIONAL
Tax payable on departure for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].departureTime Time = OPTIONAL
Departure time in local time for the departure airport for this trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended time formats, hh:mm[:ss]Z or hh:mm[:ss](+/-)hh[:mm]
JSON type
String
airline.itinerary.leg[n].destinationAirport Upper case alphabetic text = OPTIONAL
The 3 character IATA airport code for the destination airport for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.itinerary.leg[n].destinationArrivalDate Date = OPTIONAL
Arrival date in local time for the destination airport for this trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
airline.itinerary.leg[n].destinationArrivalTime Time = OPTIONAL
Arrival time in local time for the destination airport for this trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended time formats, hh:mm[:ss]Z or hh:mm[:ss](+/-)hh[:mm]
JSON type
String
airline.itinerary.leg[n].endorsementsRestrictions Alphanumeric = OPTIONAL
Restrictions (e.g. non-refundable) or endorsements applicable to the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
20
airline.itinerary.leg[n].exchangeTicketNumber Alphanumeric = OPTIONAL
New ticket number issued when a ticket is exchanged for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.itinerary.leg[n].fare Decimal = OPTIONAL
Total fare payable for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].fareBasis Alphanumeric = OPTIONAL
Code defining the rules forming the basis of the fare (type of fare, class entitlement, etc.)
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
24
airline.itinerary.leg[n].fees Decimal = OPTIONAL
Total fees payable for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].flightNumber Alphanumeric = OPTIONAL
The flight number for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
4
maximum length
6
airline.itinerary.leg[n].stopoverPermitted Boolean = OPTIONAL
Indicates if a stopover is permitted for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.itinerary.leg[n].taxes Decimal = OPTIONAL
Total taxes payable for the trip leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.itinerary.leg[n].travelClass Alphanumeric = OPTIONAL
The industry code indicating the class of service (e.g. Business, Coach) for the leg.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
3
airline.itinerary.numberInParty Digits = OPTIONAL
Number of passengers associated with this booking.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
3
airline.itinerary.originCountry Upper case alphabetic text = OPTIONAL
The 3 character ISO 3166-1 alpha-3 country code of the country of origin for the itinerary.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.passenger[n] = OPTIONAL
Passenger details
Fixed value
airline.passenger[n].firstName String = OPTIONAL
First name of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
airline.passenger[n].frequentFlyerNumber String = OPTIONAL
Frequent Flyer or Loyalty Program number for this passenger.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
airline.passenger[n].lastName String = OPTIONAL
Last name of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
airline.passenger[n].middleName String = OPTIONAL
Middle name of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
airline.passenger[n].specificInformation Alphanumeric = OPTIONAL
Passenger specific information recorded on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
59
airline.passenger[n].title String = OPTIONAL
Title of the passenger to whom the ticket is being issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
airline.planNumber Alphanumeric = OPTIONAL
Plan number supplied by the airline for this booking.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
2
maximum length
2
airline.ticket = OPTIONAL
Ticket details
Fixed value
airline.ticket.conjunctionTicketIndicator Boolean = OPTIONAL
Indicates if a conjunction ticket with additional coupons was issued.
Conjunction ticket refers to two or more tickets concurrently issued to a passenger and which together constitute a single contract of carriage.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.ticket.eTicket Boolean = OPTIONAL
Indicates if an electronic ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.ticket.exchangedTicketNumber Alphanumeric = OPTIONAL
The original ticket number when this is a transaction for an exchanged ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.ticket.issue = OPTIONAL
Ticket issue information.
Fixed value
airline.ticket.issue.address String = OPTIONAL
The address where the ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
16
airline.ticket.issue.carrierCode Regex = OPTIONAL
The 2-character IATA airline code or 3 digit accounting code or both of the airline carrier issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must match regex
JSON type
String
regex
\w{2}|\d{3}|\w{2}/\d{3}
airline.ticket.issue.carrierName Alphanumeric = OPTIONAL
Name of airline carrier issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
25
airline.ticket.issue.city Alphanumeric = OPTIONAL
The city/town where the ticket was issued.
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
The 3 character ISO 3166-1 alpha-3 country code of the country where the ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
airline.ticket.issue.date Date = OPTIONAL
The date the ticket was issued.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
airline.ticket.issue.travelAgentCode Alphanumeric = OPTIONAL
Industry code of the travel agent issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
9
airline.ticket.issue.travelAgentName Alphanumeric = OPTIONAL
Name of the travel agent issuing the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
30
airline.ticket.restricted Boolean = OPTIONAL
Indicates if the issued ticket is refundable.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean
airline.ticket.taxOrFee[n] = OPTIONAL
Breakdown of the ticket taxes, airport taxes, charges and fees for an airline ticket purchase.The total of the amounts in this group should equal the sum of the airline.ticket.totalFees and airline.ticket.totalTaxes fields.
Fixed value
airline.ticket.taxOrFee[n].amount Decimal = OPTIONAL
The tax, charge or fee amount payable.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.ticket.taxOrFee[n].type Alphanumeric = OPTIONAL
The tax, charge or fee type code as assigned by IATA.
For example, the IATA tax/ charge/ fee type for Passenger Movement Charge (PMC) in Australia is TT1.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
3
maximum length
3
airline.ticket.ticketNumber Alphanumeric = OPTIONAL
The airline ticket number associated with the transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
16
airline.ticket.totalFare Decimal = OPTIONAL
Total fare for all trip legs on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.ticket.totalFees Decimal = OPTIONAL
Total fee for all trip legs on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.ticket.totalTaxes Decimal = OPTIONAL
Total taxes for all trip legs on the ticket.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
airline.transactionType Enumeration = OPTIONAL
The type of transaction performed against this airline booking.
Existence
OPTIONAL
Fixed value
Validation Rules
Transaction Type
JSON type
String
Value must be a member of the following list. The values are case sensitive.
EXCHANGE_TICKET
Exchange Ticket
MISCELLANEOUS_CHARGE
Miscellaneous Charge
REFUND
Refund
REVERSAL
Reversal
TICKET_PURCHASE
Ticket Purchase
TOUR_ORDER
Tour Order
apiOperation String =CREATE_CHECKOUT_SESSION FIXED
Existence
FIXED
Fixed value
CREATE_CHECKOUT_SESSION
Validation Rules
Any sequence of zero or more unicode characters.
XSD type
string
billing = OPTIONAL
Details of the payer's billing address.
Fixed value
billing.address = OPTIONAL
The payer's billing address.
This data may be used to qualify for better interchange rates on corporate purchase card transactions.
Fixed value
billing.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
billing.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
billing.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
billing.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
billing.address.stateProvince String = OPTIONAL
The state or province of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
billing.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
billing.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
constraints = OPTIONAL
Information about any constraints that apply to this transaction.
Specify constraints to ensure that the transaction conforms to predefined criteria. This is useful if your integration does not directly collect all the transaction values (e.g. a session-based integration or a checkout integration).
Fixed value
constraints.paymentPlans = OPTIONAL
Information about the payment plan constraints which apply for this transaction.
Specify payment plan constraints to restrict the available payment plan options for this transaction.
Fixed value
constraints.paymentPlans.numberOfDeferrals Integer = OPTIONAL
The allowable number of deferral months for the payment plan.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
0
maximum value
99
constraints.paymentPlans.numberOfPayments Integer = OPTIONAL
The allowable number of installments for the payment plan.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
99
constraints.paymentPlans.supported[n] String = OPTIONAL
The identifiers for the payment plans supported for this transaction.
If you wish to offer any payment plans to the payer, provide the plan identifiers in this field else pass it as empty.
See Payment Plans for the supported payment plans and their identifiers.
See Payment Plans for the supported payment plans and their identifiers.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
correlationId String = OPTIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
customer = OPTIONAL
Information about the customer, including their contact details.
Fixed value
customer.email Email = OPTIONAL
The email address of the customer.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
JSON type
String
customer.firstName String = OPTIONAL
The payer's first name.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
customer.lastName String = OPTIONAL
The payer's last or surname.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
customer.mobilePhone Telephone Number = OPTIONAL
The payer's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
customer.phone Telephone Number = OPTIONAL
The payer's phone number in ITU-T E123 format, for example +1 607 1234 456
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
device = OPTIONAL
Information about the device used by the payer for this transaction.
Fixed value
device.ani String = OPTIONAL
The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10
device.aniCallType String = OPTIONAL
The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2
device.fingerprint String = OPTIONAL
Information collected about a remote computing device for the purpose of providing a unique identifier for the device.
For example, session ID, blackbox ID.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000
device.mobilePhoneModel String = OPTIONAL
The mobile phone manufacturer's identifier for the model of the mobile device used to initiate the payment.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255
interaction = COMPULSORY
Information that controls the payer's checkout interaction.
Fixed value
interaction.action.3DSecure Enumeration = OPTIONAL
Control when you offer 3-D Secure to the payer.
By default, 3-D Secure authentication is offered to the payer if available
Existence
OPTIONAL
Fixed value
Validation Rules
Control when you offer 3-D Secure to the payer. By default, 3-D Secure authentication is offered to the payer if available.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BYPASS
Do not offer 3DS authentication to the payer.
MANDATORY
Offer 3DS authentication to the payer if it is available.
USE_GATEWAY_RECOMMENDATION
Only offer 3-D Secure Authentication to the payer if the gateway has issued a recommendation to do so. Only applicable if your gateway configuration supports optional payment features.
interaction.cancelUrl URI = OPTIONAL
The URL to which you want to redirect the payer's browser if they cancel their payment.
This could be a link to the payer's shopping cart, or the home page of your website.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The following schemes are forbidden : javascript
JSON type
String
interaction.displayControl = OPTIONAL
A group of objects that control the visibility of, and payer-interaction with, displayed information.
Fixed value
interaction.displayControl.billingAddress Enumeration = OPTIONAL
Indicates if you require the payer to provide their billing address during the payment interaction.
If you do not provide this field, the billing address will be optional.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides data fields from the payer.
MANDATORY
Displays data fields and allows the payer to enter data into these fields.
OPTIONAL
Displays data fields and allows the payer to opt out of data entry for these fields.
READ_ONLY
Data is displayed but cannot be modified.
interaction.displayControl.cardSecurityCode Enumeration = OPTIONAL
Indicates if you require the payer to provide the card security code for their card payment during the payment interaction.
If you do not provide this field, the card security code will be mandatory.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MANDATORY
Displays data fields and allows the payer to enter data into these fields.
OPTIONAL
Displays data fields and allows the payer to opt out of data entry for these fields.
interaction.displayControl.confirmAchAccountNumber Enumeration = OPTIONAL
Indicates if you wish to display a 'Confirm Account Number' field for the ACH Account Number entry.
If the field is shown, the gateway enforces that the same value is entered in both the 'Account Number' and 'Confirm Account Number' fields.If you do not provide a value for this field, the gateway defaults the value to SHOW.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HIDE
Do not display confirm account number.
SHOW
Display confirm account number.
interaction.displayControl.customerEmail Enumeration = OPTIONAL
Indicates if you require the payer to provide their email address on the payment interaction.
If you do not provide this field, the payer's email address will be hidden.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides data fields from the payer.
MANDATORY
Displays data fields and allows the payer to enter data into these fields.
OPTIONAL
Displays data fields and allows the payer to opt out of data entry for these fields.
READ_ONLY
Data is displayed but cannot be modified.
interaction.displayControl.orderSummary Enumeration = OPTIONAL
Indicates if you wish to display a summary of the order before the payer submits their payment.
If you do not provide a value for this field, the gateway defaults the value to SHOW.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HIDE
Do not display order summary.
SHOW
Display order summary, which may include payment details.
SHOW_PARTIAL
Display order summary which may not include payment details.
interaction.displayControl.paymentConfirmation Enumeration = OPTIONAL
Indicates if you want the payer to confirm the payment details before they submit the payment.
If you do not provide a value for this field, the gateway defaults the value to HIDE.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HIDE
Do not display payment confirmation.
SHOW
Display payment confirmation.
interaction.displayControl.paymentTerms Enumeration = OPTIONAL
Indicates whether you wish to hide payment terms for a payment plan during the payment interaction.
If you do not provide this field the payment terms for a payment plan will be displayed.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides the payment terms from the payer. Note that offering Plan AMEX in some regions may require you to inform the payer of the payment terms before processing the payment.
SHOW_IF_SUPPORTED
Displays the payment terms, if available, to the payer.
interaction.displayControl.shipping Enumeration = OPTIONAL
Indicates if you wish to hide the shipping details on the payment interaction.
If you don't provide this field, shipping details will be displayed to the payer.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HIDE
Hides data fields from the payer.
READ_ONLY
Data is displayed but cannot be modified.
interaction.googleAnalytics.propertyId String = OPTIONAL
The property ID for your shop site provided by Google Analytics in the form UA-XXXXX-Y.
Provide this ID if you want to track interactions with the checkout using Google Analytics. See www.google.com/analytics.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
interaction.locale String = OPTIONAL
A language identifier or IETF language tag to control the language of the payment interaction with the payer (e.g. en_US, es, fr-CA).
By default, the language is determined from the payer's browser. 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.
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
interaction.merchant = OPTIONAL
Information that allows you to display your brand and business details during the payment interaction.
Fixed value
interaction.merchant.address = OPTIONAL
Information on your business address.
Fixed value
interaction.merchant.address.line1 String = OPTIONAL
The first line of your business address for display to the payer during the payment interaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
100
interaction.merchant.address.line2 String = OPTIONAL
The second line of your business address for display to the payer during the payment interaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
100
interaction.merchant.address.line3 String = OPTIONAL
The third line of your business address for display to the payer during the payment interaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
100
interaction.merchant.address.line4 String = OPTIONAL
The fourth line of your business address for display to the payer during the payment interaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
100
interaction.merchant.email Email = OPTIONAL
The email address of your business for display to the payer during the payment interaction (e.g. an email address for customer service).
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
interaction.merchant.logo URI = OPTIONAL
The URL of your business logo for display to the payer during the payment interaction.
The URL must be secure (e.g. https://yoursite.com/images/logo.gif). You can resize the image.However, the height must not exceed 140 pixels else it will be cropped. For best results, use images in JPEG or PNG formats with dimensions 140 width × 140 height (pixels).
Existence
OPTIONAL
Fixed value
Validation Rules
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The URI must be one of the following schemes : https
JSON type
String
interaction.merchant.name String = COMPULSORY
The name of your business for display to the payer on the payment interaction.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
interaction.merchant.phone String = OPTIONAL
The phone number of your business for display to the payer during the payment interaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
20
interaction.operation Enumeration = COMPULSORY
Indicates the operation that you wish to perform during the Hosted Checkout interaction.
Existence
COMPULSORY
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHORIZE
Request for the Hosted checkout interaction to create Authorization transaction for the payment.
NONE
Hosted Checkout will collect the payment details from the payer and securely store them against the Hosted Checkout session. No operation will be performed after the payer interaction.
PURCHASE
Request for the Hosted checkout interaction to create Purchase transaction for the payment.
VERIFY
Request for the Hosted Checkout interaction to verify the payer's account. The payment details are verified using the verification method supported by the acquirer and the data provided in the request.
interaction.returnUrl URI = OPTIONAL
The URL to which you want to return the payer after completing the payment attempt.
During the redirect, the gateway will append a resultIndicator parameter to this URL. This parameter determines the result of the payment. See Obtain the Payment Result section.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The following schemes are forbidden : javascript
JSON type
String
interaction.theme Alphanumeric + additional characters = OPTIONAL
The theme used to control the look and feel of your checkout interaction.
If you do not provide this field the default theme is will be used.
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
50
interaction.timeout Integer = OPTIONAL
The duration (in seconds) available to the payer to make a payment.
Set this field when you want to limit the time you reserve the goods or service for this payer. For example, ticket bookings.
If the payment is not completed within this time, their browser will be returned to the website you specified in interaction.timeoutUrl.
Note: Timeouts are best effort and approximate, as some services (for example, 3-D Secure authentication) cannot be interrupted.
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
600
maximum value
1800
interaction.timeoutUrl URI = OPTIONAL
The URL to which you want to return the payer if the payment is not completed in the allowed time.
This will either be the time you specified in interaction.timeout or the gateway default timeout value.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The following schemes are forbidden : javascript
JSON type
String
order = COMPULSORY
Information about the order associated with this transaction.
Fixed value
order.amount Decimal = OPTIONAL
The total amount for the order. This is the net amount plus any surcharge.
If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount), minus the order.discountAmount must equal the net amount.
The value of this field in the response may be zero if payer funds are not transferred.
The value of this field in the response may be zero if payer funds are not transferred.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.cashAdvance Boolean = OPTIONAL
Set this flag if the transaction is a manual cash disbursement transaction, i.e. cash is disbursed upon the acceptance of a card by a financial institution teller.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
String
order.certainty Enumeration = OPTIONAL
Indicates if you expect to capture the full order amount for which you are requesting authorization.
If you do not provide a value for order.certainty the default configured for you by your payment service provider will be used.
The value provided in the response shows the value the gateway sent to the acquirer
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ESTIMATED
The amount authorized is an estimate of the amount that will be captured. It is possible that the amount captured will be less, or might not be captured at all.
FINAL
The full authorized amount is expected to be captured within the mandated time. The order will only be cancelled in exceptional circumstances (for example, the payer cancelled their purchase).
order.currency Upper case alphabetic text = COMPULSORY
The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.
Existence
COMPULSORY
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.custom String = OPTIONAL
Information about this order that is of interest to you.
For example order.custom.X, where 'X' is defined by you and must be less than 100 characters from the set A-Z, a-z, 0-9. For example, order.custom.salesRegion. You can specify up to 50 such fields. They are not sent to acquirers.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250
order.customerNote String = OPTIONAL
A note from the payer about this order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250
order.customerOrderDate Date = OPTIONAL
The date the payer placed the order.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String
order.customerReference ASCII Text = OPTIONAL
The payer's own reference for the order.
This reference may assist the payer to identify the order in their system. For example, a purchase order number, project identifier, or cost center.
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
25
order.description String = OPTIONAL
Short textual description of the contents of the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127
order.merchantCategoryCode Digits = OPTIONAL
A 4-digit code used to classify your business by the type of goods or services it offers.This is also known as the Merchant Category Code (MCC).
You only need to provide the MCC if you want to override the default value configured for your acquirer link.The value you provide must match one of those configured by your payment service provider.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
4
order.netAmount Decimal = OPTIONAL
The amount payable for the order before surcharging is applied.
If you specify a net amount the gateway will calculate the surcharge for you.
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.owningEntity String = OPTIONAL
Your identifier for the part of your organization that is responsible for the order.
You might provide this data when you want to track the accountability for the order. For example, store number, sales region, branch, or profit center
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
order.recurringPaymentAgreement Alphanumeric = OPTIONAL
Your reference to the contract or agreement you have with the payer to process recurring payments.
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
The identifier of the order.
For example, a shopping cart number, an order number, or an invoice number.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
order.requestorName String = OPTIONAL
The name of the person who requested the goods or services.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.shippingAndHandlingAmount Decimal = OPTIONAL
The total shipping and handling amount for the order.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.statementDescriptor = OPTIONAL
Contact information provided by you for printing on payer's account statements.
Fixed value
order.statementDescriptor.address = OPTIONAL
Descriptor address of the merchant.
Fixed value
order.statementDescriptor.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.statementDescriptor.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
order.statementDescriptor.address.stateProvince String = OPTIONAL
The state or province of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.statementDescriptor.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.name String = OPTIONAL
Descriptor name of the merchant.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.statementDescriptor.phone String = OPTIONAL
Descriptor phone number of the merchant's business.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.subMerchant = OPTIONAL
Provide these parameters if you are a payment aggregator or facilitator and process payments on behalf of other merchants.
These merchants are referred to as your sub-merchants.
The sub-merchant's details you provide may be displayed on the payer's cardholder statement.
Note that your acquirer may require you to register with the card scheme(s) before allowing you to submit sub-merchant details with a transaction.
This data must be on the initial transaction of an order, subsequent transactions with sub-merchant will be rejected.
Fixed value
order.subMerchant.address = OPTIONAL
The sub-merchant's address.
Fixed value
order.subMerchant.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
order.subMerchant.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
order.subMerchant.address.stateProvince String = OPTIONAL
The state or province of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.subMerchant.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.bankIndustryCode Digits = OPTIONAL
Code used by acquirer to describe the business or industry the sub-merchant operates in.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
4
order.subMerchant.email Email = OPTIONAL
The sub-merchant's email address.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
JSON type
String
order.subMerchant.identifier String = OPTIONAL
Your identifier for the sub-merchant.
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
The sub-merchant's phone number
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
order.subMerchant.registeredName String = OPTIONAL
The legal name of the sub-merchant.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
order.subMerchant.tradingName String = OPTIONAL
The trading name of the sub merchant, also known as doing business as (DBA), operating as or trading as.
For MasterCard transactions the name must not exceed 21 characters.
For American Express transactions the name must not exceed 27 characters (or 36 characters including the aggregator name).
The trading name may be displayed on the payer's cardholder statement. Therefore if you need to shorten it, use an abbreviation that will be meaningful to the payer when displayed on their statement.
Existence
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
The tax amount included in this order for the tax type.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.tax[n].type String = OPTIONAL
The type of tax included in the order amount.
The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
order.taxAmount Decimal = OPTIONAL
The total tax amount for the order.
If you do not provide this value but provide line item data, then this amount is calculated as the sum of the item.quantity times the item.unitTaxAmount for all the line items (total tax amount).
If you provide both this value and line item data, then the order.taxAmount MUST equal the total tax amount.
If you provide both this value and line item data, then the order.taxAmount MUST equal the total tax amount.
Existence
OPTIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14
order.taxRegistrationId String = OPTIONAL
Your tax registration identifier provided by the Federal/National tax authority (for example, federal tax identification number, ABN).
If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Harmonized Sales Tax (HST) or Goods and Services Tax (GST) collected by the Canada Revenue Agency.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30
order.id String = COMPULSORY
A unique identifier for this order to distinguish it from any other order you create.
Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order you create using your merchant profile.
Existence
COMPULSORY
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
order.notificationUrl Url = OPTIONAL
The URL to which the gateway will send Webhook notifications when an order is created or updated.
To receive notifications at this URL, you must enable Webhook notifications in Merchant Administration. Ensure the URL is HTTPS
Existence
OPTIONAL
Fixed value
Validation Rules
Ensure that the URL begins with 'https' and is longer than 11 characters.
JSON type
String
partnerSolutionId String = OPTIONAL
If, when integrating with the gateway, you are using a solution (e.g. a shopping cart or e-commerce solution) provided, supported or certified by your payment service provider, enter the solution ID issued by your payment service provider here.
If your payment service provider has not provided you with a solution ID, you should ignore this field.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
risk = OPTIONAL
Information relevant to risk assessment.
Fixed value
risk.bypassMerchantRiskRules Enumeration = OPTIONAL
The risk rules you wish to bypass when performing risk assessment for an order.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ALL
shipping = OPTIONAL
Shipping information for this order.
Fixed value
shipping.address = OPTIONAL
The address to which this order will be shipped.
Fixed value
shipping.address.city String = OPTIONAL
The city portion of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.address.company String = OPTIONAL
The name of the company associated with this address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.address.country Upper case alphabetic text = OPTIONAL
The 3 letter ISO standard alpha country code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3
shipping.address.postcodeZip Alphanumeric + additional characters = OPTIONAL
The post code or zip code of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
JSON type
String
minimum length
1
maximum length
10
shipping.address.source Enumeration = OPTIONAL
How you obtained the shipping address.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ADDRESS_ON_FILE
Order shipped to an address that you have on file.
NEW_ADDRESS
Order shipped to an address provided by the payer for this transaction.
shipping.address.stateProvince String = OPTIONAL
The state or province of the address.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20
shipping.address.stateProvinceCode String = OPTIONAL
The three character ISO 3166-2 country subdivision code for the state or province of the address.
Providing this field might improve your payer experience for 3-D Secure payer authentication.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3
shipping.address.street String = OPTIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.address.street2 String = OPTIONAL
The second line of the address (if provided).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
shipping.contact = OPTIONAL
Details of the contact person at the address the goods will be shipped to.
Fixed value
shipping.contact.email Email = OPTIONAL
The contact person's email address.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Existence
OPTIONAL
Fixed value
Validation Rules
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
JSON type
String
shipping.contact.firstName String = OPTIONAL
The first name of the person to whom the order is being shipped.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
shipping.contact.lastName String = OPTIONAL
The last name or surname of the person to whom the order is being shipped.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50
shipping.contact.mobilePhone Telephone Number = OPTIONAL
The contact person's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
shipping.contact.phone Telephone Number = OPTIONAL
The contact person's phone number in ITU-T E123 format, for example +1 607 1234 456
The number consists of:
The number consists of:
- ‘+’
- country code (1, 2 or 3 digits)
- ‘space’
- national number ( which may embed single spaces characters for readability).
Existence
OPTIONAL
Fixed value
Validation Rules
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
JSON type
String
mandatory country code
true
maximum total digits
15
shipping.method Enumeration = OPTIONAL
The shipping method used for delivery of this order.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ELECTRONIC
Electronic delivery.
GROUND
Ground (4 or more days).
NOT_SHIPPED
Order for goods that are not shipped (for example, travel and event tickets)
OVERNIGHT
Overnight (next day).
PICKUP
Shipped to a local store for pick up.
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.
transaction = OPTIONAL
Information about this transaction.
Fixed value
transaction.acquirer = OPTIONAL
Additional information to be passed to acquirer.
Fixed value
transaction.acquirer.customData String = OPTIONAL
Additional information requested by the acquirer which cannot be passed using other available data fields.
This field must not contain sensitive data.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters, but sensitive data will be rejected
JSON type
String
minimum length
1
maximum length
2048
transaction.acquirer.transactionId String = OPTIONAL
This is the value provided to the acquirer to identify the order.
Ideally this will be the order.id, however if that value cannot be used directly, it will be transformed by the gateway to a unique value that the acquirer will accept.
If that behavior is not suitable, you can directly provide the value in this field and it will be passed to the acquirer. You then take responsibility for its correctness.
(Note: contact your payment provider to see if this is supported for your acquirer).
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters, but sensitive data will be rejected
JSON type
String
minimum length
1
maximum length
100
transaction.frequency Enumeration = OPTIONAL
Indicates the frequency of the transaction offered to the payer.
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.merchantNote String = OPTIONAL
Your note about this transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250
transaction.reference String = OPTIONAL
An optional identifier for this transaction.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40
transaction.source Enumeration = OPTIONAL
Indicates the channel through which you received authorization for the payment for this order from the payer.
For example, set this value to INTERNET if the payer initiated the payment online.
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT.You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
Existence
OPTIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CALL_CENTRE
Transaction conducted via a call centre.
CARD_PRESENT
Transaction where the card is presented to the merchant.
INTERNET
Transaction conducted over the Internet.
MAIL_ORDER
Transaction received by mail.
MERCHANT
Transaction initiated by you based on an agreement with the payer. For example, a recurring payment, installment payment, or account top-up.
MOTO
Transaction received by mail or telephone.
TELEPHONE_ORDER
Transaction received by telephone.
VOICE_RESPONSE
Transaction conducted by a voice/DTMF recognition system.
userId String = OPTIONAL
The person who initiated this transaction.
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
{merchantId} Alphanumeric + additional characters COMPULSORY
The unique identifier issued to you by your payment provider.
Existence
COMPULSORY
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
XSD type
string
minimum length
1
maximum length
40
Response Parameters
merchant Alphanumeric + additional characters = Always Provided
The unique identifier issued to you by your payment provider.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
JSON type
String
minimum length
1
maximum length
40
result Enumeration = Always Provided
A system-generated high level overall result of the transaction/operation.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FAILURE
The operation was declined or rejected by the gateway, acquirer or issuer
PENDING
The operation is currently in progress or pending processing
SUCCESS
The operation was successfully processed
UNKNOWN
The result of the operation is unknown
session.id ASCII Text = Always Provided
The session identifier for the hosted payment.
Include this identifier in the checkout request if you wish to return the payer to the merchant's website after completing the payment attempt.
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
A summary of the outcome of the last attempt to modify the session.
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
Use this field to implement optimistic locking of the session content.
Do this if you make business decisions based on data from the session and wish to ensure that the same data is being used for the request operation.
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
See Making Business Decisions Based on Session Content.
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
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
successIndicator ASCII Text = Always Provided
An identifier to determine the success of the hosted payment.
The gateway will return this value in the resultIndicator parameter (appended to the returnUrl) for successful payments only. See Obtain the Payment Result section.
Existence
Always Provided
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
16
maximum length
32
correlationId String = CONDITIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100
lineOfBusiness String = CONDITIONAL
Your payment service provider might have configured your merchant profile to support several lines of business.
Each line of business can have different payment parameters, such as bank account, supported cards or such.
For example, lineOfBusiness = TICKET_SALES can have a different bank account from lineOfBusiness = MERCHANDISING. One line of business on your profile might be "null". To use that, do not provide the lineOfBusiness field.
For example, lineOfBusiness = TICKET_SALES can have a different bank account from lineOfBusiness = MERCHANDISING. One line of business on your profile might be "null". To use that, do not provide the lineOfBusiness field.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters except space
JSON type
String
minimum length
1
maximum length
100
merchant Alphanumeric + additional characters = Always Provided
The unique identifier issued to you by your payment provider.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
JSON type
String
minimum length
1
maximum length
40
result Enumeration = Always Provided
A system-generated high level overall result of the transaction/operation.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FAILURE
The operation was declined or rejected by the gateway, acquirer or issuer
PENDING
The operation is currently in progress or pending processing
SUCCESS
The operation was successfully processed
UNKNOWN
The result of the operation is unknown
session.id ASCII Text = Always Provided
The session identifier for the hosted payment.
Include this identifier in the checkout request if you wish to return the payer to the merchant's website after completing the payment attempt.
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
A summary of the outcome of the last attempt to modify the session.
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
Use this field to implement optimistic locking of the session content.
Do this if you make business decisions based on data from the session and wish to ensure that the same data is being used for the request operation.
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
See Making Business Decisions Based on Session Content.
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
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
successIndicator ASCII Text = Always Provided
An identifier to determine the success of the hosted payment.
The gateway will return this value in the resultIndicator parameter (appended to the returnUrl) for successful payments only. See Obtain the Payment Result section.
Existence
Always Provided
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
16
maximum length
32
error = CONDITIONAL
Information on possible error conditions that may occur while processing an operation using the API.
Fixed value
error.cause Enumeration = CONDITIONAL
Broadly categorizes the cause of the error.
For example, errors may occur due to invalid requests or internal system failures.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID_REQUEST
The request was rejected because it did not conform to the API protocol.
REQUEST_REJECTED
The request was rejected due to security reasons such as firewall rules, expired certificate, etc.
SERVER_BUSY
The server did not have enough resources to process the request at the moment.
SERVER_FAILED
There was an internal system failure.
error.explanation String = CONDITIONAL
Textual description of the error based on the cause.
This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
1000
error.field String = CONDITIONAL
Indicates the name of the field that failed validation.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
error.supportCode String = CONDITIONAL
Indicates the code that helps the support team to quickly identify the exact cause of the error.
This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100
error.validationType Enumeration = CONDITIONAL
Indicates the type of field validation error.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID
The request contained a field with a value that did not pass validation.
MISSING
The request was missing a mandatory field.
UNSUPPORTED
The request contained a field that is unsupported.
result Enumeration = CONDITIONAL
A system-generated high level overall result of the operation.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ERROR
The operation resulted in an error and hence cannot be processed.