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.

POST https://qnbalahli.test.gateway.mastercard.com/api/rest/version/38 / merchant / {merchantId} / session

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

URL Parameters

{merchantId} Alphanumeric + additional characters REQUIRED

The unique identifier issued to you by your payment provider.


This identifier can be up to 12 characters in length.


Data may consist of the characters 0-9, a-z, A-Z, '-', '_'

Min length: 1 Max length: 40

Fields

airline OPTIONAL

Airline industry specific data.

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.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 6 Max length: 15
airline.documentType Enumeration OPTIONAL

The type of charge associated with the transaction.

Document Type Code

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

airline.itinerary.leg[n] OPTIONAL

Travel leg details.

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.

Data must match regex

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

The ticket containing the coupon for this leg for an itinerary with more than four trip legs.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 11 Max 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.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max 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.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
airline.itinerary.leg[n].departureDate Date OPTIONAL

Date of departure for the trip leg.

Data must comply with ISO 8601 extended date format, yyyy-mm-dd

airline.itinerary.leg[n].departureTax Decimal OPTIONAL

Tax payable on departure for the trip leg.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
airline.itinerary.leg[n].departureTime Time OPTIONAL

Departure time in local time for the departure airport for this trip leg.

Data must comply with ISO 8601 extended time formats, hh:mm[:ss]Z or hh:mm[:ss](+/-)hh[:mm]

airline.itinerary.leg[n].destinationAirport Upper case alphabetic text OPTIONAL

The 3 character IATA airport code for the destination airport for the trip leg.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
airline.itinerary.leg[n].destinationArrivalDate Date OPTIONAL

Arrival date in local time for the destination airport for this trip leg.

Data must comply with ISO 8601 extended date format, yyyy-mm-dd

airline.itinerary.leg[n].destinationArrivalTime Time OPTIONAL

Arrival time in local time for the destination airport for this trip leg.

Data must comply with ISO 8601 extended time formats, hh:mm[:ss]Z or hh:mm[:ss](+/-)hh[:mm]

airline.itinerary.leg[n].endorsementsRestrictions Alphanumeric OPTIONAL

Restrictions (e.g. non-refundable) or endorsements applicable to the trip leg.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max length: 20
airline.itinerary.leg[n].exchangeTicketNumber Alphanumeric OPTIONAL

New ticket number issued when a ticket is exchanged for the trip leg.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 11 Max length: 16
airline.itinerary.leg[n].fare Decimal OPTIONAL

Total fare payable for the trip leg.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max 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.)

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max length: 24
airline.itinerary.leg[n].fees Decimal OPTIONAL

Total fees payable for the trip leg.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
airline.itinerary.leg[n].flightNumber Alphanumeric OPTIONAL

The flight number for the trip leg.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 4 Max length: 6
airline.itinerary.leg[n].stopoverPermitted Boolean OPTIONAL

Indicates if a stopover is permitted for the trip leg.

JSON boolean values 'true' or 'false'.

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

Total taxes payable for the trip leg.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
airline.itinerary.leg[n].travelClass Alphanumeric OPTIONAL

The industry code indicating the class of service (e.g. Business, Coach) for the leg.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max length: 3
airline.itinerary.numberInParty Digits OPTIONAL

Number of passengers associated with this booking.

Data is a string that consists of the characters 0-9.

Min length: 1 Max 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.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
airline.passenger[n] OPTIONAL

Passenger details

airline.passenger[n].firstName String OPTIONAL

First name of the passenger to whom the ticket is being issued.

Data can consist of any characters

Min length: 1 Max length: 50
airline.passenger[n].frequentFlyerNumber String OPTIONAL

Frequent Flyer or Loyalty Program number for this passenger.

Data can consist of any characters

Min length: 1 Max length: 20
airline.passenger[n].lastName String OPTIONAL

Last name of the passenger to whom the ticket is being issued.

Data can consist of any characters

Min length: 1 Max length: 20
airline.passenger[n].middleName String OPTIONAL

Middle name of the passenger to whom the ticket is being issued.

Data can consist of any characters

Min length: 1 Max length: 50
airline.passenger[n].specificInformation Alphanumeric OPTIONAL

Passenger specific information recorded on the ticket.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max length: 59
airline.passenger[n].title String OPTIONAL

Title of the passenger to whom the ticket is being issued.

Data can consist of any characters

Min length: 1 Max length: 20
airline.planNumber Alphanumeric OPTIONAL

Plan number supplied by the airline for this booking.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 2 Max length: 2
airline.ticket OPTIONAL

Ticket details

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.

JSON boolean values 'true' or 'false'.

airline.ticket.eTicket Boolean OPTIONAL

Indicates if an electronic ticket was issued.

JSON boolean values 'true' or 'false'.

airline.ticket.exchangedTicketNumber Alphanumeric OPTIONAL

The original ticket number when this is a transaction for an exchanged ticket.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 11 Max length: 16
airline.ticket.issue OPTIONAL

Ticket issue information.

airline.ticket.issue.address String OPTIONAL

The address where the ticket was issued.

Data can consist of any characters

Min length: 1 Max 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.

Data must match regex

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

Name of airline carrier issuing the ticket.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max length: 25
airline.ticket.issue.city Alphanumeric OPTIONAL

The city/town where the ticket was issued.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max 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.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
airline.ticket.issue.date Date OPTIONAL

The date the ticket was issued.

Data must comply with ISO 8601 extended date format, yyyy-mm-dd

airline.ticket.issue.travelAgentCode Alphanumeric OPTIONAL

Industry code of the travel agent issuing the ticket.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 8 Max length: 9
airline.ticket.issue.travelAgentName Alphanumeric OPTIONAL

Name of the travel agent issuing the ticket.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max length: 30
airline.ticket.restricted Boolean OPTIONAL

Indicates if the issued ticket is refundable.

JSON boolean values 'true' or 'false'.

airline.ticket.ticketNumber Alphanumeric OPTIONAL

The airline ticket number associated with the transaction.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 11 Max length: 16
airline.ticket.totalFare Decimal OPTIONAL

Total fare for all trip legs on the ticket.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
airline.ticket.totalFees Decimal OPTIONAL

Total fee for all trip legs on the ticket.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
airline.ticket.totalTaxes Decimal OPTIONAL

Total taxes for all trip legs on the ticket.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
airline.transactionType Enumeration OPTIONAL

The type of transaction performed against this airline booking.

Transaction Type

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

Any sequence of zero or more unicode characters.

billing OPTIONAL

Details of the payer's billing address.

billing.address OPTIONAL

The payer's billing address.

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

billing.address.city String OPTIONAL

The city portion of the address.

Data can consist of any characters

Min length: 1 Max length: 100
billing.address.company String OPTIONAL

The name of the company associated with this address.

Data can consist of any characters

Min length: 1 Max length: 100
billing.address.country Upper case alphabetic text OPTIONAL

The 3 letter ISO standard alpha country code of the address.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
billing.address.postcodeZip Alphanumeric + additional characters OPTIONAL

The post code or zip code of the address.

Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'

Min length: 1 Max length: 10
billing.address.stateProvince String OPTIONAL

The state or province of the address.

Data can consist of any characters

Min length: 1 Max 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.

Data can consist of any characters

Min length: 1 Max length: 100
billing.address.street2 String OPTIONAL

The second line of the address (if provided).

Data can consist of any characters

Min length: 1 Max 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).

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.

constraints.paymentPlans.numberOfDeferrals Integer OPTIONAL

The allowable number of deferral months for the payment plan.

JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.

Min value: 0 Max value: 99
constraints.paymentPlans.numberOfPayments Integer OPTIONAL

The allowable number of installments for the payment plan.

JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.

Min value: 1 Max 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.

Data can consist of any characters

Min length: 1 Max 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.

Data can consist of any characters

Min length: 1 Max length: 100
customer OPTIONAL

Information associated with the customer's source of transaction.

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.

Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses

customer.firstName String OPTIONAL

The payer's first name.

Data can consist of any characters

Min length: 1 Max length: 50
customer.lastName String OPTIONAL

The payer's last or surname.

Data can consist of any characters

Min length: 1 Max length: 50
customer.mobilePhone String OPTIONAL

The contact person's mobile phone or cell phone number.

Data can consist of any characters

Min length: 1 Max length: 20
customer.phone String OPTIONAL

The phone number of the person to whom the order is being billed.

Data can consist of any characters

Min length: 1 Max length: 20
device OPTIONAL

Information associated with the device's source of transaction.

device.ani String OPTIONAL

The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.

Data can consist of any characters

Min length: 1 Max 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.

Data can consist of any characters

Min length: 1 Max length: 2
externalTokenProvider OPTIONAL

Additional information about the external token repository you are configured with.

These fields are MANDATORY for MerchantLink merchants and must not contain sensitive data.

externalTokenProvider.customData String OPTIONAL

Provide the site code required to save card details against a token.

For example: '{"siteCode":"BNE"}'.

Data can consist of any characters

Min length: 1 Max length: 4000
interaction OPTIONAL

Information that controls the payer's checkout interaction.

interaction.action.bypass3DSecure Boolean OPTIONAL

Indicates if you wish to bypass payer authentication using the 3-D Secure Service.

By default, the payer is prompted to authenticate before performing the payment if configured for the 3-D Secure Service.

JSON boolean values 'true' or 'false'.

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.

Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The following schemes are forbidden : javascript

interaction.displayControl OPTIONAL

A group of objects that control the visibility of, and payer-interaction with, displayed information.

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.

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.

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.

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.

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

Value must be a member of the following list. The values are case sensitive.

HIDE

Do not display order summary.

READ_ONLY

Display order summary, which may include payment details.

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.

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.

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.

Data can consist of any characters

Min length: 1 Max 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.

Data must be a language identifier or IETF language tag

Min length: 2 Max length: 5
interaction.merchant OPTIONAL

Information that allows you to display your brand and business details during the payment interaction.

interaction.merchant.address OPTIONAL

Information on your business address.

interaction.merchant.address.line1 String OPTIONAL

The first line of your business address for display to the payer during the payment interaction.

Data can consist of any characters

Min length: 0 Max length: 100
interaction.merchant.address.line2 String OPTIONAL

The second line of your business address for display to the payer during the payment interaction.

Data can consist of any characters

Min length: 0 Max length: 100
interaction.merchant.address.line3 String OPTIONAL

The third line of your business address for display to the payer during the payment interaction.

Data can consist of any characters

Min length: 0 Max length: 100
interaction.merchant.address.line4 String OPTIONAL

The fourth line of your business address for display to the payer during the payment interaction.

Data can consist of any characters

Min length: 0 Max 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).

Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses

interaction.merchant.name String REQUIRED

The name of your business for display to the payer on the payment interaction.

Data can consist of any characters

Min length: 1 Max length: 40
interaction.merchant.phone String OPTIONAL

The phone number of your business for display to the payer during the payment interaction.

Data can consist of any characters

Min length: 0 Max length: 20
interaction.operation Enumeration OPTIONAL

Indicates the operation that you wish to perform during the Hosted Checkout interaction.

Value must be a member of the following list. The values are case sensitive.

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.

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.

Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396. The following schemes are forbidden : javascript

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.

Data may consist of the characters 0-9, a-z, A-Z, '-', '_'

Min length: 1 Max length: 50
order REQUIRED

Information about the order associated with this transaction.

order.acceptPartialAmount Boolean OPTIONAL

Indicates whether you will accept a payment less than order.amount, e.g. when using a gift card.

If not set or set to FALSE, and the full amount is not available, the transaction will be rejected.
Unless you have been advised by your payment service provider that the gateway supports partial approvals for your acquirer, you can ignore this field.
If the gateway supports partial approvals for your acquirer you must set this field to TRUE else the transaction is rejected by the gateway.

JSON boolean values 'true' or 'false'.

order.amount Decimal OPTIONAL

The total amount for the order.

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.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
order.currency Upper case alphabetic text REQUIRED

The currency of the order expressed as an ISO 4217 alpha code, e.g. USD.

Data must consist of the characters A-Z

Min length: 3 Max 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.

Data can consist of any characters

Min length: 1 Max length: 250
order.customerNote String OPTIONAL

A note from the payer about this order.

Data can consist of any characters

Min length: 1 Max 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. This data may be used to qualify for better interchange rates on corporate purchase card transactions.

order.customerReference ASCII Text OPTIONAL

The payer's own reference for the order (for example, the purchase order number).

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

Data consists of ASCII characters

Min length: 0 Max length: 25
order.description String OPTIONAL

Short textual description of the contents of the order.

Data can consist of any characters

Min length: 1 Max length: 127
order.item[n] OPTIONAL

Information about the items the payer purchases with the order.

order.item[n].brand String OPTIONAL

The brand of the item.

For example, Dell.

Data can consist of any characters

Min length: 1 Max length: 127
order.item[n].category String OPTIONAL

Your category for the item.

Data can consist of any characters

Min length: 1 Max length: 127
order.item[n].description String OPTIONAL

Description for the item with information such as size, color, etc.

For example, 'Color:Red, Size:M'

Data can consist of any characters

Min length: 1 Max length: 127
order.item[n].industryCategory Enumeration OPTIONAL

Provide the industryCategory to send this line item to your acquirer for specialized processing as industry data.

Such processing might have legal obligations, which are your responsibility. Do not provide an industryCategory, 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 industryCategory are:

HEALTHCARE_VISION, HEALTHCARE_DENTAL, HEALTHCARE_PRESCRIPTION, HEALTHCARE_OTHER

We formulate an IIAS message by summing the amounts of all the line items having the same industryCategory. The amount of a line item is:

(order.item.unitPrice + order.item.tax) * order.item.quantity

Value must be a member of the following list. The values are case sensitive.

HEALTHCARE_DENTAL
HEALTHCARE_OTHER
HEALTHCARE_PRESCRIPTION
HEALTHCARE_VISION
order.item[n].name String REQUIRED

A short name describing the item.

Data can consist of any characters

Min length: 1 Max length: 127
order.item[n].quantity Digits REQUIRED

The quantity of the item.

Data is a number between 1 and 9999999999999999 represented as a string.

order.item[n].sku String OPTIONAL

The SKU (Stock Keeping Unit) or the item identifier for this item.

Data can consist of any characters

Min length: 1 Max length: 127
order.item[n].unitPrice Decimal REQUIRED

The cost price for the item.

This amount is multiplied with the item.quantity to determine the total amount for this item.

Data is a string that consists of the characters 0-9, '.' and '-' and represents a valid decimal number.

Min length: 1 Max length: 14
order.item[n].unitTaxAmount Decimal OPTIONAL

The tax amount for the item.

This amount is multiplied with the item.quantity to determine the total tax amount for this item.

Data is a string that consists of the characters 0-9, '.' and '-' and represents a valid decimal number.

Min length: 1 Max length: 14
order.itemAmount Decimal OPTIONAL

The total item 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.unitPrice for all the line items (total item amount).
If you provide both this value and line item data, then the order.itemAmount MUST equal the total item amount.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max 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

Data can consist of any characters

Min length: 1 Max length: 40
order.productSKU String OPTIONAL

Unique SKU (Stock Keeping Unit) for the single, most expensive product associated with this order.

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

Data can consist of any characters

Min length: 1 Max length: 15
order.recurringPaymentAgreement Alphanumeric OPTIONAL

Your reference to the contract or agreement you have with the payer to process recurring payments.

Data may consist of the characters 0-9, a-z, A-Z

Min length: 1 Max length: 30
order.reference String OPTIONAL

The identifier of the order.

For example, a shopping cart number, an order number, or an invoice number.

Data can consist of any characters

Min length: 1 Max length: 40
order.requestorName String OPTIONAL

The name of the person who requested the goods or services.

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

Data can consist of any characters

Min length: 1 Max length: 100
order.shippingAndHandlingAmount Decimal OPTIONAL

The total shipping and handling amount for the order.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
order.statementDescriptor OPTIONAL

Contact information provided by you for printing on payer's account statements.

order.statementDescriptor.address OPTIONAL

Descriptor address of the merchant.

order.statementDescriptor.address.city String OPTIONAL

The city portion of the address.

Data can consist of any characters

Min length: 1 Max length: 100
order.statementDescriptor.address.company String OPTIONAL

The name of the company associated with this address.

Data can consist of any characters

Min length: 1 Max length: 100
order.statementDescriptor.address.country Upper case alphabetic text OPTIONAL

The 3 letter ISO standard alpha country code of the address.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
order.statementDescriptor.address.postcodeZip Alphanumeric + additional characters OPTIONAL

The post code or zip code of the address.

Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'

Min length: 1 Max length: 10
order.statementDescriptor.address.stateProvince String OPTIONAL

The state or province of the address.

Data can consist of any characters

Min length: 1 Max 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.

Data can consist of any characters

Min length: 1 Max length: 100
order.statementDescriptor.address.street2 String OPTIONAL

The second line of the address (if provided).

Data can consist of any characters

Min length: 1 Max length: 100
order.statementDescriptor.name String OPTIONAL

Descriptor name of the merchant.

Data can consist of any characters

Min length: 1 Max length: 100
order.statementDescriptor.phone String OPTIONAL

Descriptor phone number of the merchant's business.

Data can consist of any characters

Min length: 1 Max 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.

order.subMerchant.address OPTIONAL

The sub-merchant's address.

order.subMerchant.address.city String OPTIONAL

The city portion of the address.

Data can consist of any characters

Min length: 1 Max length: 100
order.subMerchant.address.company String OPTIONAL

The name of the company associated with this address.

Data can consist of any characters

Min length: 1 Max length: 100
order.subMerchant.address.country Upper case alphabetic text OPTIONAL

The 3 letter ISO standard alpha country code of the address.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
order.subMerchant.address.postcodeZip Alphanumeric + additional characters OPTIONAL

The post code or zip code of the address.

Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'

Min length: 1 Max length: 10
order.subMerchant.address.stateProvince String OPTIONAL

The state or province of the address.

Data can consist of any characters

Min length: 1 Max 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.

Data can consist of any characters

Min length: 1 Max length: 100
order.subMerchant.address.street2 String OPTIONAL

The second line of the address (if provided).

Data can consist of any characters

Min length: 1 Max length: 100
order.subMerchant.bankIndustryCode Digits OPTIONAL

Code used by acquirer to describe the business or industry the sub-merchant operates in.

Data is a string that consists of the characters 0-9.

Min length: 4 Max length: 4
order.subMerchant.email Email OPTIONAL

The sub-merchant's email address.

Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses

order.subMerchant.identifier String OPTIONAL

Your identifier for the sub-merchant.

You can use this identifier in searches and reports in the gateway.

Data can consist of any characters

Min length: 1 Max length: 100
order.subMerchant.phone String OPTIONAL

The sub-merchant's phone number

Data can consist of any characters

Min length: 1 Max length: 20
order.subMerchant.registeredName String OPTIONAL

The legal name of the sub-merchant.

Data can consist of any characters

Min length: 1 Max 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.

Data can consist of any characters

Min length: 1 Max length: 100
order.tax[n] OPTIONAL

Allows you to provide a breakdown of the types of taxes and amount per type of tax included in order.taxAmount.

order.tax[n].amount Decimal OPTIONAL

Provide the amount for this type of tax.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
order.tax[n].type String OPTIONAL

Provide the name for the type of tax for order.taxAmount.

Data can consist of any characters

Min length: 1 Max 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.
This data may be used to qualify for better interchange rates on corporate purchase card transactions.

Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.

Min length: 1 Max length: 14
order.taxRegistrationId String OPTIONAL

Your tax registration identifier provided by the tax authority (for example, federal tax identification number, ABN).

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

Data can consist of any characters

Min length: 1 Max length: 20
order.id String REQUIRED

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.

Data can consist of any characters

Min length: 1 Max 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

Ensure that the URL begins with 'https' and is longer than 11 characters.

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.

Data can consist of any characters

Min length: 1 Max length: 40
risk OPTIONAL

Information relevant to risk assessment.

risk.bypassMerchantRiskRules Enumeration OPTIONAL

The risk rules you wish to bypass when performing risk assessment for an order.

Value must be a member of the following list. The values are case sensitive.

ALL
risk.paymentRecipient OPTIONAL

Details about the recipient of the payment and the destination account for the payment.

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.

risk.paymentRecipient.accountIdentifier String REQUIRED

The account identifier for the payment recipient's account.

For payments into a card account provide the card number. For payments into other accounts (for example a bank account) provide the account number. The value provided will be returned masked in the response.

Data can consist of any characters

Min length: 1 Max length: 50
risk.paymentRecipient.dateOfBirth Date REQUIRED

The date of birth of the primary payment recipient in yyyy-mm-dd format.

Data must comply with ISO 8601 extended date format, yyyy-mm-dd

risk.paymentRecipient.lastName String REQUIRED

Last name of the primary payment recipient.

Data can consist of any characters

Min length: 1 Max length: 50
risk.paymentRecipient.postcodeZip String REQUIRED

Postcode of the primary payment recipient.

Data can consist of any characters

Min length: 1 Max length: 10
shipping OPTIONAL

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

shipping.address OPTIONAL

The address to which the goods contained in this order are being shipped.

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

shipping.address.city String OPTIONAL

The city portion of the address.

Data can consist of any characters

Min length: 1 Max length: 100
shipping.address.company String OPTIONAL

The name of the company associated with this address.

Data can consist of any characters

Min length: 1 Max length: 100
shipping.address.country Upper case alphabetic text OPTIONAL

The 3 letter ISO standard alpha country code of the address.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
shipping.address.postcodeZip Alphanumeric + additional characters OPTIONAL

The post code or zip code of the address.

Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'

Min length: 1 Max length: 10
shipping.address.stateProvince String OPTIONAL

The state or province of the address.

Data can consist of any characters

Min length: 1 Max length: 20
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.

Data can consist of any characters

Min length: 1 Max length: 100
shipping.address.street2 String OPTIONAL

The second line of the address (if provided).

Data can consist of any characters

Min length: 1 Max length: 100
shipping.contact OPTIONAL

Details of the contact person at the address the goods will be shipped to.

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.

Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses

shipping.contact.firstName String OPTIONAL

The first name of the person to whom the order is being shipped.

Data can consist of any characters

Min length: 1 Max length: 50
shipping.contact.lastName String OPTIONAL

The last name or surname of the person to whom the order is being shipped.

Data can consist of any characters

Min length: 1 Max length: 50
shipping.contact.mobilePhone String OPTIONAL

The contact person's mobile phone or cell phone number.

Data can consist of any characters

Min length: 1 Max length: 20
shipping.contact.phone String OPTIONAL

The phone number of the person to whom the order is being shipped.

Data can consist of any characters

Min length: 1 Max length: 20
shipping.method Enumeration OPTIONAL

The shipping method code to indicate the time frame and the priority of the order.

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.

transaction OPTIONAL

Information about this transaction.

transaction.acquirer OPTIONAL

Additional information to be passed to acquirer.

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.

Data can consist of any characters, but sensitive data will be rejected

Min length: 1 Max 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).

Data can consist of any characters, but sensitive data will be rejected

Min length: 1 Max length: 100
transaction.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.

JSON boolean values 'true' or 'false'.

transaction.frequency Enumeration OPTIONAL

Indicates the frequency of the transaction offered to the payer.

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.

Data can consist of any characters

Min length: 1 Max length: 250
transaction.reference String OPTIONAL

An optional identifier for this transaction.

Data can consist of any characters

Min length: 1 Max length: 40
transaction.source Enumeration OPTIONAL

Indicates the source through which you received the transaction.

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

The person who initiated this transaction.

For Merchant Administration, the person is identified by their logon name.

Data can consist of any characters

Min length: 1 Max length: 256

Response

Fields

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.

Data can consist of any characters

Min length: 1 Max length: 100
merchant Alphanumeric + additional characters ALWAYS PROVIDED

The unique identifier issued to you by your payment provider.

This identifier can be up to 12 characters in length.

Data may consist of the characters 0-9, a-z, A-Z, '-', '_'

Min length: 1 Max length: 40
result Enumeration ALWAYS PROVIDED

A system-generated high level overall result of the transaction/operation.

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.

Data consists of ASCII characters

Min length: 31 Max 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.

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.

Data consists of ASCII characters

Min length: 10 Max 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.

Data consists of ASCII characters

Min length: 16 Max length: 32

Errors

error

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

error.cause Enumeration

Broadly categorizes the cause of the error.

For example, errors may occur due to invalid requests or internal system failures.

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

Textual description of the error based on the cause.

This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.

Data can consist of any characters

Min length: 1 Max length: 1000
error.field String

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.

Data can consist of any characters

Min length: 1 Max length: 100
error.supportCode String

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.

Data can consist of any characters

Min length: 1 Max length: 100
error.validationType Enumeration

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.

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

A system-generated high level overall result of the operation.

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.