Retrieve Order

Request to retrieve the details of an order and all transactions associated with this order.

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

Request Parameters

correlationId  String = OPTIONAL

The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Existence
OPTIONAL
Fixed value
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
100

responseControls   = OPTIONAL

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

responseControls.sensitiveData  String = OPTIONAL

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

{merchantId}  Alphanumeric + additional characters COMPULSORY

Existence
COMPULSORY
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
XSD type
string
minimum length
1
maximum length
40

{orderid}  String COMPULSORY

Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order you create using your merchant profile.
Existence
COMPULSORY
Validation Rules
Data can consist of any characters
XSD type
string
minimum length
1
maximum length
40

Response Parameters

amount  Decimal = Always Provided

The value of this field in the response is zero if payer funds are not transferred.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

creationTime  DateTime = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

currency  Upper case alphabetic text = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

id  String = Always Provided

Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order created by your merchant profile.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

lastUpdatedTime  DateTime = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

merchant  Alphanumeric + additional characters = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
JSON type
String
minimum length
1
maximum length
40

merchantAmount  Decimal = Always Provided

This is derived from the rate quote and order.amount for this order when Multi-Currency Pricing was used.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

merchantCurrency  Upper case alphabetic text = Always Provided

This value (along with merchantAmount) is applicable if you are doing Multi-Currency Pricing, as it gives you a consistent currency across all your orders that involve foreign exchange (FX).

If there is FX on this order, this is based on the rate quote you provided on the payment transactions, if not then this is the order.currency.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

result  Enumeration = Always Provided

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

totalAuthorizedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

totalCapturedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

totalDisbursedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

totalRefundedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

acceptPartialAmount  Boolean = CONDITIONAL

If not set or set to FALSE, and the full amount is not available, the transaction will be rejected.
Unless you have been advised by your payment service provider that the gateway supports partial approvals for your acquirer, you can ignore this field.
If the gateway supports partial approvals for your acquirer you must set this field to TRUE else the transaction is rejected by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

accountFunding   = CONDITIONAL

Account funding transactions are transactions that pull money from the sender's card account for the purpose of funding another account, the recipient's account. Depending on the type of account funding transaction you may be required to provide some or all the details in this parameter group.
Fixed value

accountFunding.purpose  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CRYPTOCURRENCY_PURCHASE
The funds from this account funding transaction will exclusively be used to purchase cryptocurrency.
MERCHANT_SETTLEMENT
The funds from this account funding transaction will be used to settle the proceeds of processing card transactions.
OTHER
The funds from this account funding transaction will be used for any other purpose, e.g. transferring funds from a person to a person or transferring funds into a staged wallet.This is the default value.
PAYROLL
The funds from this account funding transaction will be used to pay salaries.

accountFunding.recipient   = CONDITIONAL

Details about the recipient who will subsequently receive the funds that you are debiting from the sender in this transaction.
Fixed value

accountFunding.recipient.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

accountFunding.recipient.dateOfBirth  Date = CONDITIONAL

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

accountFunding.recipient.firstName  String = CONDITIONAL

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

accountFunding.recipient.lastName  String = CONDITIONAL

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

accountFunding.recipient.middleName  String = CONDITIONAL

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

accountFunding.recipient.postCodeZip  String = CONDITIONAL

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

accountFunding.recipient.stateProvinceCode  String = CONDITIONAL

The value must match the second part of the ISO 3166-2 code. For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP. For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

accountFunding.reference  String = Always Provided

This reference is generated by the gateway. You may be required to provide this reference when subsequently crediting the funds to the recipient's account.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

accountFunding.senderIsRecipient  Boolean = CONDITIONAL

If not provided the value is defaulted to FALSE.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

accountFunding.senderType  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
COMMERCIAL_ORGANIZATION
The sender is a commercial organization. Examples include account to account transfers initiated by a commercial organization for the purpose of transferring funds to one of their accounts, business to business payments, and disbursements for insurance claims, payroll, investment dividends, merchant rebates.
GOVERNMENT
The sender is a government or government agency. Examples include government agencies paying salaries, pensions, social benefits or tax credits.
NON_PROFIT_ORGANIZATION
The sender is a non-profit organization. Examples include non-profit organizations delivering emergency aid payments.
PERSON
The sender is a person. Examples include account to account transfers initiated by a person to their own account or a different person's account and adding funds to a staged wallet.

agreement   = CONDITIONAL

For example, an agreement to a series of recurring payments (a mobile phone subscription), an agreement to take payment for a purchase by a series of installments (hire purchase), an agreement to make additional payments when required (account top up), or to fulfil a standard industry practice (no show penalty charge).

Do not provide this parameter group if you are storing the payment details for subsequent payer-initiated payments only.

See Credential on File, Cardholder, and Merchant Initiated Transactions for details.
Fixed value

agreement.amountVariability  Enumeration = CONDITIONAL

The field must be provided for recurring payment agreements.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FIXED
All payments in the recurring payment agreement have the same amount. Examples include magazine subscriptions or gym memberships.
VARIABLE
The amount for the payments within the recurring payment agreement differs between payments. Examples include usage-based charges like utility or phone bills.

agreement.customData  String = CONDITIONAL

This field must not contain sensitive data.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters, but sensitive data will be rejected
JSON type
String
minimum length
1
maximum length
2048

agreement.expiryDate  Date = CONDITIONAL

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

agreement.id  String = CONDITIONAL

When you collect cards from your payers and store them for later use, you must provide an agreement ID when you use the stored values for:

  • Recurring payments: you have an agreement with the payer that authorizes you to automatically debit their account at agreed intervals for fixed or variable amounts. For example, gym membership, phone bills, or magazine subscriptions.
  • Installment payments: you have an agreement with the payer that authorizes you to process multiple payments over an agreed period of time for a single purchase. For example, the payer purchases an item for $1000 and pays for it in four monthly installments.
  • Unscheduled: you have an agreement with the payer that authorizes you to process future payments when required. For example, the payer authorizes you to process an account top-up transaction for a transit card when the account balance drops below a certain threshold.
  • Industry Practice: you have an agreement with the payer that authorizes you to initiate additional transactions to fulfil a standard business practice related to an original payment initiated by the payer. For example, a delayed charge for use of the hotel mini bar after the payer has checked out or a no show penalty charge when the payer fails to show for a booking.
When you first establish an agreement with the payer you should also specify the type of agreement in agreement.type.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

agreement.maximumAmountPerPayment  Decimal = CONDITIONAL

The amount must be provided in the currency of the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
99999999999999
minimum value
0
maximum post-decimal digits
3

agreement.minimumAmountPerPayment  Decimal = CONDITIONAL

The amount must be provided in the currency of the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
99999999999999
minimum value
0
maximum post-decimal digits
3

agreement.minimumDaysBetweenPayments  Integer = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
9999

agreement.numberOfPayments  Integer = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
999

agreement.paymentFrequency  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AD_HOC
The agreement if for payments on an ah-hoc basis.
DAILY
The agreement if for a daily payment.
FORTNIGHTLY
The agreement if for a fortnightly payment.
MONTHLY
The agreement if for a monthly payment.
OTHER
The agreement is for payments according to a schedule other than the ones listed in the other enumeration values for this field.
QUARTERLY
The agreement if for a quarterly payment.
TWICE_YEARLY
The agreement if for a payment twice a year.
WEEKLY
The agreement if for a weekly payment.
YEARLY
The agreement if for a yearly payment.

agreement.retailer   = CONDITIONAL

For an installment agreement where the payer purchased goods and/or services from a retailer but entered an installment agreement to pay for this purchase with you, you must provide details about the retailer.
Fixed value

agreement.retailer.abbreviatedTradingName  String = CONDITIONAL

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

agreement.retailer.merchantCategoryCode  String = CONDITIONAL

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

agreement.retailer.tradingName  String = CONDITIONAL

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

agreement.startDate  Date = CONDITIONAL

Cannot be in the past.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

agreement.type  Enumeration = CONDITIONAL

Specify the agreement type when you have provided a value for agreement.id and this payment is the first in a series of payments. The default value is OTHER.

The gateway will use the value you specify for subsequent payments in the series.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INSTALLMENT
An agreement where the payer authorizes the payment for a single purchase to be split into a number of payments processed at agreed intervals. For example, pay for a purchase in six monthly installments.
OTHER
An agreement where you want to link related payments for any purpose other than processing recurring, installment, or unscheduled payments. For example, split tender payments.
RECURRING
An agreement where the payer authorizes you to process repeat payments for bills or invoices at agreed intervals (for example, weekly, monthly). The amount might be fixed or variable.
UNSCHEDULED
An agreement where the payer authorizes you to automatically deduct funds for a payment for an agreed purchase when required (unscheduled). For example, auto top-ups when the account value falls below a threshold.

airline   = CONDITIONAL

Airline industry specific data
Fixed value

airline.bookingReference  Alphanumeric = CONDITIONAL

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

Existence
CONDITIONAL
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   = CONDITIONAL

Itinerary details
Fixed value

airline.itinerary.leg[n]   = CONDITIONAL

Travel leg details.
Fixed value

airline.itinerary.leg[n].carrierCode  Regex = CONDITIONAL

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

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

Existence
CONDITIONAL
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 = CONDITIONAL

Each trip leg requires a separate coupon. The coupon within the series is identified by the coupon number.
Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

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

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

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

airline.passenger[n]   = CONDITIONAL

Passenger details
Fixed value

airline.passenger[n].firstName  String = CONDITIONAL

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

airline.passenger[n].frequentFlyerNumber  String = CONDITIONAL

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

airline.passenger[n].lastName  String = CONDITIONAL

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

airline.passenger[n].middleName  String = CONDITIONAL

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

airline.passenger[n].specificInformation  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

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

airline.planNumber  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
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   = CONDITIONAL

Ticket details
Fixed value

airline.ticket.conjunctionTicketIndicator  Boolean = CONDITIONAL

Conjunction ticket refers to two or more tickets concurrently issued to a passenger and which together constitute a single contract of carriage.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

airline.ticket.eTicket  Boolean = CONDITIONAL

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

airline.ticket.exchangedTicketNumber  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
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   = CONDITIONAL

Ticket issue information.
Fixed value

airline.ticket.issue.address  String = CONDITIONAL

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

airline.ticket.issue.carrierCode  Regex = CONDITIONAL

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

airline.ticket.issue.carrierName  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
25

airline.ticket.issue.city  String = CONDITIONAL

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

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

Existence
CONDITIONAL
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 = CONDITIONAL

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

airline.ticket.issue.travelAgentCode  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

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

airline.ticket.taxOrFee[n]   = CONDITIONAL

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

Existence
CONDITIONAL
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 = CONDITIONAL

For example, the IATA tax/ charge/ fee type for Passenger Movement Charge (PMC) in Australia is TT1.
Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

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

amount  Decimal = Always Provided

The value of this field in the response is zero if payer funds are not transferred.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

authentication   = CONDITIONAL

For example, using 3-D Secure authentication.
This parameter group include payer authentication options available to you, parameters you need to perform payer authentication for an available method, and the results of payer authentication.
Fixed value

authentication.3ds   = CONDITIONAL

Parameters in this group apply to both 3-D Secure authentication version 1 and 3-D Secure Authentication version 2.

Depending on the 3-D Secure authentication version applicable you will also need additional parameters:
  • 3-D Secure authentication version 1: see the authentication.3ds1 parameter group.
  • 3-D Secure authentication version 2: see the authentication.3ds2 parameter group.
Fixed value

authentication.3ds.acsEci  Alphanumeric = CONDITIONAL

This is the Electronic Commerce Indicator (ECI) value provided by the issuer's Access Control Server (ACS) to indicate the results of the attempt to authenticate the payer.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
2

authentication.3ds.authenticationToken  Base64 = CONDITIONAL

The authentication token Included in subsequent order request messages and used by the card scheme to verify that the authentication occurred and the values provided are valid. The token should be used unaltered. For 3DS version 1, this field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.

For 3DS version 2, this field corresponds to the Authentication Value.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is Base64 encoded
JSON type
String
allowable lengths
28 or 32

authentication.3ds.transactionId  String = CONDITIONAL

For 3DS version 1, this field corresponds to the XID. The XID is an identifier generated by the gateway on behalf of the merchant.

For 3DS version 2, this field corresponds to the identifier assigned by the scheme directory server.


This identifier should be used in subsequent operation requests unaltered.

An XID submitted in this field must be in base64 format.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

authentication.3ds1   = CONDITIONAL

Information about payer authentication using 3-D Secure authentication version 1.
Fixed value

authentication.3ds1.paResStatus  Alpha = CONDITIONAL

This is the value returned in the transaction status field of the Payer Authentication Response (PARes) message from the card Issuer's Access Control Server (ACS). For example, Y, N, A, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1

authentication.3ds1.veResEnrolled  Alpha = Always Provided

This is for experts only - most users should use the response.gatewayRecommendation field.

This is the value returned in the 'enrolled' field of the Verify Enrollment Response (VERes) message from the card scheme's Directory Server. For example, Y, N, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1

authenticationStatus  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Payer authentication was attempted and a proof of authentication attempt was obtained.
AUTHENTICATION_AVAILABLE
Payer authentication is available for the payment method provided.
AUTHENTICATION_EXEMPT
Exemption from the Regulatory Technical Standards (RTS) requirements for Strong Customer Authentication (SCA) under the Payment Services Directive 2 (PSD2) regulations in the European Economic Area has been claimed or granted.
AUTHENTICATION_FAILED
The payer was not authenticated. You should not proceed with this transaction.
AUTHENTICATION_NOT_IN_EFFECT
There is no authentication information associated with this transaction.
AUTHENTICATION_NOT_SUPPORTED
The requested authentication method is not supported for this payment method.
AUTHENTICATION_PENDING
Payer authentication is pending completion of a challenge process.
AUTHENTICATION_REJECTED
The issuer rejected the authentication request and requested that you do not attempt authorization of a payment.
AUTHENTICATION_REQUIRED
Payer authentication is required for this payment, but was not provided.
AUTHENTICATION_SUCCESSFUL
The payer was successfully authenticated.
AUTHENTICATION_UNAVAILABLE
The payer was not able to be authenticated due to a technical or other issue.

authenticationVersion  Enumeration = CONDITIONAL

For example, using 3-D Secure authentication.
This parameter group include payer authentication options available to you, parameters you need to perform payer authentication for an available method, and the results of payer authentication.
Existence
CONDITIONAL
Fixed value
Validation Rules
If online authentication of the payer is available, then this field shows the type. If no such authentication is available, the value is NONE.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
3DS1
3-D Secure Version 1 authentication is available.
3DS2
3-D Secure Version 2 authentication is available.
RUPAY
RuPay authentication is available.
NONE
No authentication is available.

billing   = CONDITIONAL

Information on the billing address including the contact details of the payer.
Fixed value

billing.address   = CONDITIONAL

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

billing.address.city  String = CONDITIONAL

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

billing.address.company  String = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

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

billing.address.stateProvinceCode  String = CONDITIONAL

Providing this field might improve your payer experience for 3-D Secure payer authentication.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

billing.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

billing.address.street2  String = CONDITIONAL

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

cashAdvance  Boolean = CONDITIONAL

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

cashbackAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

certainty  Enumeration = CONDITIONAL

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

chargeback   = CONDITIONAL

This value will be provided when a chargeback is successfully processed and funds have been transferred back to the payer.
Fixed value

chargeback.amount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

chargeback.currency  String = Always Provided

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

correlationId  String = CONDITIONAL

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

creationTime  DateTime = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

currency  Upper case alphabetic text = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

currencyConversion   = CONDITIONAL

If you requested a rate quote via the gateway, provide the requestId as returned in the PAYMENT_OPTIONS_INQUIRY response. For rate quote requests performed outside the gateway, you must at least provide payer amount, payer currency, provider and payer exchange rate.

You can only provide DCC information on the initial transaction for an order.

If the initial transaction for an order is a payer authentication transaction with DCC information and the subsequent authorization or pay transaction contains different DCC information, that authorization or pay transaction will be rejected.

If DCC information is provided on subsequent capture or refund for an order, it will be ignored.
Fixed value

currencyConversion.exchangeRateTime  DateTime = CONDITIONAL

The timestamp may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

currencyConversion.marginPercentage  Decimal = CONDITIONAL

The margin percentage may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
10000000
minimum value
0
maximum post-decimal digits
5

currencyConversion.payerAmount  Decimal = CONDITIONAL

You must include this field if the payer accepted the DCC offer you presented to them.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

currencyConversion.payerCurrency  Upper case alphabetic text = CONDITIONAL

The currency must be expressed as an ISO 4217 alpha code, e.g. USD and must be different to that provided for transaction currency. You must include this field if the payer accepted the DCC offer you presented to them.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

currencyConversion.payerExchangeRate  Decimal = CONDITIONAL

The payer exchange rate includes the foreign exchange markup (marginPercentage). The payer exchange rate is displayed to the payer on the merchant site.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
12

currencyConversion.payerReceiptText  String = CONDITIONAL

It contains information necessary to comply with scheme requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4096

currencyConversion.provider  Enumeration = CONDITIONAL

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

currencyConversion.providerReceipt  String = CONDITIONAL

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

currencyConversion.uptake  Enumeration = Always Provided

If not provided, this value defaults to NOT_REQUIRED.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
The payer accepted the DCC offer and pays in their own currency. The conditions of the rate quote are applied in the processing of this transaction.
DECLINED
The payer declined the DCC offer and pays in your transaction currency.
NOT_AVAILABLE
A rate quote was requested, but no DCC offer was provided. For rate quotes via the gateway the PAYMENT_OPTION_INQUIRY response contains a currencyConversion.gatewayCode other than QUOTE_PROVIDED.
NOT_REQUIRED
DCC is not required for this transaction.

custom  String = CONDITIONAL

The gateway does not send this information to the acquirer. A maximum of 50 such fields may be added to the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250

customer   = CONDITIONAL

Information about the customer (payer) who has placed the order with you.
Fixed value

customer.email  Email = CONDITIONAL

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

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

customer.lastName  String = CONDITIONAL

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

customer.mobilePhone  String = CONDITIONAL

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

customer.phone  String = CONDITIONAL

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

customer.taxRegistrationId  String = CONDITIONAL

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

customer.nationalId  String = CONDITIONAL

For example, in Mexico this could be the CURP (Clave Única de Registro de Población), RFC (Registro Federal del Contribuyente), or INE (Instituto Nacional Electoral) number. In Brazil this could be the CPF (Cadastro de Pessoas Físicas) or CNPJ (Cadastro Nacional de Pessoas Jurídicas).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30

customerNote  String = CONDITIONAL

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

customerOrderDate  Date = CONDITIONAL

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

customerReference  ASCII Text = CONDITIONAL

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
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
25

debtRepayment   = CONDITIONAL

If your Merchant Category Code is 6012 (Merchandise and Services—Customer Financial Institutions) or 6051 ( (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency)) you may be required to provide some or all the details in this parameter group.
Fixed value

debtRepayment.recipient   = CONDITIONAL

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

debtRepayment.recipient.accountIdentifier  String = Always Provided

For payments into a card account provide the card number. For payments into other accounts (for example a bank account) provide the account number. The value provided will be returned masked in the response.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

debtRepayment.recipient.dateOfBirth  Date = Always Provided

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

debtRepayment.recipient.lastName  String = Always Provided

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

debtRepayment.recipient.postcodeZip  String = Always Provided

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

description  String = CONDITIONAL

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

device   = CONDITIONAL

Information about the device used by the payer for this transaction.
Fixed value

device.ani  String = CONDITIONAL

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

device.aniCallType  String = CONDITIONAL

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

device.browser  String = CONDITIONAL

For example, MOZILLA/4.0 (COMPATIBLE; MSIE 5.0; WINDOWS 95)
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2048

device.hostname  String = CONDITIONAL

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

device.ipAddress  String = CONDITIONAL

You can provide the IP address in IPv6 format as defined in RFC4291.
IPv6 address will only be used in EMV 3DS authentication. Supplied IPv6 address will not be used for any other purposes.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
7
maximum length
45

device.mobilePhoneModel  String = CONDITIONAL

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

discount   = CONDITIONAL

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

discount.amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

discount.code  String = CONDITIONAL

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

discount.description  String = CONDITIONAL

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

dutyAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

expectedNumberOfCaptures  Integer = CONDITIONAL

For example, if you intend to deliver the goods in two shipments and will capture part of the total authorized amount when you make each shipment, set the value of this field to 2.
If the value equals or drops below the actual number of successful Captures, then the gateway will prevent further Captures and void the outstanding Authorization amount (depending on your merchant profile configuration). If you are unsure of the number of Captures, set the value to 99, and to one on your last Capture.
If you do not provided a value for this field, but had previously provided one, the previous value is applied. For example, if you provide a value 2 on the first Capture for the order and then submit a second Capture without a value, the gateway assumes that the value is still 2.
Existence
CONDITIONAL
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

funding   = CONDITIONAL

Details of the amount settled to your account for this order.
Fixed value

funding.amount  Decimal = Always Provided

This includes sales (credits to your account) and refunds (debits).
See order.fundingStatus to determine the certainty of this value.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

funding.currency  Upper case alphabetic text = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

fundingStatus  Enumeration = CONDITIONAL

It reflects both money into and out of your bank account (that is, both sales and refunds).
When considering funding status, the gateway only examines transactions that can move funds. For example, it ignores Authorizations and declined Captures. This is because fundingStatus reflects the movement of the money for the commercial transaction, it does not reflect the movement of money for fees associated with the transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FUNDED
All transactions that could transfer money to / from your account are clearing and will settle.
FUNDING_ASSURED
All transactions that could transfer money to / from your account, are guaranteed to settle, but have not yet done so. The exact amount of the funds to be transferred might not be known in this state.
FUNDING_FAILED
There are transactions on the order that could result in the transfer of money to / from your account, however the service provider has not yet received funds from the payer. In case of an order with a refund the service provider was not able to return funds to the payer. You might need to contact the payer to unblock this condition.
FUNDING_ON_HOLD
There are transactions on the order that could result in the transfer of money to or from your account, however the service provider is unable to complete the transfer of funds, because of some problem with your account. This might be a transient state.
IN_PROGRESS
There are transactions on the order that could result in the transfer of money to / from your account, but some have not yet have done so. This is usually a transient state.
NON_FUNDED
There are no transactions on the order that could result in transfer of money to / from your account.
NOT_SUPPORTED
All transactions on the order were settled to a payment provider from which the gateway does not receive funding information.

gratuityAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

id  String = Always Provided

Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order created by your merchant profile.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

industryPracticePaymentReason  Enumeration = CONDITIONAL

Use this field to indicate the reason for that industry practice payment.

A merchant initiated industry practice transaction must also contain the 'scheme transaction Id' from the associated cardholder initiated transaction.

You can provide the referenceOrderId of the relevant cardholder initiated transaction and the gateway will include the 'scheme transaction Id' on the industry practice transaction. For example, when you submit a 'delayed charge', you should provide the referenceOrderId of the cardholder-initiated transaction that resulted in the delayed charge.

Alternatively, you can provide the 'scheme transaction Id' of the cardholder initiated transaction in the industry practice transaction using the field transaction.acquirer.traceId.

You must have obtained the payer's consent prior to submitting industry practice transactions.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DELAYED_CHARGE
An additional payment processed in accordance with your terms and conditions after the original payment has been processed. For example, hotel mini bar charge after the payer has checked out or damage to a rental car.
NO_SHOW_PENALTY
A penalty charged in accordance with your charge cancellation policy the payer cancels or fails to show for the booking.
PARTIAL_SHIPMENT
A shipment where merchant decides to ship the goods from the same order in multiple shipments due to various reasons like goods availability, involvement of multiple suppliers for goods etc.

invoiceNumber  String = CONDITIONAL

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

item[n]   = CONDITIONAL

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

item[n].brand  String = CONDITIONAL

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

item[n].category  String = CONDITIONAL

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

item[n].description  String = CONDITIONAL

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

item[n].detail   = CONDITIONAL

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

item[n].detail.acquirerCustom  JSON Text = CONDITIONAL

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

item[n].detail.commodityCode  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

item[n].detail.tax[n]   = CONDITIONAL

Information about the taxes per line item.
Fixed value

item[n].detail.tax[n].amount  Decimal = CONDITIONAL

Note that the tax amount provided must reflect the tax amount applied before a discount was applied.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

item[n].detail.tax[n].rate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

item[n].detail.tax[n].type  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

item[n].detail.unitDiscountRate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
999999
minimum value
0
maximum post-decimal digits
5

item[n].detail.unitTaxRate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
999999
minimum value
0
maximum post-decimal digits
5

item[n].detail.unitTaxType  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

item[n].detail.unspsc  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

item[n].detail.upc  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

item[n].industryCategory  Enumeration = CONDITIONAL

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
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HEALTHCARE_DENTAL
HEALTHCARE_OTHER
HEALTHCARE_PRESCRIPTION
HEALTHCARE_VISION

item[n].name  String = Always Provided

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

item[n].quantity  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0

item[n].sku  String = CONDITIONAL

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

item[n].unitDiscountAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

item[n].unitOfMeasure  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

item[n].unitPrice  Decimal = Always Provided

This amount is multiplied with the item quantity (item.quantity) to determine the total amount for this item (item.amount). This amount does not include the tax amount and/or discount amount applicable to this item.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

item[n].unitTaxAmount  Decimal = CONDITIONAL

This amount is multiplied with the item quantity (item.quantity) to determine the total tax amount for this item.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

itemAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

lastUpdatedTime  DateTime = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

lineOfBusiness  String = CONDITIONAL

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

localTaxRegistrationId  String = CONDITIONAL

If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Provincial Sales Tax (PST).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
25

marketplace   = CONDITIONAL

You should provide this identifier to your payment service provider so that the gateway can automatically include it in all transaction messages to your acquirer.
Fixed value

marketplace.retailerLocation  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DOMESTIC_ONLY
The order only contains items from domestic retailers.
FOREIGN_AND_DOMESTIC
The order contains items from both foreign and domestic retailers.
FOREIGN_ONLY
The order only contains items from foreign retailers.

merchant  Alphanumeric + additional characters = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
JSON type
String
minimum length
1
maximum length
40

merchantAmount  Decimal = Always Provided

This is derived from the rate quote and order.amount for this order when Multi-Currency Pricing was used.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

merchantCategoryCode  Digits = CONDITIONAL

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
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
4

merchantCharge   = CONDITIONAL

Information about additional fees that you are charging the payer for processing the payment for this order, for example, a surcharge.
Fixed value

merchantCharge.amount  Decimal = Always Provided

If you provide a charge amount, you must include it in the total amount for the order.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

merchantCharge.calculatedBy  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CLIENT
The charge amount was included in the transaction request.
GATEWAY
The gateway calculated the charge amount based on the net amount included in the transaction request and the configured charge rules.

merchantCharge.ruleName  String = CONDITIONAL

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

merchantCharge.type  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
SURCHARGE
A fee that covers your cost of accepting accepting a payment method.

merchantCurrency  Upper case alphabetic text = Always Provided

This value (along with merchantAmount) is applicable if you are doing Multi-Currency Pricing, as it gives you a consistent currency across all your orders that involve foreign exchange (FX).

If there is FX on this order, this is based on the rate quote you provided on the payment transactions, if not then this is the order.currency.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

netAmount  Decimal = CONDITIONAL

If you specify a net amount the gateway will calculate the merchant charge amount for you based on the charge type (order.merchantCharge.type) provided in the request. Alternatively, you can specify the merchant charge amount (order.merchantCharge.amount) yourself.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

notificationUrl  Url = CONDITIONAL

To receive notifications at this URL, you must enable Webhook notifications in Merchant Administration. Ensure the URL is HTTPS
Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

paymentPlan   = CONDITIONAL

Information about the payment plan selected by the cardholder.
Fixed value

paymentPlan.deferralPeriod  Integer = Always Provided

Existence
Always Provided
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

paymentPlan.firstPaymentAmount  Decimal = Always Provided

The amount for all subsequent payments is provided in item[n].paymentPlanOffer{id}.subsequentPaymentAmount. The amount is expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
2140000000
minimum value
0.001
maximum post-decimal digits
3

paymentPlan.interest.rate  Decimal = Always Provided

This field is returned only when plan type is AMEX_PlanAmex.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
100
minimum value
0

paymentPlan.name  String = Always Provided

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

paymentPlan.numberOfPayments  Integer = Always Provided

Existence
Always Provided
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

paymentPlan.receiptText  String = Always Provided

Where supported for the issuer or acquirer the gateway makes the receipt text to be displayed available in this field. Note that there may be additional requirements about the content to be displayed (in addition to the receipt text). The text provided in this field may be in the local language or English.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

paymentPlan.subsequentPaymentAmount  Decimal = Always Provided

If the amount for the first payment differs, then the amount for the first payment is provided in item[n].paymentPlanOffer{id}.firstPaymentAmount. The amount is expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
2140000000
minimum value
0.001
maximum post-decimal digits
3

paymentPlan.totalAmount  Decimal = Always Provided

The amount is expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents. This field is returned only whenplan type is AMEX_PlanAmex.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
2140000000
minimum value
0.001
maximum post-decimal digits
3

purchaseType  Enumeration = CONDITIONAL

You must provide a value if your Merchant Category Code (MCC) is one of the following:

6051 (Quasi Cash – Merchant or Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for the purchase of cryptocurrency. Set the value to CRYPTOCURRENCY.

6211 (Securities – Brokers/Dealers) and this transaction is for the purchase of high-risk securities. Set the value to HIGH_RISK_SECURITIES.

6012 (Merchandise and Services—Customer Financial Institutions) or 6051 (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for debt repayment. Set the value to DEBT_REPAYMENT.

If the transaction pulls money from an account for the purpose of crediting another account you must set purchase type to ACCOUNT_FUNDING.

You may set purchase type to OTHER for any other type of payment.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CRYPTOCURRENCY
The transaction is for the purchase of a cryptocurrency.
DEBT_REPAYMENT
You may be required to provide additional details about the debt repayment in the debtRepayment parameter group.
HIGH_RISK_SECURITIES
The transaction is for the purchase of high-risk securities.
OTHER
Use this value if the purchase type for the transaction does not fit in any of the other categories.

reference  String = CONDITIONAL

For example, a shopping cart number, an order number, or an invoice number.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
200

referenceOrderId  String = CONDITIONAL

It is applicable to the following scenarios.

Tokenization requests:
Identifier for the order which will be used to generate a gateway token. The gateway will attempt tokenization of payment credentials linked to the order ID.
The order identifier provided in this field must be linked to a successfully processed order which has card (FPAN / DPAN) as the payment method.
When providing this field, you must not provide card details in the sourceOfFunds.provided.card parameter group, and you must set the sourceOfFunds.type field to CARD.

Payment transactions:
When submitting:
  • an industry practice payment, this is the reference to the initial cardholder-initiated transaction.
  • a resubmission transaction, this is the reference to the order which is being resubmitted.

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

requestedAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

requestorName  String = CONDITIONAL

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

result  Enumeration = Always Provided

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

reward   = CONDITIONAL

Information about reward points earned using a card enrolled in a rewards program that are being redeemed as full or part payment for this order.
Fixed value

reward.amount  Decimal = CONDITIONAL

The reward amount is included in the total amount of the order you provide in order.amount. You must provide this value if the rewards program supports a payer-nominated amount (availableBalance.reward.payerNominatedAmount returned from the Balance Inquiry operation has a value of 'true').
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

reward.availableBalance   = CONDITIONAL

Information about the rewards currently available to redeem for the card (that is, after this purchase).
Fixed value

reward.availableBalance.amount  Decimal = CONDITIONAL

This amount is the rewards points available for the card divided by the conversion rate. For example, if the payer has 1500 points available and the conversion rate is 10 then the currency equivalent amount is 150.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

reward.availableBalance.points  Decimal = CONDITIONAL

This includes any points earned by the payer as a result of the payment made for this order. You should print this value on the receipt when required by the rewards program provider.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

reward.points  Decimal = Always Provided

You should print this value on the receipt when required by the rewards program provider.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

reward.previousBalance   = CONDITIONAL

Information about the rewards available to redeem for this card prior to the last transaction on this order where points were redeemed.
Fixed value

reward.previousBalance.amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

reward.previousBalance.points  Decimal = CONDITIONAL

You should print this value on the receipt when required by the rewards program provider.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

reward.program  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMERICAN_EXPRESS_MEMBERSHIP_REWARDS
American Express Membership Rewards.
BANCOMER_MEMBERSHIP_REWARDS
Bancomer Membership Rewards.

risk   = CONDITIONAL

Information relevant to risk assessment.
Fixed value

risk.custom  String = CONDITIONAL

This field is only relevant if you use a risk service provider, and you have agreed with them the values to provide (maximum 100 characters in a field name from the set A-Z, a-z, 0-9, maximum 4kB in length of values across all custom risk fields). An example might be:
Field: risk.custom.headOfficeLocation
Value: London UK
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000

risk.response   = CONDITIONAL

Fixed value

risk.response.gatewayCode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
Order accepted
NOT_CHECKED
Merchant risk rules were not checked and system rules did not reject the Order
REJECTED
Order rejected
REVIEW_REQUIRED
Order marked for review

risk.response.provider  String = CONDITIONAL

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

risk.response.reversalResult  Enumeration = CONDITIONAL

The gateway automatically reverses orders that are sent to the acquirer for processing but are rejected after review.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FAIL
The gateway failed to reverse the order.
NOT_APPLICABLE
The gateway did not attempt to reverse the order because reversal is not possible. For example, the acquirer does not support order reversals.
OKAY
The gateway successfully reversed the order.

risk.response.review   = CONDITIONAL

Details of the decision you made, or need to make, when the risk provider has asked to you review this order.
Fixed value

risk.response.review.decision  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
The order has been released for processing
NOT_REQUIRED
No review required
PENDING
A decision to release/cancel the order is pending
REJECTED
The order has been cancelled and a reversal transaction was attempted

risk.response.review.decisionReason  String = CONDITIONAL

This field is set to "MANUAL_OVERRIDE" if you chose to override the risk provider's decision to reject the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

risk.response.review.note  String = CONDITIONAL

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

risk.response.review.timeOfDecision  DateTime = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

risk.response.review.userId  String = CONDITIONAL

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

risk.response.rule[n]   = CONDITIONAL

Details of the rules used by the risk provider to assess the risk of this order being fraudulent.
Fixed value

risk.response.rule[n].data  String = CONDITIONAL

For example, if a rule blocks BIN ranges, then BIN number is the data for the rule.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

risk.response.rule[n].id  String = CONDITIONAL

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

risk.response.rule[n].name  String = CONDITIONAL

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

risk.response.rule[n].recommendation  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
The result for the specific risk rule when performed against this order
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPT
Based on this rule, the risk provider recommends proceeding with this order.
NO_ACTION
Based on this rule, the risk provider does not provide a recommendation to accept or reject this order.
OVERRIDE
Based on this rule, the recommendation made based on a different rule was overridden.
REJECT
Based on this rule, the risk provider recommends that this order is rejected.
REVIEW
Based on this rule, the risk provider recommends that you review this order.

risk.response.rule[n].score  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

risk.response.rule[n].type  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ERROR
The gateway was unable to connect to the external risk provider.
EXTERNAL_RULE
The risk rule has been defined in the external risk provider's system.
MERCHANT_RULE
The risk rule has been defined in the gateway by the Merchant.
MSO_RULE
The risk rule has been defined in the gateway by the MSO.

risk.response.totalScore  Integer = CONDITIONAL

The higher the score, the higher the fraud risk.
Existence
CONDITIONAL
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
9999999999999999

shipping   = CONDITIONAL

Shipping information for this order.
Fixed value

shipping.address   = CONDITIONAL

The address to which this order will be shipped.
Fixed value

shipping.address.city  String = CONDITIONAL

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

shipping.address.company  String = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

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

shipping.address.stateProvinceCode  String = CONDITIONAL

Providing this field might improve your payer experience for 3-D Secure payer authentication.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

shipping.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

shipping.address.street2  String = CONDITIONAL

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

shipping.address.sameAsBilling  Enumeration = CONDITIONAL

Provide this value if you are not providing the full shipping and billing addresses, but you can affirm that they are the same or different.

The default value for this field is:

SAME - if the shipping and billing address are supplied, and all fields are the same (ignoring non-alphanumerics).
DIFFERENT - if the shipping and billing address are supplied, and at least one field is different (ignoring non-alphanumerics).
UNKNOWN - either shipping address or billing address is absent.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DIFFERENT
The shipping and billing addresses are different.
SAME
The shipping and billing addresses are the same.
UNKNOWN
It is not known if the shipping and billing addresses are the same.

shipping.contact   = CONDITIONAL

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

shipping.contact.email  Email = CONDITIONAL

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

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

shipping.contact.lastName  String = CONDITIONAL

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

shipping.contact.mobilePhone  Telephone Number = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
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 = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ELECTRONIC
Electronic delivery.
GROUND
Ground (4 or more days).
NOT_SHIPPED
Order for goods that are not shipped (for example, travel and event tickets)
OVERNIGHT
Overnight (next day).
PICKUP
Shipped to a local store for pick up.
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.

shipping.origin.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

shippingAndHandlingAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

shippingAndHandlingTaxAmount  Decimal = CONDITIONAL

This amount is included in the shipping and handling amount provided in field order.shippingAndHandlingAmount.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

shippingAndHandlingTaxRate  Decimal = CONDITIONAL

For a tax rate of 2.5% provide 0.025.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
4

sourceOfFunds   = CONDITIONAL

Information about the source of funds for this payment, including the payment method chosen by the payer.
Fixed value

sourceOfFunds.provided   = CONDITIONAL

For browser payments, the source of funds details are usually collected from the payer on the payment provider's website and provided to you when you retrieve the transaction details (for a successful transaction). However, for some payment types (such as giropay), you must collect the information from the payer and supply it here.
Fixed value

sourceOfFunds.provided.ach   = CONDITIONAL

For ACH payments, the details about the payers bank account used for the payment as well as the type of ACH payment are provided in this parameter group.
Fixed value

sourceOfFunds.provided.ach.accountType  Enumeration = CONDITIONAL

  • Consumer (checking or savings), or
  • Business

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

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

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

sourceOfFunds.provided.ach.bankAccountHolder  String = CONDITIONAL

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

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

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-', '/'
JSON type
String
minimum length
1
maximum length
17

sourceOfFunds.provided.ach.routingNumber  Digits = CONDITIONAL

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

Retrieve this information from the payer.

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

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

sourceOfFunds.provided.ach.secCode  Enumeration = CONDITIONAL

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

sourceOfFunds.provided.bancontact   = CONDITIONAL

Additional details related to a Bancontact payment.
Fixed value

sourceOfFunds.provided.bancontact.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.blik   = CONDITIONAL

Additional details related to a BLIK browser payment.
Fixed value

sourceOfFunds.provided.blik.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.boletoBancario   = CONDITIONAL

When processing a Boleto Bancario payment you must also provide the payer's national identifier (customer.nationalId), your reference to the payer (customer.id) and the payer's date of birth (customer.dateOfBirth)
Fixed value

sourceOfFunds.provided.boletoBancario.actionType  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
WRITE_OFF
Write off the Boleto.

sourceOfFunds.provided.boletoBancario.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.boletoBancario.customerType  Enumeration = CONDITIONAL

If the value is not provided it will be defaulted to INDIVIDUAL.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
COMPANY
Customer is an organization.
INDIVIDUAL
Customer is an individual.

sourceOfFunds.provided.boletoBancario.daysBeforeAction  Digits = CONDITIONAL

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

sourceOfFunds.provided.boletoBancario.dueDate  Date = CONDITIONAL

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

sourceOfFunds.provided.boletoBancario.slipUrl  Url = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

sourceOfFunds.provided.card   = CONDITIONAL

Use this parameter group when you have sourced payment details using:
Cards: the card details entered directly or collected using a Point of Sale (POS) terminal.
Device payment methods such as Apple Pay, Android Pay, Samsung Pay or Google Pay.
Digital wallets such as Masterpass, Visa Checkout or Amex Express Checkout.
Card scheme tokens where the card was tokenized using a card scheme tokenization service such as Mastercard Digital Enablement Service (MDES).
Alternative IDs provided by the schemes, such as Alt-Id for Guest Checkout payments in India using American Express, Rupay cards issued in India.
Fixed value

sourceOfFunds.provided.card.accountType  Enumeration = CONDITIONAL

If you do not provide a value, we will use the acquirer's default. You can use paymentTypes.card.cardTypes in the 'Retrieve Payment Options' operation response to determine the card type.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHECKING
SAVINGS

sourceOfFunds.provided.card.brand  Enumeration = Always Provided

For many major card types this will match the scheme name. In some markets, a card may also be co-branded with a local brand that is recognized and accepted within its country/region of origin (see card.localBrand).
You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX
American Express
CHINA_UNIONPAY
China UnionPay
DINERS_CLUB
Diners Club
DISCOVER
Discover
JCB
JCB (Japan Credit Bureau)
LOCAL_BRAND_ONLY
The card does not have a global brand.
MAESTRO
Maestro
MASTERCARD
MasterCard
RUPAY
RuPay
UATP
UATP (Universal Air Travel Plan)
UNKNOWN
The brand of the card used in the transaction could not be identified
VISA
Visa

sourceOfFunds.provided.card.cardType  String = CONDITIONAL

For a co-branded card, the PAYMENT_OPTIONS_INQUIRY response contains both brands in field paymentTypes.card.cardTypes[n] (when the request contains field sourceOfFunds.provided.card.prefix).

  • • You will receive paymentTypes.card.interactionConstraints=CARD_TYPE_SELECTION in the PAYMENT_OPTIONS_INQUIRY response if the card type selection is mandatory. In this case, you must let the payer select the card type and provide this field in the request.
  • • You will receive paymentTypes.card.capabilities[n].capability=CARD_TYPE_SELECTION in the PAYMENT_OPTIONS_INQUIRY response if the card type selection is optional. In this case, you may let the payer select the card type or make the selection yourself and provide this field in the request. If not provided, the gateway will make the selection based on your configuration and the card type.
  • • If the PAYMENT_OPTIONS_INQUIRY response contains neither of the above fields, the gateway determines the card type and requests that contain this field will be rejected by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
50

sourceOfFunds.provided.card.devicePayment   = CONDITIONAL

You can either just present the device's payment token in the paymentToken subfield, or decrypt the payment token yourself and pass the components in the 3dSecure subfields.
Fixed value

sourceOfFunds.provided.card.devicePayment.cryptogramFormat  Enumeration = CONDITIONAL

You must provide the cryptogram format when you decrypt the payment token and provide the payment details (including the online payment cryptogram) in the transaction request.

You do not need to provide the cryptogram format if you provide the payment token in sourceOfFunds.provided.card.devicePayment.paymentToken
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
3DSECURE
The payment data keys for the online payment cryptogram are provided using the 3-D Secure format.
EMV
The payment data keys for the online payment cryptogram are provided using the EMV format.

sourceOfFunds.provided.card.deviceSpecificExpiry   = CONDITIONAL

The associated account number is returned in sourceOfFunds.provided.card.deviceSpecificNumber. This field is returned for:
  • • Device payments: the expiry date for the Device Primary Account Number (DPAN).
  • • Digital wallets: the expiry date for the Token PAN.
  • • Card scheme tokens: the expiry date for the Token PAN.
Fixed value

sourceOfFunds.provided.card.deviceSpecificExpiry.month  Digits = Always Provided

Months are numbered January=1, through to December=12.
Existence
Always Provided
Fixed value
Validation Rules
Data is a number between 1 and 12 represented as a string.
JSON type
String

sourceOfFunds.provided.card.deviceSpecificExpiry.year  Digits = Always Provided

The Common Era year is 2000 plus this value.
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
2
maximum length
2

sourceOfFunds.provided.card.deviceSpecificNumber  Masked digits = Always Provided

Use this field for:
  • • Device payments: the payers's account number associated with the mobile device used for the payment. This is also known as the Device Primary Account Number (DPAN).
  • • Digital wallets: the Token PAN returned by a digital wallet. The gateway only returns this value for Amex Express Checkout.
  • • Card scheme tokens: the token generated by a card scheme tokenization service such as Mastercard Digital Enablement Service (MDES). The token is used as an identifier of the payer's Primary Account Number (PAN) securely stored by the service. For MDES, this token is referred to as the Token PAN. For VTS, this is the Token
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
9
maximum length
19

sourceOfFunds.provided.card.emvRequest  String = CONDITIONAL

It contains selected EMV fields as provided by the terminal.

For the list of field tags to include (if provided by the terminal), see Card Present Payments. Requests with any other tags are rejected by the gateway.

Some of the tags represent data that can occur on explicit fields in this API. You can submit the value either in this field, or in both places. For example, the PAN can be presented as EMV tag 5A in this field, or included both the sourceOfFunds.provided.card.number API field and in EMV tag 5A in this field.

If you specify the EMV tag only, we can populate the explicit field in the API. Fields where this is supported have the text "This field corresponds to EMV tag <tag name>" in their field descriptions.

If you specify both places, there will be no population of the explicit field or validation that the data matches.

The API response will not contain PCI sensitive fields.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250

sourceOfFunds.provided.card.emvResponse  String = CONDITIONAL

It contains the EMV fields returned from the issuer in response to an authorization request for the chip transaction when the transaction was sent online.

The card/terminal uses data returned from the issuer to make the final decision to accept or decline the transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250

sourceOfFunds.provided.card.encryption  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DEVICE
Encrypted by a payer's device (such as a mobile phone).
DIGITAL_WALLET
Encrypted by a payer's digital wallet.
DUKPT
Encrypted by a payment terminal using Derived Unique Key Per Transaction (DUKPT).

sourceOfFunds.provided.card.expiry   = CONDITIONAL

This field corresponds to EMV tag 5F24
Fixed value

sourceOfFunds.provided.card.expiry.month  Digits = Always Provided

Months are numbered January=1, through to December=12.
Existence
Always Provided
Fixed value
Validation Rules
Data is a number between 1 and 12 represented as a string.
JSON type
String

sourceOfFunds.provided.card.expiry.year  Digits = Always Provided

The Common Era year is 2000 plus this value.
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
2
maximum length
2

sourceOfFunds.provided.card.fundingMethod  Enumeration = Always Provided

You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHARGE
The payer has a line of credit with the issuer which must be paid off monthly.
CREDIT
The payer has a revolving line of credit with the issuer.
DEBIT
Funds are immediately debited from the payer's account with the issuer.
UNKNOWN
The account funding method could not be determined.

sourceOfFunds.provided.card.issuer  String = CONDITIONAL

WARNING: This information may be incorrect or incomplete – use at your own risk.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
255

sourceOfFunds.provided.card.localBrand  String = CONDITIONAL

The card may also be co-branded with a brand name that is recognized and accepted globally (see card.brand).
You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
50

sourceOfFunds.provided.card.nameOnCard  String = CONDITIONAL

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

sourceOfFunds.provided.card.number  Masked digits = Always Provided

On requests, provide the number in the form that you receive it (as explained below). On responses, the gateway populates it with a form that the payer would recognize (also explained in more detail below).

  • Request

    On request, populate this field based on the payment method you are using for the payment:
    • • Card: the account number embossed onto the card. This field corresponds to EMV tag 5A.
    • • Device payment methods such as Apple Pay, Android Pay, Samsung Pay, or Google Pay. Normally for device payments, you would populate sourceOfFunds.provided.card.devicePayment.paymentToken and the gateway will decrypt and extract this field. However, you can populate this field if you decrypt the payment token yourself. In this case use the Device PAN (DPAN) provided in the payment token.
    • • Digital wallets such as Masterpass, Visa Checkout or Amex Express Checkout. In this case, provide the PAN retrieved from the wallet.
    • • Scheme tokens such as MDES (Mastercard Digital Enablement Service) or Visa Token Service (VTS). For MDES tokens, supply the value called the "Token PAN". For VTS tokens, supply the value called "Token"
    • • Alternative IDs provided by the schemes. For Guest Checkout payments in India using American Express, Rupay cards, provide the "Alt-Id".
  • Response

    On return, the card number will be populated in 6.4 masking format, for example, 000000xxxxxx0000. If you wish to return unmasked card numbers, you must have the requisite permission, set responseControls.sensitiveData field to UNMASK, and authenticate your call to the API using certificate authentication.

    When a DPAN or scheme token was provided in the transaction request, then this field will represent the PAN of the associated payer's account (when supported by the acquirer). This is also referred to as the Funding PAN (FPAN).
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
9
maximum length
19

sourceOfFunds.provided.card.paymentAccountReference  String = CONDITIONAL

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

sourceOfFunds.provided.card.pin   = CONDITIONAL

Provide this data in the case where you want the PIN verified online by the issuer. The gateway can support PINs encoded in ISO 9564-1 formats 0, 1, 3 and 4, but the supported format will depend on integration.
Fixed value

sourceOfFunds.provided.card.pin.encryptionState  Enumeration = CONDITIONAL

INVALID means the terminal detected some form of error in the encryption process. The gateway will decline transactions with INVALID encryption state. This field may be omitted when the value is VALID.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID
The encryption state is invalid.
VALID
The encryption state is valid.

sourceOfFunds.provided.card.pin.keySerialNumber  Hex = Always Provided

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

sourceOfFunds.provided.card.scheme  Enumeration = Always Provided

The card scheme also controls authorization and settlement of card transactions among issuers and acquirers.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX
American Express
CHINA_UNIONPAY
China UnionPay
DINERS_CLUB
Diners Club
DISCOVER
Discover
JCB
JCB (Japan Credit Bureau)
MASTERCARD
MasterCard
OTHER
The scheme of the card used in the transaction could not be identified.
RUPAY
RuPay
UATP
UATP (Universal Air Travel Plan)
VISA
Visa

sourceOfFunds.provided.card.sequenceNumber  Digits = CONDITIONAL

This field corresponds to EMV tag 5F34
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.card.storedOnFile  Enumeration = CONDITIONAL

Refer to Credential on File, Cardholder and Merchant-initiated Transactions for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_STORED
Set this value if you are not storing the card details provided by the payer for this transaction. The gateway sets this value by default, if you are submitting a payer-initiated transaction. You must not use this value when submitting merchant-initiated transactions.
STORED
Set this value if you have previously stored the card details provided by the payer and are now using these stored details. The gateway sets this value by default, if you are submitting a merchant-initiated transaction.
TO_BE_STORED
Set this value if this is the first transaction using these card details and you intend to store the card details if the transaction is successful.

sourceOfFunds.provided.card.tags  String = CONDITIONAL

For example, identifying if it is an EBT (Electronic Benefits Transfer) or Health Benefit Card. You can use this information to support your decisions about accepting payments with this card. The data is encoded in JSON as an object map indexed on the tag name. Some standard tag names are EBT and HEALTH_BENEFIT_CARD_IIAS. If these tags apply to the card, the tag will have value true, otherwise it will be absent. Other tag names with other values might also exist, depending on which acquirer processed the transaction. For example, an EBT card might return value: {"ACME_CARD_IDENTIFIER":"23", "EBT":true} Contact your payment provider if you wish to understand all tags available for your acquirers.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2048

sourceOfFunds.provided.card.trackDataProvided  Boolean = CONDITIONAL

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

sourceOfFunds.provided.directDebitCanada   = CONDITIONAL

For Direct Debit payments in Canada you must provide the payer's bank account details in this parameter group.
Fixed value

sourceOfFunds.provided.directDebitCanada.accountType  Enumeration = CONDITIONAL

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

sourceOfFunds.provided.directDebitCanada.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.directDebitCanada.bankAccountNumber  Alphanumeric + additional characters = Always Provided

The bank account number will be returned in a masked format, for example, xxxxxxxxxxxxx123.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-', '/'
JSON type
String
minimum length
7
maximum length
12

sourceOfFunds.provided.directDebitCanada.financialInstitutionNumber  Digits = Always Provided

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

sourceOfFunds.provided.directDebitCanada.transitNumber  Digits = Always Provided

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

sourceOfFunds.provided.ebt   = CONDITIONAL

If the payer chose to pay using a Electronic Benefits Transfer card, you must submit sourceOfFunds.type=EBT_CARD and provide the payer's card details in this parameter group.
Fixed value

sourceOfFunds.provided.ebt.accountType  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CASH_BENEFITS
Benefits provided as cash.
EWIC_BENEFITS
Benefits provided under the Special Supplemental Nutrition Program for Women, Infants, and Children.
SNAP_BENEFITS
Benefits provided under the Supplemental Nutrition Assistance Program.

sourceOfFunds.provided.ebt.manualAuthorizationCode  Digits = CONDITIONAL

For example, your point of sale (POS) machine is not working. When you manually authorize a payment you also need to provided the voucher number used to record the payment in sourceOfFunds.provided.EBT.voucherNumber.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
6

sourceOfFunds.provided.ebt.merchantFns  Digits = CONDITIONAL

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

sourceOfFunds.provided.ebt.voucherNumber  Digits = CONDITIONAL

For example, your point of sale (POS) machine is not working. When you use a voucher you also need to provide an authorization code in sourceOfFunds.provided.benefits.ebt.manualAuthorizationCode.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
15

sourceOfFunds.provided.enets   = CONDITIONAL

Note: if you provide data for an eNETS payment, then you must also provide an email address for the customer in customer.email and a phone number for the customer in either customer.phone or customer.mobilePhone
Fixed value

sourceOfFunds.provided.enets.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.epsUeberweisung   = CONDITIONAL

Additional details related to a eps-Überweisung browser payment.
Fixed value

sourceOfFunds.provided.epsUeberweisung.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.epsUeberweisung.bankAccountHolder  String = CONDITIONAL

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

sourceOfFunds.provided.giftCard   = CONDITIONAL

The payer's gift card details are provided in this parameter group.
Fixed value

sourceOfFunds.provided.giftCard.brand  Enumeration = Always Provided

For many major card types this will match the scheme name.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
LOCAL_BRAND_ONLY
The card does not have a global brand.

sourceOfFunds.provided.giftCard.localBrand  String = Always Provided

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

sourceOfFunds.provided.giftCard.number  Masked digits = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
9
maximum length
19

sourceOfFunds.provided.giftCard.pin  Masked digits = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
4
maximum length
8

sourceOfFunds.provided.giftCard.scheme  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
OTHER
The scheme of the card used in the transaction could not be identified.

sourceOfFunds.provided.giropay   = CONDITIONAL

The additional details required to initiate a giropay browser payment.
Fixed value

sourceOfFunds.provided.giropay.bankIdentifier  Digits = CONDITIONAL

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

sourceOfFunds.provided.giropay.bic  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
11

sourceOfFunds.provided.giropay.iban  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

sourceOfFunds.provided.grabPay   = CONDITIONAL

Additional details related to GrabPay browser payment.
Fixed value

sourceOfFunds.provided.grabPay.accountHolder  String = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
100

sourceOfFunds.provided.ideal   = CONDITIONAL

Information about the payer's iDEAL account provided to you when the payer successfully makes a payment.
Fixed value

sourceOfFunds.provided.ideal.bankAccountHolder  String = CONDITIONAL

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

sourceOfFunds.provided.ideal.bic  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
11

sourceOfFunds.provided.ideal.iban  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

sourceOfFunds.provided.klarnaPayLater   = CONDITIONAL

Additional details related to a Klarna Pay Later payment.
Fixed value

sourceOfFunds.provided.klarnaPayLater.bankAccountCountryCode  Upper case alphabetic text = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.klarnaPayNow   = CONDITIONAL

Additional details related to a Klarna Pay Now payment.
Fixed value

sourceOfFunds.provided.klarnaPayNow.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.multibanco   = CONDITIONAL

Additional details related to a Multibanco browser payment.
Fixed value

sourceOfFunds.provided.multibanco.entityId  Digits = CONDITIONAL

To complete the payment to you, the payer will need to provide the entity identifier and the payment reference number (sourceOfFunds.provided.multibanco.paymentReference) to their bank using either online banking or from an ATM.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
5
maximum length
5

sourceOfFunds.provided.multibanco.paymentReference  Digits = CONDITIONAL

To complete the payment to you, the payer will need to provide the payment reference number and the entity ID (sourceOfFunds.provided.multibanco.entityId) to their bank using either online banking or from an ATM.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
9
maximum length
9

sourceOfFunds.provided.multibanco.terminalId  String = CONDITIONAL

This is only returned for successful payments.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

sourceOfFunds.provided.multibanco.terminalLocation  String = CONDITIONAL

This is only returned for successful payments.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

sourceOfFunds.provided.openBankingBankTransfer   = CONDITIONAL

Additional details related to Open Banking Bank Transfer.
Fixed value

sourceOfFunds.provided.openBankingBankTransfer.aspspId  String = Always Provided

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

sourceOfFunds.provided.oxxo   = CONDITIONAL

When processing an OXXO payment you must also provide the payer's national identifier (customer.nationalId), your reference to the payer (customer.id) and the payer's date of birth (customer.dateOfBirth).
Fixed value

sourceOfFunds.provided.oxxo.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.oxxo.dueDate  Date = CONDITIONAL

Do not provide a due date for USD currency transactions.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

sourceOfFunds.provided.payU   = CONDITIONAL

Additional details related to a PayU browser payment.
Fixed value

sourceOfFunds.provided.payU.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.payU.bankAccountHolder  String = CONDITIONAL

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

sourceOfFunds.provided.payconiq   = CONDITIONAL

Additional details related to a Payconiq payment.
Fixed value

sourceOfFunds.provided.payconiq.countryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.paypal   = CONDITIONAL

It is provided to you when the payer successfully makes a payment using PayPal or when you have established a billing agreement with the payer.
Fixed value

sourceOfFunds.provided.paypal.accountEmail  Email = CONDITIONAL

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

sourceOfFunds.provided.paypal.accountHolder  String = CONDITIONAL

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

sourceOfFunds.provided.paypal.billingAgreement   = CONDITIONAL

Details about the agreement you have established with the payer that allows you to bill the payer's PayPal account for goods or services.
Fixed value

sourceOfFunds.provided.paypal.billingAgreement.cardinality  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MULTIPLE
Indicates that you have multiple billing agreements with this payer. This means that a new agreement ID will be returned in response to each request.
SINGLE
Indicates that you have a single billing agreement with this payer. This means that the same agreement ID will be returned in response to each request.

sourceOfFunds.provided.paypal.billingAgreement.description  String = CONDITIONAL

This description is displayed to the payer when they are asked to approve the billing agreement.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

sourceOfFunds.provided.paypal.billingAgreement.id  String = CONDITIONAL

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

sourceOfFunds.provided.paypal.billingAgreement.name  String = CONDITIONAL

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

sourceOfFunds.provided.paypal.payerId  String = CONDITIONAL

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

sourceOfFunds.provided.paysafecard   = CONDITIONAL

Additional details related to a paysafecard browser payment.
Fixed value

sourceOfFunds.provided.paysafecard.accountEmail  Email = Always Provided

Existence
Always Provided
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

sourceOfFunds.provided.paysafecard.countryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.pbba   = CONDITIONAL

Additional details related to Pay by Bank app payment.
Fixed value

sourceOfFunds.provided.pbba.paymentRequestId  Digits = CONDITIONAL

This identifier should be used when invoking the banking app within the payer’s mobile.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
18
maximum length
18

sourceOfFunds.provided.pbba.paymentRequestInputCode  Upper case alphabetic text = CONDITIONAL

This code may be used by the payer to confirm the payment within their mobile banking app.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
6
maximum length
6

sourceOfFunds.provided.poli   = CONDITIONAL

Additional details related to a POLi browser payment.
Fixed value

sourceOfFunds.provided.poli.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.przelewy24   = CONDITIONAL

Additional details related to a Przelewy24 browser payment.
Fixed value

sourceOfFunds.provided.przelewy24.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.sepa   = CONDITIONAL

Details about the payer's bank account used for a payment made using SEPA
Fixed value

sourceOfFunds.provided.sepa.bankAccountHolder  String = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
100

sourceOfFunds.provided.sepa.bic  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
11

sourceOfFunds.provided.sepa.iban  String = Always Provided

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

sourceOfFunds.provided.sofort   = CONDITIONAL

Additional details related to a Sofort (Klarna) payment.
Fixed value

sourceOfFunds.provided.sofort.bankAccountCountryCode  Upper case alphabetic text = CONDITIONAL

Provide the ISO 3166 alpha-3 country code for this country.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.sofort.bankAccountHolder  String = CONDITIONAL

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

sourceOfFunds.provided.sofort.bankAccountNumber  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30

sourceOfFunds.provided.sofort.bankIdentifier  String = CONDITIONAL

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

sourceOfFunds.provided.sofort.bic  String = CONDITIONAL

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

sourceOfFunds.provided.sofort.iban  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

sourceOfFunds.provided.trustly   = CONDITIONAL

Additional details related to a Trustly.
Fixed value

sourceOfFunds.provided.trustly.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

sourceOfFunds.provided.trustly.bankAccountHolder  String = Always Provided

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

sourceOfFunds.provided.weChatPay   = CONDITIONAL

Additional details related to a WeChat Pay browser payment.
Fixed value

sourceOfFunds.provided.weChatPay.accountHolder  String = Always Provided

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

sourceOfFunds.token  Alphanumeric = CONDITIONAL

The account identifier details stored against this token will be used to process the request.
If account identifier details are also contained in the request, or the request contains a session with account identifier details, these take precedence over the details stored against the token.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
40

sourceOfFunds.tokenRequestorID  Alphanumeric = CONDITIONAL

This field is mandatory for payments where the Chase Pay wallet was used.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
11

sourceOfFunds.type  Enumeration = CONDITIONAL

If you are passing card data (in any form) on the API, then you need to set this value, and also provide the card details in the sourceOfFunds.provided.card group. In the case of digital wallets or device payment methods, you must also populate the order.walletProvider field.

If you are making a payment with a gateway token, then you can leave this field unset, and only populate the sourceOfFunds.token field. However you can set this to CARD if you want to overwrite or augment the token data with a card security code, expiry date, or cardholder name.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACH
The payer chose to pay using an electronic fund transfer, to be processed via the Automated Clearing House (ACH) Network. You must provide the payer's bank account details and information about the type of ACH payment under the sourceOfFunds.provided.ach parameter group.
ALIPAY
The payer selected the payment method Alipay.
BANCONTACT
The payer selected the payment method Bancontact.
BLIK
The payer selected the payment method BLIK.
BOLETO_BANCARIO
The payer selected the payment method Boleto Bancario.
BROWSER_PAYMENT
The payer selected to pay using a browser payment. Refer to the sourceOfFunds.browserPayment parameter group for additional details.
CARD
Use this value for payments that obtained the card details either directly from the card, or from a POS terminal, or from a wallet, or through a device payment method.
DIRECT_DEBIT_CANADA
The payer chose to pay using Direct Debit in Canada, also known as pre-authorized bank debits (PADs). You must provide the payer's bank account details in the sourceOfFunds.provided.directDebitCanada parameter group.
EBT_CARD
Use this value for Electronic Benefits Transfer (EBT) card payments. The additional EBT data must also be provided in the sourceOfFunds.provided.ebt parameter group.
ENETS
The payer selected the payment method eNETS.
EPS_UEBERWEISUNG
The payer selected the payment method eps-Überweisung.
GIFT_CARD
The payer chose to pay using a gift card. The payer's gift card details must be provided under the sourceOfFunds.provided.giftCard parameter group.
GIROPAY
The payer selected the payment method giropay.
GRABPAY
The payer selected the payment method GrabPay.
IDEAL
The payer selected the payment method iDEAL.
KLARNA_FINANCING
The payer selected the payment method Klarna financing.
KLARNA_PAY_LATER
The payer selected the payment method Klarna Pay Later.
KLARNA_PAY_NOW
The payer selected the payment method Klarna Pay Now.
MERCADO_PAGO_CHECKOUT
The payer selected the payment method Mercado Pago Checkout.
MULTIBANCO
The payer selected the payment method Multibanco.
NONE
The transaction transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from your payment service provider.
OPEN_BANKING_BANK_TRANSFER
The payer selected the payment method Open Banking Bank Transfer.
OXXO
The payer selected the payment method OXXO.
PAYCONIQ
The payer selected the payment method payconiq.
PAYPAL
The payer selected the payment method PayPal.
PAYSAFECARD
The payer selected the payment method paysafecard.
PAYU
The payer selected the payment method PayU.
PBBA
The payer selected the payment method Pay by Bank app
POLI
The payer selected the payment method POLi.
PRZELEWY24
The payer selected the payment method Przelewy24.
SCHEME_TOKEN
Use this value for payments using scheme tokens provided by Mastercard Digital Enablement Service (MDES), or Visa Token Service (VTS), or American Express Token Service (AETS).
SEPA
The payer selected the payment method SEPA.
SOFORT
The payer selected the payment method Sofortbanking.
TRUSTLY
The payer selected the payment method Trustly.
UNION_PAY
The payer selected the payment method UnionPay.
WECHAT_PAY
The payer selected the payment method WeChatPay.

statementDescriptor   = CONDITIONAL

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

statementDescriptor.address   = CONDITIONAL

Descriptor address of the merchant.
Fixed value

statementDescriptor.address.city  String = CONDITIONAL

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

statementDescriptor.address.company  String = CONDITIONAL

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

statementDescriptor.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

statementDescriptor.address.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

statementDescriptor.address.stateProvince  String = CONDITIONAL

For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP.

For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

statementDescriptor.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

statementDescriptor.address.street2  String = CONDITIONAL

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

statementDescriptor.name  String = CONDITIONAL

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

statementDescriptor.phone  String = CONDITIONAL

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

status  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATED
The payer was successfully authenticated.
AUTHENTICATION_INITIATED
Payer authentication has been initiated but not completed.
AUTHENTICATION_NOT_NEEDED
Payer authentication was not performed as it was not needed.
AUTHENTICATION_UNSUCCESSFUL
Payer authentication was not able to be successfully completed.
AUTHORIZED
The payment has been authorized successfully but the authorized amount has not yet been captured, in part, full, or excess.
CANCELLED
The initial transaction for this order has been voided successfully.
CAPTURED
The authorized amount for this order, in full or excess, has been captured successfully.
CHARGEBACK_PROCESSED
A Chargeback has been processed against this order.
DISBURSED
The order amount has successfully been disbursed to the payer.
DISPUTED
The payment has been disputed and is under investigation. A request for information has been received or a chargeback is pending.
EXCESSIVELY_REFUNDED
The payment has been captured in part, full, or excess, but the captured amount in excess has been refunded successfully.
FAILED
The payment has not been successful.
FUNDING
The order transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from your payment service provider.
INITIATED
A browser payment that has successfully been initiated for this order. No payment has yet been made.
PARTIALLY_CAPTURED
The authorized amount for this order, in part, has been captured successfully.
PARTIALLY_REFUNDED
The payment has been captured in part, full, or excess, but the captured amount in part has been refunded successfully.
REFUNDED
The payment has been captured in part, full, or excess, but the captured amount in full has been refunded successfully.
REFUND_REQUESTED
A refund against captured amounts on this order has been requested but not executed. Requires further action to approve the refund.
VERIFIED
The card details for this order have successfully been verified. No payment has yet been initiated or made.

subMerchant   = CONDITIONAL

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

subMerchant.address   = CONDITIONAL

The sub-merchant's address.
Fixed value

subMerchant.address.city  String = CONDITIONAL

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

subMerchant.address.company  String = CONDITIONAL

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

subMerchant.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

subMerchant.address.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

subMerchant.address.stateProvince  String = CONDITIONAL

For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP.

For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

subMerchant.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

subMerchant.address.street2  String = CONDITIONAL

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

subMerchant.authentication[n]   = CONDITIONAL

For example, using 3-D Secure authentication.
Fixed value

subMerchant.authentication[n].3DS2   = CONDITIONAL

These details are used to identify the sub-merchant to the card scheme's directory server.
Fixed value

subMerchant.authentication[n].3DS2.requestorId  String = CONDITIONAL

Do not provide this value for Mastercard SecureCode or Verified by Visa. For these authentication schemes, it will be generated by the gateway. For American Express if it is provided it will be used otherwise it will be generated by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
35

subMerchant.authentication[n].3DS2.requestorName  String = CONDITIONAL

Do not provide this value for Mastercard SecureCode or Verified by Visa. For these authentication schemes, it will be generated by the gateway. For American Express if it is provided it will be used otherwise it will be generated by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

subMerchant.authentication[n].protocol  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX_SAFEKEY
American Express SafeKey EMV 3DS authentication
DINERS_PROTECTBUY
Diners ProtectBuy EMV 3DS authentication
FASTR_BY_CB
Carte Bancaire FAST'R by CB using EMV 3DS authentication
JCB_JSECURE
JCB J/Secure using EMV 3DS authentication
VERIFIED_BY_VISA
Visa Verified by Visa EMV 3DS authentication

subMerchant.bankIndustryCode  Digits = CONDITIONAL

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

subMerchant.disputeContactPhone  Telephone Number = CONDITIONAL

In this case, provide a phone number that payers can use to contact the sub-merchant in case of a dispute. Where applicable, the issuer may display this phone number on the cardholder statement. The phone number must be provided in ITU-T E123 format.
Existence
CONDITIONAL
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

subMerchant.email  Email = CONDITIONAL

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

subMerchant.governmentCountryCode  Upper case alphabetic text = CONDITIONAL

A sub merchant is considered a government owned or controlled entity (government controlled merchant) if 50% or more of the sub merchant is owned by the government. Provide the ISO 3166 three-letter country code of the government country where this differs from the sub merchant's physical location country.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

subMerchant.identifier  Alphanumeric + additional characters = Always Provided

You can use this identifier in searches and reports in the gateway.
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
100

subMerchant.marketplaceId  String = CONDITIONAL

A sub merchant is considered a marketplace if they operate a platform (online commerce website or mobile application) where retailers can sell goods and services.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
11

subMerchant.phone  String = CONDITIONAL

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

subMerchant.registeredName  String = CONDITIONAL

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

subMerchant.tradingName  String = Always Provided

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

surchargeAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

surchargeSource  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Indicates how the surcharge amount was determined for an order.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CLIENT
The surcharge amount was provided by the merchant.
GATEWAY
The surcharge amount was calculated by the gateway based on surcharging rules configured by the merchant.

tax[n]   = CONDITIONAL

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

tax[n].amount  Decimal = CONDITIONAL

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

tax[n].rate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
6

tax[n].type  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

taxAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

taxRegistrationId  String = CONDITIONAL

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

taxStatus  String = CONDITIONAL

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

totalAuthorizedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

totalCapturedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

totalDisbursedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

totalRefundedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n]   = CONDITIONAL

A list of the transactions for this order including the details of each transaction.
Fixed value

transaction[n].accountFunding   = CONDITIONAL

Account funding transactions are transactions that pull money from the sender's card account for the purpose of funding another account, the recipient's account. Depending on the type of account funding transaction you may be required to provide some or all the details in this parameter group.
Fixed value

transaction[n].accountFunding.purpose  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CRYPTOCURRENCY_PURCHASE
The funds from this account funding transaction will exclusively be used to purchase cryptocurrency.
MERCHANT_SETTLEMENT
The funds from this account funding transaction will be used to settle the proceeds of processing card transactions.
OTHER
The funds from this account funding transaction will be used for any other purpose, e.g. transferring funds from a person to a person or transferring funds into a staged wallet.This is the default value.
PAYROLL
The funds from this account funding transaction will be used to pay salaries.

transaction[n].accountFunding.recipient   = CONDITIONAL

Details about the recipient who will subsequently receive the funds that you are debiting from the sender in this transaction.
Fixed value

transaction[n].accountFunding.recipient.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].accountFunding.recipient.dateOfBirth  Date = CONDITIONAL

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

transaction[n].accountFunding.recipient.firstName  String = CONDITIONAL

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

transaction[n].accountFunding.recipient.lastName  String = CONDITIONAL

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

transaction[n].accountFunding.recipient.middleName  String = CONDITIONAL

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

transaction[n].accountFunding.recipient.postCodeZip  String = CONDITIONAL

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

transaction[n].accountFunding.recipient.stateProvinceCode  String = CONDITIONAL

The value must match the second part of the ISO 3166-2 code. For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP. For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

transaction[n].accountFunding.reference  String = Always Provided

This reference is generated by the gateway. You may be required to provide this reference when subsequently crediting the funds to the recipient's account.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].accountFunding.senderIsRecipient  Boolean = CONDITIONAL

If not provided the value is defaulted to FALSE.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].accountFunding.senderType  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
COMMERCIAL_ORGANIZATION
The sender is a commercial organization. Examples include account to account transfers initiated by a commercial organization for the purpose of transferring funds to one of their accounts, business to business payments, and disbursements for insurance claims, payroll, investment dividends, merchant rebates.
GOVERNMENT
The sender is a government or government agency. Examples include government agencies paying salaries, pensions, social benefits or tax credits.
NON_PROFIT_ORGANIZATION
The sender is a non-profit organization. Examples include non-profit organizations delivering emergency aid payments.
PERSON
The sender is a person. Examples include account to account transfers initiated by a person to their own account or a different person's account and adding funds to a staged wallet.

transaction[n].action   = CONDITIONAL

Actions that you want the gateway to perform.
Fixed value

transaction[n].action.refundAuthorization  Boolean = CONDITIONAL

Depending on your merchant profile configuration the gateway may or may not already attempt to authorize the Refund with the issuer before submitting it to the acquirer.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].agreement   = CONDITIONAL

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

transaction[n].agreement.amountVariability  Enumeration = CONDITIONAL

The field must be provided for recurring payment agreements.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FIXED
All payments in the recurring payment agreement have the same amount. Examples include magazine subscriptions or gym memberships.
VARIABLE
The amount for the payments within the recurring payment agreement differs between payments. Examples include usage-based charges like utility or phone bills.

transaction[n].agreement.customData  String = CONDITIONAL

This field must not contain sensitive data.
Existence
CONDITIONAL
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[n].agreement.expiryDate  Date = CONDITIONAL

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

transaction[n].agreement.id  String = CONDITIONAL

When you collect cards from your payers and store them for later use, you must provide an agreement ID when you use the stored values for:

  • Recurring payments: you have an agreement with the payer that authorizes you to automatically debit their account at agreed intervals for fixed or variable amounts. For example, gym membership, phone bills, or magazine subscriptions.
  • Installment payments: you have an agreement with the payer that authorizes you to process multiple payments over an agreed period of time for a single purchase. For example, the payer purchases an item for $1000 and pays for it in four monthly installments.
  • Unscheduled: you have an agreement with the payer that authorizes you to process future payments when required. For example, the payer authorizes you to process an account top-up transaction for a transit card when the account balance drops below a certain threshold.
  • Industry Practice: you have an agreement with the payer that authorizes you to initiate additional transactions to fulfil a standard business practice related to an original payment initiated by the payer. For example, a delayed charge for use of the hotel mini bar after the payer has checked out or a no show penalty charge when the payer fails to show for a booking.
When you first establish an agreement with the payer you should also specify the type of agreement in agreement.type.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].agreement.maximumAmountPerPayment  Decimal = CONDITIONAL

The amount must be provided in the currency of the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
99999999999999
minimum value
0
maximum post-decimal digits
3

transaction[n].agreement.minimumAmountPerPayment  Decimal = CONDITIONAL

The amount must be provided in the currency of the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
99999999999999
minimum value
0
maximum post-decimal digits
3

transaction[n].agreement.minimumDaysBetweenPayments  Integer = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
9999

transaction[n].agreement.numberOfPayments  Integer = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
1
maximum value
999

transaction[n].agreement.paymentFrequency  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AD_HOC
The agreement if for payments on an ah-hoc basis.
DAILY
The agreement if for a daily payment.
FORTNIGHTLY
The agreement if for a fortnightly payment.
MONTHLY
The agreement if for a monthly payment.
OTHER
The agreement is for payments according to a schedule other than the ones listed in the other enumeration values for this field.
QUARTERLY
The agreement if for a quarterly payment.
TWICE_YEARLY
The agreement if for a payment twice a year.
WEEKLY
The agreement if for a weekly payment.
YEARLY
The agreement if for a yearly payment.

transaction[n].agreement.retailer   = CONDITIONAL

For an installment agreement where the payer purchased goods and/or services from a retailer but entered an installment agreement to pay for this purchase with you, you must provide details about the retailer.
Fixed value

transaction[n].agreement.retailer.abbreviatedTradingName  String = CONDITIONAL

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

transaction[n].agreement.retailer.merchantCategoryCode  String = CONDITIONAL

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

transaction[n].agreement.retailer.tradingName  String = CONDITIONAL

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

transaction[n].agreement.startDate  Date = CONDITIONAL

Cannot be in the past.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].agreement.type  Enumeration = CONDITIONAL

Specify the agreement type when you have provided a value for agreement.id and this payment is the first in a series of payments. The default value is OTHER.

The gateway will use the value you specify for subsequent payments in the series.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INSTALLMENT
An agreement where the payer authorizes the payment for a single purchase to be split into a number of payments processed at agreed intervals. For example, pay for a purchase in six monthly installments.
OTHER
An agreement where you want to link related payments for any purpose other than processing recurring, installment, or unscheduled payments. For example, split tender payments.
RECURRING
An agreement where the payer authorizes you to process repeat payments for bills or invoices at agreed intervals (for example, weekly, monthly). The amount might be fixed or variable.
UNSCHEDULED
An agreement where the payer authorizes you to automatically deduct funds for a payment for an agreed purchase when required (unscheduled). For example, auto top-ups when the account value falls below a threshold.

transaction[n].airline   = CONDITIONAL

Airline industry specific data
Fixed value

transaction[n].airline.bookingReference  Alphanumeric = CONDITIONAL

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

transaction[n].airline.documentType  Enumeration = CONDITIONAL

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

transaction[n].airline.itinerary   = CONDITIONAL

Itinerary details
Fixed value

transaction[n].airline.itinerary.leg[n]   = CONDITIONAL

Travel leg details.
Fixed value

transaction[n].airline.itinerary.leg[n].carrierCode  Regex = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].conjunctionTicketNumber  Alphanumeric = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].couponNumber  Alphanumeric = CONDITIONAL

Each trip leg requires a separate coupon. The coupon within the series is identified by the coupon number.
Existence
CONDITIONAL
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

transaction[n].airline.itinerary.leg[n].departureAirport  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].airline.itinerary.leg[n].departureDate  Date = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].departureTax  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.itinerary.leg[n].departureTime  Time = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].destinationAirport  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].airline.itinerary.leg[n].destinationArrivalDate  Date = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].destinationArrivalTime  Time = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].endorsementsRestrictions  Alphanumeric = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].exchangeTicketNumber  Alphanumeric = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].fare  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.itinerary.leg[n].fareBasis  Alphanumeric = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].fees  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.itinerary.leg[n].flightNumber  Alphanumeric = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].stopoverPermitted  Boolean = CONDITIONAL

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

transaction[n].airline.itinerary.leg[n].taxes  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.itinerary.leg[n].travelClass  Alphanumeric = CONDITIONAL

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

transaction[n].airline.itinerary.numberInParty  Digits = CONDITIONAL

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

transaction[n].airline.itinerary.originCountry  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].airline.passenger[n]   = CONDITIONAL

Passenger details
Fixed value

transaction[n].airline.passenger[n].firstName  String = CONDITIONAL

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

transaction[n].airline.passenger[n].frequentFlyerNumber  String = CONDITIONAL

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

transaction[n].airline.passenger[n].lastName  String = CONDITIONAL

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

transaction[n].airline.passenger[n].middleName  String = CONDITIONAL

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

transaction[n].airline.passenger[n].specificInformation  Alphanumeric = CONDITIONAL

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

transaction[n].airline.passenger[n].title  String = CONDITIONAL

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

transaction[n].airline.planNumber  Alphanumeric = CONDITIONAL

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

transaction[n].airline.ticket   = CONDITIONAL

Ticket details
Fixed value

transaction[n].airline.ticket.conjunctionTicketIndicator  Boolean = CONDITIONAL

Conjunction ticket refers to two or more tickets concurrently issued to a passenger and which together constitute a single contract of carriage.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].airline.ticket.eTicket  Boolean = CONDITIONAL

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

transaction[n].airline.ticket.exchangedTicketNumber  Alphanumeric = CONDITIONAL

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

transaction[n].airline.ticket.issue   = CONDITIONAL

Ticket issue information.
Fixed value

transaction[n].airline.ticket.issue.address  String = CONDITIONAL

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

transaction[n].airline.ticket.issue.carrierCode  Regex = CONDITIONAL

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

transaction[n].airline.ticket.issue.carrierName  Alphanumeric = CONDITIONAL

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

transaction[n].airline.ticket.issue.city  String = CONDITIONAL

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

transaction[n].airline.ticket.issue.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].airline.ticket.issue.date  Date = CONDITIONAL

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

transaction[n].airline.ticket.issue.travelAgentCode  Alphanumeric = CONDITIONAL

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

transaction[n].airline.ticket.issue.travelAgentName  Alphanumeric = CONDITIONAL

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

transaction[n].airline.ticket.restricted  Boolean = CONDITIONAL

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

transaction[n].airline.ticket.taxOrFee[n]   = CONDITIONAL

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

transaction[n].airline.ticket.taxOrFee[n].amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.ticket.taxOrFee[n].type  Alphanumeric = CONDITIONAL

For example, the IATA tax/ charge/ fee type for Passenger Movement Charge (PMC) in Australia is TT1.
Existence
CONDITIONAL
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

transaction[n].airline.ticket.ticketNumber  Alphanumeric = CONDITIONAL

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

transaction[n].airline.ticket.totalFare  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.ticket.totalFees  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.ticket.totalTaxes  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].airline.transactionType  Enumeration = CONDITIONAL

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

transaction[n].appPayment   = CONDITIONAL

If you are offering your payment page on a website or are redirecting the payer's browser to the provider's website, use the browserPayment parameter group.
Fixed value

transaction[n].appPayment.redirectUrl  Url = CONDITIONAL

If you want to redirect the payer to the payment provider's website use browserPayment.redirectUrl. If you want to present the payment provider's checkout flow in a modal window on top of your payment page, use the functions provided in the JavaScript library instead.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396.
JSON type
String
minimum length
3
maximum length
2048

transaction[n].appPayment.returnUrl  Url = CONDITIONAL

The same return URL will be used by the gateway to redirect the payer irrespective of the success or otherwise of the payment interaction. This field is not required if the payer is to be redirected to your website or if the payment provider's checkout flow is presented on a modal window on top of your payment page.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must be an absolute URI conforming to the URI syntax published by IETF RFC 2396.
JSON type
String
minimum length
3
maximum length
2048

transaction[n].authentication   = CONDITIONAL

For example, using 3-D Secure authentication.
This parameter group include payer authentication options available to you, parameters you need to perform payer authentication for an available method, and the results of payer authentication.
Fixed value

transaction[n].authentication.3ds   = CONDITIONAL

Parameters in this group apply to both 3-D Secure authentication version 1 and 3-D Secure Authentication version 2.

Depending on the 3-D Secure authentication version applicable you will also need additional parameters:
  • 3-D Secure authentication version 1: see the authentication.3ds1 parameter group.
  • 3-D Secure authentication version 2: see the authentication.3ds2 parameter group.
Fixed value

transaction[n].authentication.3ds.acsEci  Alphanumeric = CONDITIONAL

This is the Electronic Commerce Indicator (ECI) value provided by the issuer's Access Control Server (ACS) to indicate the results of the attempt to authenticate the payer.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
2

transaction[n].authentication.3ds.authenticationToken  Base64 = CONDITIONAL

The authentication token Included in subsequent transaction request messages and used by the card scheme to verify that the authentication occurred and the values provided are valid. The token should be used unaltered. For 3DS version 1, this field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.

For 3DS version 2, this field corresponds to the Authentication Value.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is Base64 encoded
JSON type
String
allowable lengths
28 or 32

transaction[n].authentication.3ds.transactionId  String = CONDITIONAL

For 3DS version 1, this field corresponds to the XID. The XID is an identifier generated by the gateway on behalf of the merchant.

For 3DS version 2, this field corresponds to the identifier assigned by the scheme directory server.


This identifier should be used in subsequent operation requests unaltered.

An XID submitted in this field must be in base64 format.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].authentication.3ds1   = CONDITIONAL

Information about payer authentication using 3-D Secure authentication version 1.
Fixed value

transaction[n].authentication.3ds1.paResStatus  Alpha = CONDITIONAL

This is the value returned in the transaction status field of the Payer Authentication Response (PARes) message from the card Issuer's Access Control Server (ACS). For example, Y, N, A, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1

transaction[n].authentication.3ds1.veResEnrolled  Alpha = Always Provided

This is for experts only - most users should use the response.gatewayRecommendation field.

This is the value returned in the 'enrolled' field of the Verify Enrollment Response (VERes) message from the card scheme's Directory Server. For example, Y, N, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1

transaction[n].authentication.3ds2   = CONDITIONAL

Information about payer authentication using 3-D Secure authentication version 2.
Fixed value

transaction[n].authentication.3ds2.3dsServerTransactionId  String = CONDITIONAL

The field contains the unique identifier assigned by the 3DS Server for this authentication. This is referred to in the EMVCo specification for 3-D Secure as threeDSServerTransID.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].authentication.3ds2.acsTransactionId  String = CONDITIONAL

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

transaction[n].authentication.3ds2.authenticationScheme  String = CONDITIONAL

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

transaction[n].authentication.3ds2.custom  JSON Text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is valid Json Format
JSON type
String
minimum length
1
maximum length
4000

transaction[n].authentication.3ds2.directoryServerId  String = CONDITIONAL

This value is applicable when you authenticate the payer in-app using 3-D Secure authentication version 2.

In this case, provide this value in the directoryServerId field on the createTransaction method request message sent from the app on the payer's device to the 3-D Secure Software Development Kit (SDK).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
10
maximum length
10

transaction[n].authentication.3ds2.dsReference  String = CONDITIONAL

This field corresponds to EMVCo field dsReferenceNumber.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
32

transaction[n].authentication.3ds2.dsTransactionId  String = CONDITIONAL

The DS transaction id should be used in subsequent operation requests unaltered.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].authentication.3ds2.methodCompleted  Boolean = Always Provided

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

transaction[n].authentication.3ds2.methodSupported  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Indicates if the issuer's Access Control Server (ACS) support the method call.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_SUPPORTED
The ACS does not support the method call protocol.
SUPPORTED
The ACS supports the method call protocol.

transaction[n].authentication.3ds2.protocolVersion  Alphanumeric + additional characters = CONDITIONAL

For example, 2.1.0.
Existence
CONDITIONAL
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

transaction[n].authentication.3ds2.requestorId  String = Always Provided

Do not provide this value for Mastercard SecureCode, JCB JSecure, Discover ProtectBuy or Verified by Visa, For these authentication schemes, it will be generated by the gateway.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
35

transaction[n].authentication.3ds2.requestorName  String = Always Provided

Do not provide this value for Mastercard SecureCode, JCB JSecure, Discover ProtectBuy or Verified by Visa, For these authentication schemes, it will be generated by the gateway.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].authentication.3ds2.sdk   = CONDITIONAL

You must populate the fields in this parameter group when you authenticate the payer in-app using 3-D Secure authentication version 2.
Fixed value

transaction[n].authentication.3ds2.sdk.challengeCompletionCallbackUrl  Url = CONDITIONAL

You must call this URL after the challenge has been completed; for example, when the ACS has confirmed the challenge completion.
This allows the gateway to retrieve the authentication result after the challenge has been completed.
Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

transaction[n].authentication.3ds2.sdk.interface  Enumeration = CONDITIONAL

These are the formats that can be used to render the screens presented to the payer during an authentication challenge.

You only need to provide this value if you only support one of these formats.

This field corresponds to EMVCo data element sdkInterface in the field deviceRenderOptions.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HTML
The device supports HTML format.
NATIVE
The device supports the UI format native to the payer's device.

transaction[n].authentication.3ds2.sdk.timeout  Integer = CONDITIONAL

Will default to 900 if not provided. Note: The value will be rounded up to the nearest minute.

This field corresponds to EMVCo field sdkMaxTimeout
Existence
CONDITIONAL
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
300
maximum value
900

transaction[n].authentication.3ds2.sdk.uiType  Comma separated enumeration = CONDITIONAL

A comma separated list of the payer authentication methods that you will accept for this payment.

You only need to provide this value if all of these values are not supported.

Note: OTHER_HTML is only supported when authentication.3ds2.sdk.interface allows a HTML UI format.

This field corresponds to EMVCo data element sdkUiType in the field deviceRenderOptions.
Existence
CONDITIONAL
Fixed value
Validation Rules
Indicates the UI types which the SDK supports for displaying authentication challenges within the app.
JSON type
String
Value must be one or more comma separated members of the following list. The values are case sensitive.
TEXT
The payer is asked to enter text into a field displayed on the UI. For example, ask the payer to enter a One Time Password sent to their registered mobile phone number.
SINGLE_SELECT
The payer is asked to select a single option from a number of presented options. For example, ask the payer if they want a One Time Password to be sent to either their email address or mobile phone number registered with their issuer.
MULTI_SELECT
The payer is asked to select multiple options from a number of presented options. For example, ask the payer to select valid responses to a question.
OUT_OF_BAND
The payer is presented with screens rendered by an out-of-band service during an authentication challenge, For example, the payer is asked to confirm the payment from their banking app.
OTHER_HTML
The payer is presented with an authentication challenge using other mechanisms supported in HTML but not in the native UI format. For example, the payer is asked to confirm an image presented on the screen.

transaction[n].authentication.3ds2.statusReasonCode  String = CONDITIONAL

Refer to the EMVCo specification for 3-D Secure.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
2
maximum length
2

transaction[n].authentication.3ds2.transactionStatus  Alpha = CONDITIONAL

This is the value returned in the transaction status field from the issuer's Access Control Server (ACS). For example, Y, N, U, A, R

Refer to the EMVCo specification for 3-D Secure.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
1
maximum length
1

transaction[n].authentication.3ds2.acsReference  String = CONDITIONAL

This field corresponds to EMVCo field acsReferenceNumber.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
32

transaction[n].authentication.acceptVersions  Comma Separated Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be one or more comma separated members of the following list. The values are case sensitive.
3DS1
3-D Secure Version 1
3DS2
3-D Secure Version 2

transaction[n].authentication.amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].authentication.method  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DYNAMIC
The payer is authenticated using dynamic data. For example, a code sent to the payer's phone.
OUT_OF_BAND
The payer is authenticated by the issuer using another method. For example, by using a bank app on the payer's mobile device.
STATIC
The payer is authenticated using static data. For example, by providing responses to security questions for the payer's account.

transaction[n].authentication.payerInteraction  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Indicates if payer interaction was used to complete the authentication process.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_POSSIBLE
Payer interaction was either not possible or not applicable to completing the authentication process. For example, there was a technical problem, or the authentication method is not supported for this payment method.
NOT_REQUIRED
No payer interaction was required to complete the authentication process. The issuer was able to make a decision based on the data provided.
REQUIRED
Payer interaction was required to complete the authentication process. For example, the payer was presented with a challenge to verify their identity.

transaction[n].authentication.psd2   = CONDITIONAL

It provides details about SCA exemptions under PSD2.
Fixed value

transaction[n].authentication.psd2.exemption  Enumeration = CONDITIONAL

Note:
  • For recurring payments, provide the MERCHANT_INITIATED_TRANSACTION value only if the amount is the same. If the amount is variable, provide RECURRING_PAYMENT instead.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTO
If either a LOW_RISK or LOW_VALUE_PAYMENT or TRUSTED_MERCHANT exemption applies to the transaction, it is automatically claimed by the gateway on behalf of the merchant.
LOW_RISK
Exemption is claimed because the acquirer has a low fraud rate.
LOW_VALUE_PAYMENT
Exemption is claimed as the amount is below 30 Euro.
MERCHANT_INITIATED_TRANSACTION
The transaction is excluded as it was initiated by the merchant based on an agreement with the payer. For example, a recurring payment (for a fixed amount), installment payment, or account top-up. In these cases, the payer is not present and cannot participate in an authentication interaction. Merchant initiated transactions are only applicable to subsequent transactions on the order and are out of scope of the PSD2 RTS on Strong Customer Authentication (SCA). The payer must be authenticated during the first transaction that established the agreement.
NONE
An exemption is not claimed for this transaction. The merchant requires Strong Customer Authentication (SCA) be performed.
RECURRING_PAYMENT
The transaction is exempt as it was initiated by the merchant based on an agreement with the payer for a recurring payment for a variable amount. This value is only applicable to subsequent transactions on the order. In this case, the payer is not present and cannot participate in an authentication interaction. The payer must be authenticated during the first transaction that established the agreement.
SECURE_CORPORATE_PAYMENT
The transaction is exempt as it is a corporate or Business-to-Business (B2B) payment performed using dedicated payment processes and protocols that are not available to consumers and offer at least equivalent security levels.
TRUSTED_MERCHANT
The transaction is exempt because the payer has added you to the list of their trusted merchants (as maintained by the issuer).

transaction[n].authentication.psd2.trustedMerchantStatus  Enumeration = CONDITIONAL

The next time you authenticate the payer for a payment with this card you can request the trusted merchant exemption by setting authentication.psd2.exemption to either AUTO or TRUSTED_MERCHANT.
If the issuer grants the exemption the payer will not be presented with a challenge, for example, they may have to enter a one-time password.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_ON_LIST
The payer has not added you to their list of trusted merchants for this card.
ON_LIST
The payer has added you to their list of trusted merchants for this card.

transaction[n].authentication.redirect.domainName  String = CONDITIONAL

For example, the domain-name of the issuer's Access Control Server (ACS) used for payer authentication using 3-D Secure authentication.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
253

transaction[n].authentication.time  DateTime = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].authentication.transactionId  String = CONDITIONAL

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

transaction[n].authentication.version  Enumeration = CONDITIONAL

If no such authentication is available, the value is NONE.
Existence
CONDITIONAL
Fixed value
Validation Rules
If online authentication of the payer is available, then this field shows the type. If no such authentication is available, the value is NONE.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
3DS1
3-D Secure Version 1 authentication is available.
3DS2
3-D Secure Version 2 authentication is available.
RUPAY
RuPay authentication is available.
NONE
No authentication is available.

transaction[n].authorizationResponse   = CONDITIONAL

You can use this data if you want to understand the authorization in more detail, or with less interpretation by the gateway.

This data must be provided to the acquirer in the Capture request for this Authorization.
  • For a subsequent Capture the gateway takes care of this for you.
  • For a Standalone Capture request you need to provide this data.
  • When performing the Capture outside the the gateway you must ensure that the data is provided in the Capture request to the acquirer.
Fixed value

transaction[n].authorizationResponse.authenticationTokenVerificationResultCode  Alphanumeric = CONDITIONAL

For Discover ProtectBuy transactions this is known as CAVV (Cardholder Authentication Verification Value) result code.
Existence
CONDITIONAL
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

transaction[n].authorizationResponse.autoExpiry  DateTime = CONDITIONAL

After this time, the gateway will reject your attempts to capture funds against this order. It will also void any authorized amount that has not been captured, to release the payer's funds.

This capability is to assist you in scheme compliance, and must be enabled by your payment provider. The gateway only populates this field if it is expiring the authorization.
Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].authorizationResponse.avsCode  ASCII Text = CONDITIONAL

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

transaction[n].authorizationResponse.cardLevelIndicator  String = CONDITIONAL

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

transaction[n].authorizationResponse.cardSecurityCodeError  String = CONDITIONAL

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

transaction[n].authorizationResponse.cardSecurityCodePresenceIndicator  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
2

transaction[n].authorizationResponse.commercialCard  String = CONDITIONAL

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

transaction[n].authorizationResponse.commercialCardIndicator  String = CONDITIONAL

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

transaction[n].authorizationResponse.date  String = CONDITIONAL

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

transaction[n].authorizationResponse.financialNetworkCode  String = CONDITIONAL

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

transaction[n].authorizationResponse.financialNetworkDate  Date = CONDITIONAL

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

transaction[n].authorizationResponse.marketSpecificData  String = CONDITIONAL

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

transaction[n].authorizationResponse.merchantAdviceCode  String = CONDITIONAL

Merchants can use this information to determine the best action to take. Please refer to Troubleshooting & FAQs - What if my transaction gets declined? for the list of values and their meaning.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2

transaction[n].authorizationResponse.paySvcData  String = CONDITIONAL

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

transaction[n].authorizationResponse.posData  String = CONDITIONAL

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

transaction[n].authorizationResponse.posEntryMode  String = CONDITIONAL

Bytes 1-2: Discover (JCB (US Domestic only), and Diners) POS Entry Mode
Byte 3: Discover (JCB (US Domestic only), and Diners) Pin Entry Capability
Byte 4: RFU (Always zero)

Note: Only the first 3 bytes are required for settlement processing.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4

transaction[n].authorizationResponse.posEntryModeChanged  String = CONDITIONAL

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

transaction[n].authorizationResponse.processingCode  String = CONDITIONAL

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

transaction[n].authorizationResponse.responseCode  String = CONDITIONAL

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

transaction[n].authorizationResponse.responseMessage  String = CONDITIONAL

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

transaction[n].authorizationResponse.returnAci  String = CONDITIONAL

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

transaction[n].authorizationResponse.stan  String = CONDITIONAL

The trace number remains unchanged for the life of the Card Transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
6

transaction[n].authorizationResponse.time  String = CONDITIONAL

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

transaction[n].authorizationResponse.timezone  Time Offset = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 UTC time offset format, +hhmm or -hhmm.
JSON type
String

transaction[n].authorizationResponse.trackQuality  String = CONDITIONAL

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

transaction[n].authorizationResponse.transactionIdentifier  String = CONDITIONAL

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

transaction[n].authorizationResponse.transactionIntegrityClass  Alphanumeric = CONDITIONAL

The indicator is only supported by some schemes and for all regions.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
2

transaction[n].authorizationResponse.validationCode  String = CONDITIONAL

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

transaction[n].authorizationResponse.vpasResponse  String = CONDITIONAL

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

transaction[n].availableBalance   = CONDITIONAL

Fixed value

transaction[n].availableBalance.ebt[n]   = CONDITIONAL

The amount and currency of available balance on the EBT card.
Fixed value

transaction[n].availableBalance.ebt[n].amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].availableBalance.ebt[n].currency  Upper case alphabetic text = CONDITIONAL

Expressed as an ISO 4217 alpha code, e.g. USD.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].availableBalance.ebt[n].type  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CASH_BENEFITS_AVAILABLE_BALANCE
The current available balance of the cash benefits account associated with the EBT card. Typically, this amount is the balance less any outstanding authorizations.
CASH_BENEFITS_BEGINNING_BALANCE
The initial balance of the cash benefits account associated with the EBT card.
CASH_BENEFITS_ENDING_BALANCE
The ending balance of the cash benefits account associated with the EBT card.
EWIC_DISCOUNT
The monetary value of discounts received from use of coupons/discounts against WIC approved foods when making an eWIC transaction.
SNAP_AVAILABLE_BALANCE
The current available balance of the Supplemental Nutrition Assistance Program (SNAP) account associated with the EBT card. Typically, this amount is the balance less any outstanding authorizations.
SNAP_BEGINNING_BALANCE
The initial balance of the Supplemental Nutrition Assistance Program (SNAP) account associated with the EBT card.
SNAP_ENDING_BALANCE
The ledger balance of the Supplemental Nutrition Assistance Program (SNAP) account associated with the EBT card.

transaction[n].availableBalance.funds   = CONDITIONAL

The amount and currency of available balance on the card.
Fixed value

transaction[n].availableBalance.funds.amount  Decimal = CONDITIONAL

If provided, this is the amount available to the payer to spend after this payment.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].availableBalance.funds.currency  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].billing   = CONDITIONAL

Information on the billing address including the contact details of the payer.
Fixed value

transaction[n].billing.address   = CONDITIONAL

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

transaction[n].billing.address.city  String = CONDITIONAL

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

transaction[n].billing.address.company  String = CONDITIONAL

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

transaction[n].billing.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].billing.address.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

transaction[n].billing.address.stateProvince  String = CONDITIONAL

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

transaction[n].billing.address.stateProvinceCode  String = CONDITIONAL

Providing this field might improve your payer experience for 3-D Secure payer authentication.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

transaction[n].billing.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].billing.address.street2  String = CONDITIONAL

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

transaction[n].browserPayment   = CONDITIONAL

If you are offering your payment page in an app or are redirecting the payer to the provider's app, use the appPayment parameter group.
Fixed value

transaction[n].browserPayment.interaction   = CONDITIONAL

Provides details about the interaction of your system and the providers system when initiating the browser payment, redirecting the customer's browser to the provider's system, back to the merchant's website and completing the browser payment.
Fixed value

transaction[n].browserPayment.interaction.status  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Defines the interaction state of the transaction.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
COMPLETED
This browser payment has been completed, i.e. the gateway has been informed about the payment result.
INITIATED
This browser payment has successfully been initiated.
REDIRECTED_TO_PROVIDER
The payer's browser has been redirected to the payment provider's website.
RETURNED_TO_MERCHANT
The payer's browser has been redirected back from the payment provider's website to the merchant's website.

transaction[n].browserPayment.interaction.timeCompleted  ASCII Text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
29

transaction[n].browserPayment.interaction.timeInitiated  ASCII Text = CONDITIONAL

Provided only, if initiating the browser payment was successful (response.gatewayCode=SUBMITTED).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
29

transaction[n].browserPayment.interaction.timeRedirected  ASCII Text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
29

transaction[n].browserPayment.interaction.timeReturned  ASCII Text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
29

transaction[n].browserPayment.openBankingBankTransfer   = CONDITIONAL

Additional information you can provide to control the user interaction flow presented to the payer by Open Banking.
Fixed value

transaction[n].browserPayment.openBankingBankTransfer.refundConsent  Boolean = Always Provided

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

transaction[n].browserPayment.operation  Enumeration = CONDITIONAL

You can choose between an Authorization and a Payment transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHORIZE
The transaction created in the gateway is an AUTHORIZATION transaction.
PAY
The transaction created in the gateway is a PAYMENT transaction.

transaction[n].browserPayment.paypal   = CONDITIONAL

Additional information you can provide to control the user interaction flow presented to the payer by PayPal.
Fixed value

transaction[n].browserPayment.paypal.accountId  String = CONDITIONAL

This identifies you as the merchant in messages that the gateway submits to PayPal.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].browserPayment.paypal.displayShippingAddress  Boolean = CONDITIONAL

By default, the shipping address is displayed to the payer. For more detailed information about displaying the shipping address on the PayPal website, see PayPal Integration: Display/Override Shipping Address.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].browserPayment.paypal.interactionId  String = CONDITIONAL

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

transaction[n].browserPayment.paypal.overrideShippingAddress  Boolean = CONDITIONAL

By default, the payer is allowed to change the shipping address. For more detailed information about the payer overriding the shipping address on the PayPal website, see PayPal Integration: Display/Override Shipping Address.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].browserPayment.paypal.paymentConfirmation  Enumeration = CONDITIONAL

By default this is set to CONFIRM_AT_PROVIDER.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CONFIRM_AT_MERCHANT
The payer commits to the payment on your website.
CONFIRM_AT_PROVIDER
The payer commits to the payment on the PayPal website.

transaction[n].browserPayment.preferredLanguage  String = CONDITIONAL

Provide the IETF language tag for the language in accordance with RFC 5646. You can provide either the two-letter primary language tag (for example, en, fr) or the two-letter primary language tag plus the region sub-tag (for example, en-US, fr-CA).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must be a language identifier or IETF language tag
JSON type
String
minimum length
2
maximum length
35

transaction[n].browserPayment.redirectUrl  Url = CONDITIONAL

If you are redirecting the payer to the payment provider's app use appPayment.redirectUrl. If you want to present the payment provider's checkout flow in a modal window on top of your payment page, use the functions provided in the JavaScript library instead.
Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

transaction[n].browserPayment.returnUrl  Url = CONDITIONAL

The same return URL will be used by the gateway to redirect the payer's browser irrespective of the success or otherwise of the payment interaction. This field is not required if the payer is to be redirected to your app or if the browser payment provider's checkout flow is presented on a modal window on top of your payment page.
Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

transaction[n].constraints   = CONDITIONAL

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

transaction[n].constraints.paymentPlans   = CONDITIONAL

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

transaction[n].constraints.paymentPlans.deferralPeriod  Integer = CONDITIONAL

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

transaction[n].constraints.paymentPlans.numberOfPayments  Integer = CONDITIONAL

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

transaction[n].constraints.paymentPlans.supported[n]  String = CONDITIONAL

If you wish to offer any payment plans to the payer, provide the plan identifiers in this field else pass it as empty.

See Payment Plans for the supported payment plans and their identifiers.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].cruise   = CONDITIONAL

Cruise industry data.
Fixed value

transaction[n].cruise.bookingReference  String = CONDITIONAL

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

transaction[n].cruise.company   = CONDITIONAL

Information about the cruise line.
Fixed value

transaction[n].cruise.company.contact   = CONDITIONAL

Contact details of the cruise line.
Fixed value

transaction[n].cruise.company.contact.companyPhone  Telephone Number = CONDITIONAL

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

transaction[n].cruise.company.contact.customerServicePhone  Telephone Number = CONDITIONAL

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

transaction[n].cruise.departureDate  Date = CONDITIONAL

The value entered must be equal to or earlier than cruise.returnDate.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].cruise.departurePort   = CONDITIONAL

A departurePort is the port where the passenger(s) boarded the cruise ship when the cruise trip started
Fixed value

transaction[n].cruise.departurePort.address   = CONDITIONAL

Address of the cruise line.
Fixed value

transaction[n].cruise.departurePort.address.city  String = CONDITIONAL

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

transaction[n].cruise.departurePort.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].cruise.departurePort.address.postCodeZip  Alphanumeric + additional characters = CONDITIONAL

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

transaction[n].cruise.departurePort.address.stateProvinceCode  String = CONDITIONAL

The value must match the second part of the ISO 3166-2 code. For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP. For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

transaction[n].cruise.departurePort.address.street  String = CONDITIONAL

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

transaction[n].cruise.departurePort.address.street2  String = CONDITIONAL

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

transaction[n].cruise.passenger[n]   = CONDITIONAL

Cruise passenger details.
Fixed value

transaction[n].cruise.passenger[n].firstName  String = CONDITIONAL

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

transaction[n].cruise.passenger[n].folioNumber  String = CONDITIONAL

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

transaction[n].cruise.passenger[n].lastName  String = CONDITIONAL

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

transaction[n].cruise.passenger[n].middleName  String = CONDITIONAL

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

transaction[n].cruise.passenger[n].title  String = CONDITIONAL

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

transaction[n].cruise.returnDate  Date = CONDITIONAL

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

transaction[n].cruise.shipName  String = CONDITIONAL

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

transaction[n].cruise.travelAgentCode  Alphanumeric = CONDITIONAL

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

transaction[n].cruise.travelAgentName  String = CONDITIONAL

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

transaction[n].cruise.travelPackageItems  Comma separated enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be one or more comma separated members of the following list. The values are case sensitive.
CAR_RENTAL
Car rental is included in the travel package.
CRUISE_ONLY
No additional items are included in the cruise travel package.
FLIGHT
Flights are included in the travel package.

transaction[n].currencyConversion   = CONDITIONAL

If you requested a rate quote via the gateway, provide the requestId as returned in the PAYMENT_OPTIONS_INQUIRY response. For rate quote requests performed outside the gateway, you must at least provide payer amount, payer currency, provider and payer exchange rate.

You can only provide DCC information on the initial transaction for an order.

If the initial transaction for an order is a payer authentication transaction with DCC information and the subsequent authorization or pay transaction contains different DCC information, that authorization or pay transaction will be rejected.

If DCC information is provided on subsequent capture or refund for an order, it will be ignored.
Fixed value

transaction[n].currencyConversion.exchangeRateTime  DateTime = CONDITIONAL

The timestamp may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].currencyConversion.marginPercentage  Decimal = CONDITIONAL

The margin percentage may need to be displayed to the payer on the merchant site to satisfy regulatory requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
10000000
minimum value
0
maximum post-decimal digits
5

transaction[n].currencyConversion.payerAmount  Decimal = CONDITIONAL

You must include this field if the payer accepted the DCC offer you presented to them.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].currencyConversion.payerCurrency  Upper case alphabetic text = CONDITIONAL

The currency must be expressed as an ISO 4217 alpha code, e.g. USD and must be different to that provided for transaction currency. You must include this field if the payer accepted the DCC offer you presented to them.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].currencyConversion.payerExchangeRate  Decimal = CONDITIONAL

The payer exchange rate includes the foreign exchange markup (marginPercentage). The payer exchange rate is displayed to the payer on the merchant site.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
12

transaction[n].currencyConversion.payerReceiptText  String = CONDITIONAL

It contains information necessary to comply with scheme requirements.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4096

transaction[n].currencyConversion.provider  Enumeration = CONDITIONAL

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

transaction[n].currencyConversion.providerReceipt  String = CONDITIONAL

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

transaction[n].currencyConversion.uptake  Enumeration = Always Provided

If not provided, this value defaults to NOT_REQUIRED.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
The payer accepted the DCC offer and pays in their own currency. The conditions of the rate quote are applied in the processing of this transaction.
DECLINED
The payer declined the DCC offer and pays in your transaction currency.
NOT_AVAILABLE
A rate quote was requested, but no DCC offer was provided. For rate quotes via the gateway the PAYMENT_OPTION_INQUIRY response contains a currencyConversion.gatewayCode other than QUOTE_PROVIDED.
NOT_REQUIRED
DCC is not required for this transaction.

transaction[n].customer   = CONDITIONAL

Information about the customer, including their contact details.
Fixed value

transaction[n].customer.email  Email = CONDITIONAL

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

transaction[n].customer.firstName  String = CONDITIONAL

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

transaction[n].customer.lastName  String = CONDITIONAL

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

transaction[n].customer.mobilePhone  String = CONDITIONAL

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

transaction[n].customer.phone  String = CONDITIONAL

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

transaction[n].customer.taxRegistrationId  String = CONDITIONAL

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

transaction[n].customer.nationalId  String = CONDITIONAL

For example, in Mexico this could be the CURP (Clave Única de Registro de Población), RFC (Registro Federal del Contribuyente), or INE (Instituto Nacional Electoral) number. In Brazil this could be the CPF (Cadastro de Pessoas Físicas) or CNPJ (Cadastro Nacional de Pessoas Jurídicas).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30

transaction[n].debtRepayment   = CONDITIONAL

If your Merchant Category Code is 6012 (Merchandise and Services—Customer Financial Institutions) or 6051 ( (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency)) you may be required to provide some or all the details in this parameter group.
Fixed value

transaction[n].debtRepayment.recipient   = CONDITIONAL

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

transaction[n].debtRepayment.recipient.accountIdentifier  String = Always Provided

For payments into a card account provide the card number. For payments into other accounts (for example a bank account) provide the account number. The value provided will be returned masked in the response.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].debtRepayment.recipient.dateOfBirth  Date = Always Provided

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

transaction[n].debtRepayment.recipient.lastName  String = Always Provided

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

transaction[n].debtRepayment.recipient.postcodeZip  String = Always Provided

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

transaction[n].device   = CONDITIONAL

Information about the device used by the payer for this transaction.
Fixed value

transaction[n].device.ani  String = CONDITIONAL

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

transaction[n].device.aniCallType  String = CONDITIONAL

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

transaction[n].device.browser  String = CONDITIONAL

For example, MOZILLA/4.0 (COMPATIBLE; MSIE 5.0; WINDOWS 95)
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2048

transaction[n].device.hostname  String = CONDITIONAL

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

transaction[n].device.ipAddress  String = CONDITIONAL

You can provide the IP address in IPv6 format as defined in RFC4291.
IPv6 address will only be used in EMV 3DS authentication. Supplied IPv6 address will not be used for any other purposes.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
7
maximum length
45

transaction[n].device.mobilePhoneModel  String = CONDITIONAL

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

transaction[n].gatewayEntryPoint  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
The interface through which the transaction is submitted to the gateway.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTO
The transaction was automatically generated by the gateway. For example, a Capture transaction for Auto-Capture or an order reversal transaction for risk rejected orders.
BATCH
The transaction was submitted as part of a merchant batch. Batches can either be uploaded via Batch or via Merchant Administration.
CHECKOUT_VIA_WEBSITE
The transaction was created via checkout. The payer was redirected from your website to checkout.
MERCHANT_ADMINISTRATION
The transaction was initiated in Merchant Administration.
MERCHANT_MANAGER
The transaction was initiated in Merchant Manager.
SERVICE_PROVIDER_API
The transaction was reported by an acquirer or alternate payment provider.
WEB_SERVICES_API
The transaction was submitted via Web Services API.

transaction[n].initiator   = CONDITIONAL

Details about who initiated the transaction.
Fixed value

transaction[n].initiator.entity   = CONDITIONAL

Details about the entity that initiated the transaction.
Fixed value

transaction[n].initiator.entity.id  String = CONDITIONAL

For a merchant this is the Merchant ID in the gateway. For a Merchant Organization this is the Merchant Organization ID in the gateway. For an agent this is the Agent ID in the gateway. For a service provider this is the service provider ID in the gateway. For a gateway initiated transaction this field is not populated.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].initiator.entity.type  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
The type of entity that initiated the transaction.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AGENT
The transaction was initiated by an agent on your behalf.
GATEWAY
The transaction was automatically initiated by the gateway on your behalf.
MERCHANT
You initiated the transaction.
MERCHANT_ORGANIZATION
The transaction was initiated by a Merchant Organization on your behalf.
SERVICE_PROVIDER
The transaction was initiated by your payment service provider on your behalf.

transaction[n].initiator.userId  String = CONDITIONAL

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

transaction[n].merchant  Alphanumeric + additional characters = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
JSON type
String
minimum length
1
maximum length
40

transaction[n].order   = Always Provided

Information about the order associated with this transaction.
Fixed value

transaction[n].order.acceptPartialAmount  Boolean = CONDITIONAL

If not set or set to FALSE, and the full amount is not available, the transaction will be rejected.
Unless you have been advised by your payment service provider that the gateway supports partial approvals for your acquirer, you can ignore this field.
If the gateway supports partial approvals for your acquirer you must set this field to TRUE else the transaction is rejected by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].order.amount  Decimal = Always Provided

The value of this field in the response is zero if payer funds are not transferred.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.authenticationStatus  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Payer authentication was attempted and a proof of authentication attempt was obtained.
AUTHENTICATION_AVAILABLE
Payer authentication is available for the payment method provided.
AUTHENTICATION_EXEMPT
Exemption from the Regulatory Technical Standards (RTS) requirements for Strong Customer Authentication (SCA) under the Payment Services Directive 2 (PSD2) regulations in the European Economic Area has been claimed or granted.
AUTHENTICATION_FAILED
The payer was not authenticated. You should not proceed with this transaction.
AUTHENTICATION_NOT_IN_EFFECT
There is no authentication information associated with this transaction.
AUTHENTICATION_NOT_SUPPORTED
The requested authentication method is not supported for this payment method.
AUTHENTICATION_PENDING
Payer authentication is pending completion of a challenge process.
AUTHENTICATION_REJECTED
The issuer rejected the authentication request and requested that you do not attempt authorization of a payment.
AUTHENTICATION_REQUIRED
Payer authentication is required for this payment, but was not provided.
AUTHENTICATION_SUCCESSFUL
The payer was successfully authenticated.
AUTHENTICATION_UNAVAILABLE
The payer was not able to be authenticated due to a technical or other issue.

transaction[n].order.cashAdvance  Boolean = CONDITIONAL

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

transaction[n].order.cashbackAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.certainty  Enumeration = CONDITIONAL

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

transaction[n].order.chargeback   = CONDITIONAL

This value will be provided when a chargeback is successfully processed and funds have been transferred back to the payer.
Fixed value

transaction[n].order.chargeback.amount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.chargeback.currency  String = Always Provided

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

transaction[n].order.creationTime  DateTime = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].order.currency  Upper case alphabetic text = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].order.custom  String = CONDITIONAL

The gateway does not send this information to the acquirer. A maximum of 50 such fields may be added to the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250

transaction[n].order.customerNote  String = CONDITIONAL

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

transaction[n].order.customerOrderDate  Date = CONDITIONAL

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

transaction[n].order.customerReference  ASCII Text = CONDITIONAL

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
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
25

transaction[n].order.description  String = CONDITIONAL

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

transaction[n].order.discount   = CONDITIONAL

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

transaction[n].order.discount.amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.discount.code  String = CONDITIONAL

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

transaction[n].order.discount.description  String = CONDITIONAL

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

transaction[n].order.dutyAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.expectedNumberOfCaptures  Integer = CONDITIONAL

For example, if you intend to deliver the goods in two shipments and will capture part of the total authorized amount when you make each shipment, set the value of this field to 2.
If the value equals or drops below the actual number of successful Captures, then the gateway will prevent further Captures and void the outstanding Authorization amount (depending on your merchant profile configuration). If you are unsure of the number of Captures, set the value to 99, and to one on your last Capture.
If you do not provided a value for this field, but had previously provided one, the previous value is applied. For example, if you provide a value 2 on the first Capture for the order and then submit a second Capture without a value, the gateway assumes that the value is still 2.
Existence
CONDITIONAL
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

transaction[n].order.funding   = CONDITIONAL

Details of the amount settled to your account for this order.
Fixed value

transaction[n].order.funding.amount  Decimal = Always Provided

This includes sales (credits to your account) and refunds (debits).
See order.fundingStatus to determine the certainty of this value.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].order.funding.currency  Upper case alphabetic text = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].order.fundingStatus  Enumeration = CONDITIONAL

It reflects both money into and out of your bank account (that is, both sales and refunds).
When considering funding status, the gateway only examines transactions that can move funds. For example, it ignores Authorizations and declined Captures. This is because fundingStatus reflects the movement of the money for the commercial transaction, it does not reflect the movement of money for fees associated with the transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FUNDED
All transactions that could transfer money to / from your account are clearing and will settle.
FUNDING_ASSURED
All transactions that could transfer money to / from your account, are guaranteed to settle, but have not yet done so. The exact amount of the funds to be transferred might not be known in this state.
FUNDING_FAILED
There are transactions on the order that could result in the transfer of money to / from your account, however the service provider has not yet received funds from the payer. In case of an order with a refund the service provider was not able to return funds to the payer. You might need to contact the payer to unblock this condition.
FUNDING_ON_HOLD
There are transactions on the order that could result in the transfer of money to or from your account, however the service provider is unable to complete the transfer of funds, because of some problem with your account. This might be a transient state.
IN_PROGRESS
There are transactions on the order that could result in the transfer of money to / from your account, but some have not yet have done so. This is usually a transient state.
NON_FUNDED
There are no transactions on the order that could result in transfer of money to / from your account.
NOT_SUPPORTED
All transactions on the order were settled to a payment provider from which the gateway does not receive funding information.

transaction[n].order.gratuityAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.id  String = Always Provided

Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order created by your merchant profile.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].order.industryPracticePaymentReason  Enumeration = CONDITIONAL

Use this field to indicate the reason for that industry practice payment.

A merchant initiated industry practice transaction must also contain the 'scheme transaction Id' from the associated cardholder initiated transaction.

You can provide the referenceOrderId of the relevant cardholder initiated transaction and the gateway will include the 'scheme transaction Id' on the industry practice transaction. For example, when you submit a 'delayed charge', you should provide the referenceOrderId of the cardholder-initiated transaction that resulted in the delayed charge.

Alternatively, you can provide the 'scheme transaction Id' of the cardholder initiated transaction in the industry practice transaction using the field transaction.acquirer.traceId.

You must have obtained the payer's consent prior to submitting industry practice transactions.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DELAYED_CHARGE
An additional payment processed in accordance with your terms and conditions after the original payment has been processed. For example, hotel mini bar charge after the payer has checked out or damage to a rental car.
NO_SHOW_PENALTY
A penalty charged in accordance with your charge cancellation policy the payer cancels or fails to show for the booking.
PARTIAL_SHIPMENT
A shipment where merchant decides to ship the goods from the same order in multiple shipments due to various reasons like goods availability, involvement of multiple suppliers for goods etc.

transaction[n].order.invoiceNumber  String = CONDITIONAL

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

transaction[n].order.item[n]   = CONDITIONAL

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

transaction[n].order.item[n].brand  String = CONDITIONAL

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

transaction[n].order.item[n].category  String = CONDITIONAL

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

transaction[n].order.item[n].description  String = CONDITIONAL

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

transaction[n].order.item[n].detail   = CONDITIONAL

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

transaction[n].order.item[n].detail.acquirerCustom  JSON Text = CONDITIONAL

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

transaction[n].order.item[n].detail.commodityCode  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

transaction[n].order.item[n].detail.tax[n]   = CONDITIONAL

Information about the taxes per line item.
Fixed value

transaction[n].order.item[n].detail.tax[n].amount  Decimal = CONDITIONAL

Note that the tax amount provided must reflect the tax amount applied before a discount was applied.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].order.item[n].detail.tax[n].rate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].order.item[n].detail.tax[n].type  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

transaction[n].order.item[n].detail.unitDiscountRate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
999999
minimum value
0
maximum post-decimal digits
5

transaction[n].order.item[n].detail.unitTaxRate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
999999
minimum value
0
maximum post-decimal digits
5

transaction[n].order.item[n].detail.unitTaxType  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

transaction[n].order.item[n].detail.unspsc  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

transaction[n].order.item[n].detail.upc  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

transaction[n].order.item[n].industryCategory  Enumeration = CONDITIONAL

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
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HEALTHCARE_DENTAL
HEALTHCARE_OTHER
HEALTHCARE_PRESCRIPTION
HEALTHCARE_VISION

transaction[n].order.item[n].name  String = Always Provided

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

transaction[n].order.item[n].quantity  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0

transaction[n].order.item[n].sku  String = CONDITIONAL

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

transaction[n].order.item[n].unitDiscountAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].order.item[n].unitOfMeasure  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

transaction[n].order.item[n].unitPrice  Decimal = Always Provided

This amount is multiplied with the item quantity (item.quantity) to determine the total amount for this item (item.amount). This amount does not include the tax amount and/or discount amount applicable to this item.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].order.item[n].unitTaxAmount  Decimal = CONDITIONAL

This amount is multiplied with the item quantity (item.quantity) to determine the total tax amount for this item.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].order.itemAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.lastUpdatedTime  DateTime = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].order.localTaxRegistrationId  String = CONDITIONAL

If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Provincial Sales Tax (PST).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
25

transaction[n].order.marketplace   = CONDITIONAL

You should provide this identifier to your payment service provider so that the gateway can automatically include it in all transaction messages to your acquirer.
Fixed value

transaction[n].order.marketplace.retailerLocation  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DOMESTIC_ONLY
The order only contains items from domestic retailers.
FOREIGN_AND_DOMESTIC
The order contains items from both foreign and domestic retailers.
FOREIGN_ONLY
The order only contains items from foreign retailers.

transaction[n].order.merchantAmount  Decimal = Always Provided

This is derived from the rate quote and order.amount for this order when Multi-Currency Pricing was used.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.merchantCategoryCode  Digits = CONDITIONAL

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
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
4

transaction[n].order.merchantCharge   = CONDITIONAL

Information about additional fees that you are charging the payer for processing the payment for this order, for example, a surcharge.
Fixed value

transaction[n].order.merchantCharge.amount  Decimal = Always Provided

If you provide a charge amount, you must include it in the total amount for the order.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.merchantCharge.calculatedBy  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CLIENT
The charge amount was included in the transaction request.
GATEWAY
The gateway calculated the charge amount based on the net amount included in the transaction request and the configured charge rules.

transaction[n].order.merchantCharge.ruleName  String = CONDITIONAL

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

transaction[n].order.merchantCharge.type  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
SURCHARGE
A fee that covers your cost of accepting accepting a payment method.

transaction[n].order.merchantCurrency  Upper case alphabetic text = Always Provided

This value (along with merchantAmount) is applicable if you are doing Multi-Currency Pricing, as it gives you a consistent currency across all your orders that involve foreign exchange (FX).

If there is FX on this order, this is based on the rate quote you provided on the payment transactions, if not then this is the order.currency.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].order.netAmount  Decimal = CONDITIONAL

If you specify a net amount the gateway will calculate the merchant charge amount for you based on the charge type (order.merchantCharge.type) provided in the request. Alternatively, you can specify the merchant charge amount (order.merchantCharge.amount) yourself.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.notificationUrl  Url = CONDITIONAL

To receive notifications at this URL, you must enable Webhook notifications in Merchant Administration. Ensure the URL is HTTPS
Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

transaction[n].order.owningEntity  String = CONDITIONAL

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

transaction[n].order.purchaseType  Enumeration = CONDITIONAL

You must provide a value if your Merchant Category Code (MCC) is one of the following:

6051 (Quasi Cash – Merchant or Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for the purchase of cryptocurrency. Set the value to CRYPTOCURRENCY.

6211 (Securities – Brokers/Dealers) and this transaction is for the purchase of high-risk securities. Set the value to HIGH_RISK_SECURITIES.

6012 (Merchandise and Services—Customer Financial Institutions) or 6051 (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency) and this transaction is for debt repayment. Set the value to DEBT_REPAYMENT.

If the transaction pulls money from an account for the purpose of crediting another account you must set purchase type to ACCOUNT_FUNDING.

You may set purchase type to OTHER for any other type of payment.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CRYPTOCURRENCY
The transaction is for the purchase of a cryptocurrency.
DEBT_REPAYMENT
You may be required to provide additional details about the debt repayment in the debtRepayment parameter group.
HIGH_RISK_SECURITIES
The transaction is for the purchase of high-risk securities.
OTHER
Use this value if the purchase type for the transaction does not fit in any of the other categories.

transaction[n].order.reference  String = CONDITIONAL

For example, a shopping cart number, an order number, or an invoice number.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
200

transaction[n].order.requestorName  String = CONDITIONAL

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

transaction[n].order.reward   = CONDITIONAL

Information about reward points earned using a card enrolled in a rewards program that are being redeemed as full or part payment for this order.
Fixed value

transaction[n].order.reward.amount  Decimal = CONDITIONAL

The reward amount is included in the total amount of the order you provide in order.amount. You must provide this value if the rewards program supports a payer-nominated amount (availableBalance.reward.payerNominatedAmount returned from the Balance Inquiry operation has a value of 'true').
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.reward.availableBalance   = CONDITIONAL

Information about the rewards currently available to redeem for the card (that is, after this purchase).
Fixed value

transaction[n].order.reward.availableBalance.amount  Decimal = CONDITIONAL

This amount is the rewards points available for the card divided by the conversion rate. For example, if the payer has 1500 points available and the conversion rate is 10 then the currency equivalent amount is 150.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.reward.availableBalance.points  Decimal = CONDITIONAL

This includes any points earned by the payer as a result of the payment made for this order. You should print this value on the receipt when required by the rewards program provider.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.reward.points  Decimal = Always Provided

You should print this value on the receipt when required by the rewards program provider.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.reward.previousBalance   = CONDITIONAL

Information about the rewards available to redeem for this card prior to the last transaction on this order where points were redeemed.
Fixed value

transaction[n].order.reward.previousBalance.amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.reward.previousBalance.points  Decimal = CONDITIONAL

You should print this value on the receipt when required by the rewards program provider.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.reward.program  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMERICAN_EXPRESS_MEMBERSHIP_REWARDS
American Express Membership Rewards.
BANCOMER_MEMBERSHIP_REWARDS
Bancomer Membership Rewards.

transaction[n].order.shippingAndHandlingAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.shippingAndHandlingTaxAmount  Decimal = CONDITIONAL

This amount is included in the shipping and handling amount provided in field order.shippingAndHandlingAmount.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.shippingAndHandlingTaxRate  Decimal = CONDITIONAL

For a tax rate of 2.5% provide 0.025.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
4

transaction[n].order.statementDescriptor   = CONDITIONAL

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

transaction[n].order.statementDescriptor.address   = CONDITIONAL

Descriptor address of the merchant.
Fixed value

transaction[n].order.statementDescriptor.address.city  String = CONDITIONAL

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

transaction[n].order.statementDescriptor.address.company  String = CONDITIONAL

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

transaction[n].order.statementDescriptor.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].order.statementDescriptor.address.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

transaction[n].order.statementDescriptor.address.stateProvince  String = CONDITIONAL

For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP.

For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

transaction[n].order.statementDescriptor.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].order.statementDescriptor.address.street2  String = CONDITIONAL

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

transaction[n].order.statementDescriptor.name  String = CONDITIONAL

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

transaction[n].order.statementDescriptor.phone  String = CONDITIONAL

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

transaction[n].order.status  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATED
The payer was successfully authenticated.
AUTHENTICATION_INITIATED
Payer authentication has been initiated but not completed.
AUTHENTICATION_NOT_NEEDED
Payer authentication was not performed as it was not needed.
AUTHENTICATION_UNSUCCESSFUL
Payer authentication was not able to be successfully completed.
AUTHORIZED
The payment has been authorized successfully but the authorized amount has not yet been captured, in part, full, or excess.
CANCELLED
The initial transaction for this order has been voided successfully.
CAPTURED
The authorized amount for this order, in full or excess, has been captured successfully.
CHARGEBACK_PROCESSED
A Chargeback has been processed against this order.
DISBURSED
The order amount has successfully been disbursed to the payer.
DISPUTED
The payment has been disputed and is under investigation. A request for information has been received or a chargeback is pending.
EXCESSIVELY_REFUNDED
The payment has been captured in part, full, or excess, but the captured amount in excess has been refunded successfully.
FAILED
The payment has not been successful.
FUNDING
The order transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from your payment service provider.
INITIATED
A browser payment that has successfully been initiated for this order. No payment has yet been made.
PARTIALLY_CAPTURED
The authorized amount for this order, in part, has been captured successfully.
PARTIALLY_REFUNDED
The payment has been captured in part, full, or excess, but the captured amount in part has been refunded successfully.
REFUNDED
The payment has been captured in part, full, or excess, but the captured amount in full has been refunded successfully.
REFUND_REQUESTED
A refund against captured amounts on this order has been requested but not executed. Requires further action to approve the refund.
VERIFIED
The card details for this order have successfully been verified. No payment has yet been initiated or made.

transaction[n].order.subMerchant   = CONDITIONAL

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

transaction[n].order.subMerchant.address   = CONDITIONAL

The sub-merchant's address.
Fixed value

transaction[n].order.subMerchant.address.city  String = CONDITIONAL

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

transaction[n].order.subMerchant.address.company  String = CONDITIONAL

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

transaction[n].order.subMerchant.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].order.subMerchant.address.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

transaction[n].order.subMerchant.address.stateProvince  String = CONDITIONAL

For an address in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP.

For an address in Canada provide the 2-letter ISO 3166-2 province code.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
20

transaction[n].order.subMerchant.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].order.subMerchant.address.street2  String = CONDITIONAL

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

transaction[n].order.subMerchant.authentication[n]   = CONDITIONAL

For example, using 3-D Secure authentication.
Fixed value

transaction[n].order.subMerchant.authentication[n].3DS2   = CONDITIONAL

These details are used to identify the sub-merchant to the card scheme's directory server.
Fixed value

transaction[n].order.subMerchant.authentication[n].3DS2.requestorId  String = CONDITIONAL

Do not provide this value for Mastercard SecureCode or Verified by Visa. For these authentication schemes, it will be generated by the gateway. For American Express if it is provided it will be used otherwise it will be generated by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
35

transaction[n].order.subMerchant.authentication[n].3DS2.requestorName  String = CONDITIONAL

Do not provide this value for Mastercard SecureCode or Verified by Visa. For these authentication schemes, it will be generated by the gateway. For American Express if it is provided it will be used otherwise it will be generated by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].order.subMerchant.authentication[n].protocol  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX_SAFEKEY
American Express SafeKey EMV 3DS authentication
DINERS_PROTECTBUY
Diners ProtectBuy EMV 3DS authentication
FASTR_BY_CB
Carte Bancaire FAST'R by CB using EMV 3DS authentication
JCB_JSECURE
JCB J/Secure using EMV 3DS authentication
VERIFIED_BY_VISA
Visa Verified by Visa EMV 3DS authentication

transaction[n].order.subMerchant.bankIndustryCode  Digits = CONDITIONAL

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

transaction[n].order.subMerchant.disputeContactPhone  Telephone Number = CONDITIONAL

In this case, provide a phone number that payers can use to contact the sub-merchant in case of a dispute. Where applicable, the issuer may display this phone number on the cardholder statement. The phone number must be provided in ITU-T E123 format.
Existence
CONDITIONAL
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

transaction[n].order.subMerchant.email  Email = CONDITIONAL

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

transaction[n].order.subMerchant.governmentCountryCode  Upper case alphabetic text = CONDITIONAL

A sub merchant is considered a government owned or controlled entity (government controlled merchant) if 50% or more of the sub merchant is owned by the government. Provide the ISO 3166 three-letter country code of the government country where this differs from the sub merchant's physical location country.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].order.subMerchant.identifier  Alphanumeric + additional characters = Always Provided

You can use this identifier in searches and reports in the gateway.
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
100

transaction[n].order.subMerchant.marketplaceId  String = CONDITIONAL

A sub merchant is considered a marketplace if they operate a platform (online commerce website or mobile application) where retailers can sell goods and services.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
11

transaction[n].order.subMerchant.phone  String = CONDITIONAL

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

transaction[n].order.subMerchant.registeredName  String = CONDITIONAL

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

transaction[n].order.subMerchant.tradingName  String = Always Provided

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

transaction[n].order.supply   = CONDITIONAL

Information about orders for items not yet available (pre-order) or for items previously purchased (reorder).
Fixed value

transaction[n].order.supply.preorder  Boolean = CONDITIONAL

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

transaction[n].order.supply.preorderAvailabilityDate  Date = CONDITIONAL

Provide this field if the payer is ordering items before you have them available for purchase.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].order.supply.reorder  Boolean = CONDITIONAL

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

transaction[n].order.surchargeAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.surchargeSource  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Indicates how the surcharge amount was determined for an order.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CLIENT
The surcharge amount was provided by the merchant.
GATEWAY
The surcharge amount was calculated by the gateway based on surcharging rules configured by the merchant.

transaction[n].order.tax[n]   = CONDITIONAL

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

transaction[n].order.tax[n].amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].order.tax[n].rate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
6

transaction[n].order.tax[n].type  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].order.taxAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.taxRegistrationId  String = CONDITIONAL

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

transaction[n].order.taxStatus  String = CONDITIONAL

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

transaction[n].order.totalAuthorizedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.totalCapturedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.totalDisbursedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.totalRefundedAmount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].order.transactionFiltering   = CONDITIONAL

Information relevant for Transaction Filtering.
Fixed value

transaction[n].order.transactionFiltering.avsResponseCodeRules[n]   = CONDITIONAL

If provided, these rules override the AVS Response Code Transaction Filtering rules you have configured in Merchant Administration.
Fixed value

transaction[n].order.transactionFiltering.avsResponseCodeRules[n].action  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
The action to be performed for the Address Verification Service (AVS) Response Code.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NO_ACTION
No action should be taken by the gateway.
REJECT
The gateway must reject the transaction.
REVIEW
The gateway must mark this transaction as requiring a review.

transaction[n].order.transactionFiltering.avsResponseCodeRules[n].avsResponseCode  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
The Address Verification Service (AVS) Response Code for which you are defining the rule.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ADDRESS_MATCH
Street address matched
ADDRESS_ZIP_MATCH
Street address and zip/postcode were matched
NAME_ADDRESS_MATCH
Card holder name and street address matched
NAME_MATCH
Card holder name matched
NAME_ZIP_MATCH
Card holder name and zip/postcode matched
NOT_AVAILABLE
No data available from issuer or AVS data not supported for transaction
NOT_REQUESTED
AVS not requested
NOT_VERIFIED
AVS could not be verified for an international transaction
NO_MATCH
No match
SERVICE_NOT_AVAILABLE_RETRY
Issuer system is unavailable. Retry can be attempted
SERVICE_NOT_SUPPORTED
Service currently not supported by acquirer or merchant
ZIP_MATCH
Zip/postcode matched. Street address not matched

transaction[n].order.valueTransfer   = CONDITIONAL

Information about payments that transfer money to another store of value, such as a gift card or gaming chips.
Fixed value

transaction[n].order.valueTransfer.accountType  Enumeration = CONDITIONAL

The default value is NOT_A_TRANSFER.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_A_TRANSFER
This payment is not for the purpose of transferring money to another store of value. It is a payment for goods or services.
PREPAID_LOAD
Payment to add funds to a prepaid card or gift card.
QUASI_CASH_TRANSACTION
Payment for items that are directly convertible to cash. For example, money orders, casino gaming chips, or traveller's checks.

transaction[n].order.valueTransfer.amount  Decimal = CONDITIONAL

The default value is order.amount
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
12

transaction[n].order.valueTransfer.currency  Upper case alphabetic text = CONDITIONAL

If the money is being transferred to multiple currencies, then use the currency of the highest transferred value.

The default value is order.currency.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].order.valueTransfer.numberOfCards  Integer = CONDITIONAL

The default value is one when you set order.valueTransfer.accountType = PREPAID_LOAD. For all other values of order.valueTransfer.accountType the default is zero.
Existence
CONDITIONAL
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
999

transaction[n].order.wallet   = CONDITIONAL

Details about a wallet interaction.
Fixed value

transaction[n].order.wallet.visaCheckout   = CONDITIONAL

Provide the details for the Visa Checkout Wallet.
Fixed value

transaction[n].order.wallet.visaCheckout.callId  String = CONDITIONAL

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

transaction[n].order.walletIndicator  String = CONDITIONAL

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

transaction[n].order.walletProvider  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX_EXPRESS_CHECKOUT
Amex Express Checkout wallet provider.
APPLE_PAY
Apple Pay mobile wallet provider.
CHASE_PAY
Chase Pay wallet provider.
GOOGLE_PAY
Google Pay mobile wallet provider.
MASTERPASS_ONLINE
MasterPass Online wallet provider.
SAMSUNG_PAY
Samsung Pay mobile wallet provider.
VISA_CHECKOUT
Visa Checkout wallet provider.

transaction[n].partnerSolutionId  String = CONDITIONAL

If your payment service provider has not provided you with a solution ID, you should ignore this field.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].payerConsentForStoringCardDetails  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MERCHANT_INITIATED_PAYMENTS
The payer has provided consent for storing their card details for the purpose of subsequent merchant-initiated payments.
PAYER_DECLINED
The payer declined to provide consent for storing their card details.
PAYER_INITIATED_PAYMENTS
The payer has provided consent for storing their card details for the purpose of subsequent payer-initiated payments.

transaction[n].posTerminal   = CONDITIONAL

Information about the device used to initiate the transaction at the Point-of-Sale (POS).
Fixed value

transaction[n].posTerminal.address   = CONDITIONAL

For the posTerminal.address.country field - EMV: 9F1A.
Fixed value

transaction[n].posTerminal.address.city  String = CONDITIONAL

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

transaction[n].posTerminal.address.company  String = CONDITIONAL

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

transaction[n].posTerminal.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].posTerminal.address.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

transaction[n].posTerminal.address.stateProvince  String = CONDITIONAL

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

transaction[n].posTerminal.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].posTerminal.address.street2  String = CONDITIONAL

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

transaction[n].posTerminal.attended  Enumeration = CONDITIONAL

You only need to provide this field for card present transactions.

You must provide a value for this field for chip transactions with UK acquirers.

This field corresponds to EMV tag 9F35
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ATTENDED
Attended terminal.
SEMI_ATTENDED
Where a card or proximity payment device is present; and the cardholder is present; and the cardholder completes the transaction and, if required, an individual representing the merchant or acquirer assist the cardholder to complete the transaction.
UNATTENDED
Unattended terminal.
UNKNOWN_OR_UNSPECIFIED
Unknown or unspecified.

transaction[n].posTerminal.authorizationMethod  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
OFFLINE
The transaction was approved by the terminal.
OFFLINE_AFTER_ONLINE_FAILURE
The transaction was approved by the terminal after a request to authorize online failed.
ONLINE
The transaction was sent online to the acquirer for authorization.
VOICE_REFERRAL
Voice authorization for the transaction was obtained from the acquirer because the terminal does not have online capability. The authorization code was manually entered.
VOICE_REFERRAL_AFTER_ONLINE_FAILURE
Voice authorization for the transaction was obtained from the acquirer after a request to authorize online failed. The authorization code was manually entered.

transaction[n].posTerminal.cardPresenceCapability  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CARD_NOT_PRESENT
Card not present.
CARD_PRESENT
Card present.
CARD_PRESENT_AND_CARD_NOT_PRESENT
Card present and card not present.

transaction[n].posTerminal.cardholderActivated  Enumeration = CONDITIONAL

A CAT is typically an unattended terminal. For example a terminal used to purchase transit tickets, a terminal use to pay parking fees, toll fees, or automated dispensing machines.

There are seven types (levels) of CAT devices. Each level has specific card scheme requirements.

If you do not provide a value for this field for a Card Present payment the gateway defaults the value to NOT_CARDHOLDER_ACTIVATED.

This field corresponds to EMV tag 9F35
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTOMATED_DISPENSING_MACHINE_WITH_PIN
CAT level 1 terminal.
ELECTRONIC_COMMERCE
CAT level 6 terminal.
IN_FLIGHT_COMMERCE
CAT level 4 terminal.
LIMITED_AMOUNT_TERMINAL
CAT level 3 terminal.
MPOS_ACCEPTANCE_DEVICE
CAT level 9 terminal.
NOT_CARDHOLDER_ACTIVATED
Terminal is not activated by the cardholder.
SELF_SERVICE_TERMINAL
CAT level 2 terminal.
TRANSPONDER_TRANSACTION
CAT level 7 terminal.

transaction[n].posTerminal.inputCapability  Enumeration = CONDITIONAL

For example, chip, magnetic stripe read, key entry or contactless.

This field corresponds to EMV tag 9F33
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BARCODE
The terminal supports data input using a barcode reader.
CHIP
Chip read only.
CHIP_AND_KEY_ENTRY_AND_MAGNETIC_STRIPE
MSR, chip and key entry.
CHIP_AND_KEY_ENTRY_AND_MAGNETIC_STRIPE_AND_RFID
The terminal supports chip read, key entry, magnetic stripe read, and RFID read.
CHIP_AND_MAGNETIC_STRIPE
MSR and chip.
CONTACTLESS_CHIP
Contactless chip.
CONTACTLESS_MAGNETIC_STRIPE
Contactless MSR.
CONTACTLESS_OR_MAGNETIC_STRIPE
The terminal supports both contactless interaction with a chip and magnetic stripe read.
KEY_ENTRY
Key entry only.
KEY_ENTRY_AND_MAGNETIC_STRIPE
MSR and key entry.
MAGNETIC_STRIPE
Magnetic strip read (MSR) only.
UNKNOWN
VOICE_AUDIO_RESPONSE

transaction[n].posTerminal.lane  String = CONDITIONAL

Examples could be S43_L12 (Lane 12 in Shop 43) or Kiosk_76. This field can be used for your search or reporting needs, and might be used by fraud management systems.

This field corresponds to EMV tag 9F1C
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
8

transaction[n].posTerminal.location  Enumeration = CONDITIONAL

If you do not provide a value for this field for a mobile wallet payment the gateway defaults the value to PAYER_TERMINAL_OFF_PREMISES.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MERCHANT_TERMINAL_OFF_PREMISES
A terminal under the merchant's control but not on the merchant's premises was used.
MERCHANT_TERMINAL_ON_PREMISES
A terminal under the merchant's control on the merchant's premises was used.
NO_TERMINAL_VOICE_OR_AUDIO_RESPONSE
A voice or an audio response system was used, not a physical terminal.
PAYER_TERMINAL_OFF_PREMISES
A terminal under the payer's control and off the merchant's premises was used. For example, a mobile device or personal computer.
PAYER_TERMINAL_ON_PREMISES
A terminal under the payer's control on the merchant's premises was used. For example, a mobile device or personal computer.

transaction[n].posTerminal.mobile   = CONDITIONAL

Information about mobile POS (mPOS) device.
Fixed value

transaction[n].posTerminal.mobile.cardInputDevice  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BUILT_IN
Off-the-shelf mobile phone or tablet with only a built-in contactless reader.
INTEGRATED_DONGLE
Dedicated mobile terminal with an integrated card reader.
SEPARATE_DONGLE
Off-the shelf device or dedicated mobile terminal, with a separate card reader.

transaction[n].posTerminal.onlineReasonCode  Enumeration = CONDITIONAL

The online reason code is mandatory for chip and chip fallback transactions (including reversals) for all online transactions.

Where more than one reason applies, then the order of priority used for the enumeration list applies.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHIP_APPLICATION_DATA_FILE_ERROR
The application data file on the chip was unable to process. The terminal has possession of the card. Only used by integrated ICC/MSR terminals (where the terminal has possession of the card and when this condition can be accurately identified).
CHIP_COMMON_DATA_FILE_ERROR
The application common data file on the chip was unable to process. Only used by integrated ICC/MSR terminals (where the terminal has possession of the card and when this condition can be accurately identified).
FORCED_BY_CHIP
The chip application forced the the transaction to go online.
FORCED_BY_ISSUER
Issuer rules forced the transaction to go online. For example, the card is expired.
FORCED_BY_MERCHANT
Rules in the merchant's POS application forced the transaction to go online. For example, the card was used twice or send one in a certain number of authorizations online.
FORCED_BY_TERMINAL
The terminal forced the transaction to go online. For example, the results of tests the terminal carried out during the EMV process indicated to send the transaction online.
MERCHANT_SUSPICIOUS
The merchant has indicated a suspicious transaction. For example, they indicated an unsuccessful signature check or the card returned an inappropriate cryptogram.
OVER_FLOOR_LIMIT
The transaction amount is above the limit set for local processing of the transaction at the terminal.
RANDOM_SELECTION_BY_TERMINAL
The terminal has randomly selected the transaction for online processing.
UNABLE_TO_PROCESS_CHIP
The terminal is not able to process a chip transaction. The transaction was sent online as a fallback.

transaction[n].posTerminal.panEntryMode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BARCODE_READER
The PAN was entered via a barcode reader.
CHIP
The PAN was entered by reading data from the chip on the card.
CHIP_FALLBACK
A chip-capable terminal failed to process the transaction using data on the card's chip. Therefore, the PAN was read using a fallback mode.
CONTACTLESS
The PAN was entered by a contactless interaction with a chip.
ECOMMERCE
The PAN was entered via an electronic commerce interaction, including chip.
KEYED
The PAN was manually entered.
MOBILE_COMMERCE
OPTICAL_CHARACTER_READER
The PAN was entered via an an optical character reader.
RFID_CHIP
An RFID device was used. Chip data is provided.
RFID_STRIPE
An RFID device was used. Stripe data is provided.
SWIPE
The PAN was read from the magnetic stripe, and the full, unaltered contents of the stripe are provided.
SWIPE_WITH_SIGNATURE
The PAN was read from the magnetic stripe and a signature was provided.
UNKNOWN
The mode of PAN entry is unknown.
VOICE_AUTHORIZATION
VOICE_RESPONSE
The PAN was collected using a Voice Response Unit.

transaction[n].posTerminal.pinEntryCapability  Enumeration = CONDITIONAL

This field corresponds to EMV tag 9F33
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
OFFLINE_PIN_ONLY
Only offline PIN is supported.
PIN_NOT_SUPPORTED
Neither offline nor online PIN is supported.
PIN_PAD_INOPERATIVE
PIN is supported but the POS or Payment Client has determined that it is not operational.
PIN_SUPPORTED
Both offline & online PIN supported.
SOFTWARE_ONLINE_PIN_ONLY
mPOS Software-based PIN Entry Capability (online PIN supported).
UNKNOWN
The PIN entry capability is not known.

transaction[n].posTerminal.pinLengthCapability  Integer = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
JSON type
Number
minimum value
4
maximum value
12

transaction[n].posTerminal.serialNumber  ASCII Text = CONDITIONAL

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

transaction[n].posTerminal.singleTapIndicator  Boolean = CONDITIONAL

In the single tap flow, payer will not be requested to perform a subsequent tap when requested for a PIN by the issuer for this transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].posTerminal.store   = CONDITIONAL

Information about the store
Fixed value

transaction[n].posTerminal.store.id  String = CONDITIONAL

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

transaction[n].posTerminal.store.name  String = CONDITIONAL

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

transaction[n].referenceOrderId  String = CONDITIONAL

It is applicable to the following scenarios.

Tokenization requests:
Identifier for the order which will be used to generate a gateway token. The gateway will attempt tokenization of payment credentials linked to the order ID.
The order identifier provided in this field must be linked to a successfully processed order which has card (FPAN / DPAN) as the payment method.
When providing this field, you must not provide card details in the sourceOfFunds.provided.card parameter group, and you must set the sourceOfFunds.type field to CARD.

Payment transactions:
When submitting:
  • an industry practice payment, this is the reference to the initial cardholder-initiated transaction.
  • a resubmission transaction, this is the reference to the order which is being resubmitted.

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

transaction[n].response   = Always Provided

Fixed value

transaction[n].response.accountUpdater   = CONDITIONAL

If the gateway submitted a request to the scheme's Account Updater service, this parameter group contains details about the outcome of this request.
Fixed value

transaction[n].response.accountUpdater.gatewayCode  Enumeration = CONDITIONAL

If response.accountUpdater.gatewayCode=UPDATED, invoke the Retrieve Token request to check if a replacement token has been generated. This step is not required to be completed immediately.
The gateway assigns a replacement token, if your token repository is configured with the 'UNIQUE_ACCOUNT_IDENTIFIER' token management strategy and the repository already contains a token for the new card that was updated by the Account Updater.
For more details see Gateway Tokenization
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_UPDATED
The card details were not updated.
UPDATED
The card details were updated and these details were used to process the transaction request and are contained in the sourceOfFunds parameter group. The token contained in the request has also been updated with these details.

transaction[n].response.acquirerCode  ASCII Text = CONDITIONAL

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

transaction[n].response.acquirerMessage  ASCII Text = CONDITIONAL

This field is used in addition to response.acquirerCode for some acquirers where additional information needs to be communicated. For example, contact details to allow the merchant to contact the issuer directly to seek authorisation for the transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
1
maximum length
255

transaction[n].response.authenticationTokenVerification   = CONDITIONAL

Fixed value

transaction[n].response.authenticationTokenVerification.acquirerCode  Alphanumeric = CONDITIONAL

e.g. Discover ProtectBuy - CAVV(Cardholder Authentication Verification Value)
Existence
CONDITIONAL
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

transaction[n].response.authenticationTokenVerification.gatewayCode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FAILED
The authentication token has failed verification. This may affect the liability shift for this transaction. You may wish to cancel this transaction.
SUCCESS
The authentication token sent in the request has passed verification.
UNKNOWN
The issuer returned a value which does not indicate whether authentication token verification was successful or failed.

transaction[n].response.cardSecurityCode   = CONDITIONAL

Fixed value

transaction[n].response.cardSecurityCode.acquirerCode  ASCII Text = CONDITIONAL

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

transaction[n].response.cardSecurityCode.gatewayCode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MATCH
Valid or matched.
NOT_PRESENT
Merchant indicated CSC not present on card.
NOT_PROCESSED
Not processed.
NOT_SUPPORTED
Card issuer is not registered and/or certified
NO_MATCH
Invalid or not matched.

transaction[n].response.cardholderVerification   = CONDITIONAL

Fixed value

transaction[n].response.cardholderVerification.avs   = CONDITIONAL

The result returned after the billing address provided by the cardholder has been compared with the address held at the cardholder's issuing bank.
Fixed value

transaction[n].response.cardholderVerification.avs.acquirerCode  ASCII Text = CONDITIONAL

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

transaction[n].response.cardholderVerification.avs.gatewayCode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ADDRESS_MATCH
Street address matched
ADDRESS_ZIP_MATCH
Street address and zip/postcode were matched
NAME_ADDRESS_MATCH
Card holder name and street address matched
NAME_MATCH
Card holder name matched
NAME_ZIP_MATCH
Card holder name and zip/postcode matched
NOT_AVAILABLE
No data available from issuer or AVS data not supported for transaction
NOT_REQUESTED
AVS not requested
NOT_VERIFIED
AVS could not be verified for an international transaction
NO_MATCH
No match
SERVICE_NOT_AVAILABLE_RETRY
Issuer system is unavailable. Retry can be attempted
SERVICE_NOT_SUPPORTED
Service currently not supported by acquirer or merchant
ZIP_MATCH
Zip/postcode matched. Street address not matched

transaction[n].response.cardholderVerification.detailedVerification[n]   = CONDITIONAL

Results of the additional verification checks where an acquirer offers advanced cardholder verification and the data has been supplied in the Verify request.
Fixed value

transaction[n].response.cardholderVerification.detailedVerification[n].gatewayCode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MATCHED
Data provided by cardholder matches record held by the cardholder's issuing bank.
NOT_CHECKED
Unable to perform verification checks on data provided.
NOT_MATCHED
Data provided by cardholder does NOT match record held by the cardholder's issuing bank.
NOT_PROVIDED
Verification could not be performed as data not provided.
SERVICE_NOT_AVAILABLE_RETRY
Issuer system is unavailable. Retry can be attempted
SERVICE_NOT_SUPPORTED
Service currently not supported by acquirer or merchant

transaction[n].response.cardholderVerification.detailedVerification[n].type  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
BILLING_PHONE
The phone number of the person that the bill is being sent to.
BILLING_POSTCODE_ZIP
The Postal/Zip code of the billing address.
BILLING_STREET_ADDRESS
The street name and number of the billing address.
CARDHOLDER_NAME
The full name of the cardholder.
CUSTOMER_EMAIL
The email address of the customer.

transaction[n].response.debugInformation  String = CONDITIONAL

Only returned for some errors and is dependent on the merchant's configuration. Returned in error, declined and approved scenarios, but would only be used to trouble shoot issues.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2064

transaction[n].response.gatewayCode  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ABORTED
Transaction aborted by payer
ACQUIRER_SYSTEM_ERROR
Acquirer system error occurred processing the transaction
APPROVED
Transaction Approved
APPROVED_AUTO
The transaction was automatically approved by the gateway. it was not submitted to the acquirer.
APPROVED_PENDING_SETTLEMENT
Transaction Approved - pending batch settlement
AUTHENTICATION_FAILED
Payer authentication failed
AUTHENTICATION_IN_PROGRESS
The operation determined that payer authentication is possible for the given card, but this has not been completed, and requires further action by the merchant to proceed.
BALANCE_AVAILABLE
A balance amount is available for the card, and the payer can redeem points.
BALANCE_UNKNOWN
A balance amount might be available for the card. Points redemption should be offered to the payer.
BLOCKED
Transaction blocked due to Risk or 3D Secure blocking rules
CANCELLED
Transaction cancelled by payer
DECLINED
The requested operation was not successful. For example, a payment was declined by issuer or payer authentication was not able to be successfully completed.
DECLINED_AVS
Transaction declined due to address verification
DECLINED_AVS_CSC
Transaction declined due to address verification and card security code
DECLINED_CSC
Transaction declined due to card security code
DECLINED_DO_NOT_CONTACT
Transaction declined - do not contact issuer
DECLINED_INVALID_PIN
Transaction declined due to invalid PIN
DECLINED_PAYMENT_PLAN
Transaction declined due to payment plan
DECLINED_PIN_REQUIRED
Transaction declined due to PIN required
DEFERRED_TRANSACTION_RECEIVED
Deferred transaction received and awaiting processing
DUPLICATE_BATCH
Transaction declined due to duplicate batch
EXCEEDED_RETRY_LIMIT
Transaction retry limit exceeded
EXPIRED_CARD
Transaction declined due to expired card
INSUFFICIENT_FUNDS
Transaction declined due to insufficient funds
INVALID_CSC
Invalid card security code
LOCK_FAILURE
Order locked - another transaction is in progress for this order
NOT_ENROLLED_3D_SECURE
Card holder is not enrolled in 3D Secure
NOT_SUPPORTED
Transaction type not supported
NO_BALANCE
A balance amount is not available for the card. The payer cannot redeem points.
PARTIALLY_APPROVED
The transaction was approved for a lesser amount than requested. The approved amount is returned in order.totalAuthorizedAmount.
PENDING
Transaction is pending
REFERRED
Transaction declined - refer to issuer
SYSTEM_ERROR
Internal system error occurred processing the transaction
TIMED_OUT
The gateway has timed out the request to the acquirer because it did not receive a response. Points redemption should not be offered to the payer.
UNKNOWN
The transaction has been submitted to the acquirer but the gateway was not able to find out about the success or otherwise of the payment. If the gateway subsequently finds out about the success of the payment it will update the response code.
UNSPECIFIED_FAILURE
Transaction could not be processed

transaction[n].response.gatewayRecommendation  Enumeration = CONDITIONAL

The recommendation may advise you that you:
  • can proceed as planned.
  • must not proceed. For example, because there is suspected fraud.
  • can take action to obtain a successful Authorization. For example, by authenticating the payer, or asking the payer for updated or new payment details.
  • must make a review decision.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHECK_TRANSACTION_STATUS_LATER
Check the status of the transaction later. This will be presented if the gateway is in the process of retrieving the response from the acquirer.
CONTACT_PAYMENT_PROVIDER
The status of transaction processing is unknown. Do not submit the same request again and do not attempt to process other transactions under the same agreement. Please contact your payment services provider to find out how to proceed with this payment.
DO_NOT_PROCEED
Do not proceed using this card. This will be presented if the gateway fails the request, but there is no apparent way for this transaction to succeed.
DO_NOT_PROCEED_ABANDON_ORDER
Do not submit the same request again. The payment service provider, scheme or issuer require you to abandon the order.
DO_NOT_PROCEED_CONTACT_PAYER
Do not submit the same request again and do not attempt to process other transactions under the same agreement. The issuer has indicated that the payer has cancelled the payment agreement. Contact the payer.
NO_ACTION
No action is required because the transaction was either successful or is in progress.
PROCEED
Proceed with the next step in processing this payment. If the Initiate Authentication response indicated that payer authentication is available, proceed with authenticating the payer using the Authenticate Payer operation. If the Authenticate Payer operation indicates that the payer is sufficiently authenticated, proceed with submitting an Authorize or Pay request. If the Authorization for the payment was successful proceed with capturing the funds and if applicable, ship the goods.
RESUBMIT_LATER
Resubmit the same request later. The acquirer or issuer has indicated that retrying the same transaction is allowed and may be successful. Some acquirers and networks provide additional information on when to retry. Please check the field 'authorizationResponse.merchantAdviceCode' for more details.
RESUBMIT_WITH_3DS
Attempt payer authentication and resubmit the request with the payer authentication details. Do not resubmit the same request.
RESUBMIT_WITH_ALTERNATIVE_PAYMENT_DETAILS
Ask the payer for alternative payment details (e.g. a new card or another payment method) and resubmit the request with the new details. Do not resubmit the same request.
RESUBMIT_WITH_PAYER_AUTHENTICATION
Attempt payer authentication and resubmit the request with the payer authentication details. Do not resubmit the same request.
RESUBMIT_WITH_PIN
Ask the payer for a valid PIN. There is no need for the payer to tap on the terminal again. Please submit a new transaction request, providing the valid PIN and the original transaction Id in the "transaction.targetTransactionID" field.
RESUBMIT_WITH_UPDATED_PAYMENT_DETAILS
Ask the payer for the updated payment details and resubmit the request with the updated details. The acquirer, scheme or issuer has indicated that the provided payment details have changed, for example, the expiry date of the card has changed. For a merchant-initiated transaction you may want to request account update information using the functionality provided by the gateway. Do not resubmit the same request.
REVIEW
You must review the transaction and risk assessment details and make a decision about how to proceed with the transaction.

transaction[n].response.onBehalfOfOperation  Enumeration = CONDITIONAL

For example, the gateway automatically submitted an update authorization request to the acquirer when the requested capture amount exceeded the outstanding authorized amount.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
UPDATE_AUTHORIZATION
Authorization Update

transaction[n].result  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FAILURE
The operation was declined or rejected by the gateway, acquirer or issuer
PENDING
The operation is currently in progress or pending processing
SUCCESS
The operation was successfully processed
UNKNOWN
The result of the operation is unknown

transaction[n].risk   = CONDITIONAL

Information relevant to risk assessment.
Fixed value

transaction[n].risk.custom  String = CONDITIONAL

This field is only relevant if you use a risk service provider, and you have agreed with them the values to provide (maximum 100 characters in a field name from the set A-Z, a-z, 0-9, maximum 4kB in length of values across all custom risk fields). An example might be:
Field: risk.custom.headOfficeLocation
Value: London UK
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000

transaction[n].risk.response   = CONDITIONAL

Fixed value

transaction[n].risk.response.gatewayCode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
Order accepted
NOT_CHECKED
Merchant risk rules were not checked and system rules did not reject the Order
REJECTED
Order rejected
REVIEW_REQUIRED
Order marked for review

transaction[n].risk.response.provider  String = CONDITIONAL

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

transaction[n].risk.response.reversalResult  Enumeration = CONDITIONAL

The gateway automatically reverses orders that are sent to the acquirer for processing but are rejected after review.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FAIL
The gateway failed to reverse the order.
NOT_APPLICABLE
The gateway did not attempt to reverse the order because reversal is not possible. For example, the acquirer does not support order reversals.
OKAY
The gateway successfully reversed the order.

transaction[n].risk.response.review   = CONDITIONAL

Details of the decision you made, or need to make, when the risk provider has asked to you review this order.
Fixed value

transaction[n].risk.response.review.decision  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPTED
The order has been released for processing
NOT_REQUIRED
No review required
PENDING
A decision to release/cancel the order is pending
REJECTED
The order has been cancelled and a reversal transaction was attempted

transaction[n].risk.response.review.decisionReason  String = CONDITIONAL

This field is set to "MANUAL_OVERRIDE" if you chose to override the risk provider's decision to reject the order.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].risk.response.review.note  String = CONDITIONAL

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

transaction[n].risk.response.review.timeOfDecision  DateTime = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].risk.response.review.userId  String = CONDITIONAL

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

transaction[n].risk.response.rule[n]   = CONDITIONAL

Details of the rules used by the risk provider to assess the risk of this order being fraudulent.
Fixed value

transaction[n].risk.response.rule[n].data  String = CONDITIONAL

For example, if a rule blocks BIN ranges, then BIN number is the data for the rule.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

transaction[n].risk.response.rule[n].id  String = CONDITIONAL

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

transaction[n].risk.response.rule[n].name  String = CONDITIONAL

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

transaction[n].risk.response.rule[n].recommendation  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
The result for the specific risk rule when performed against this order
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACCEPT
Based on this rule, the risk provider recommends proceeding with this order.
NO_ACTION
Based on this rule, the risk provider does not provide a recommendation to accept or reject this order.
OVERRIDE
Based on this rule, the recommendation made based on a different rule was overridden.
REJECT
Based on this rule, the risk provider recommends that this order is rejected.
REVIEW
Based on this rule, the risk provider recommends that you review this order.

transaction[n].risk.response.rule[n].score  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

transaction[n].risk.response.rule[n].type  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ERROR
The gateway was unable to connect to the external risk provider.
EXTERNAL_RULE
The risk rule has been defined in the external risk provider's system.
MERCHANT_RULE
The risk rule has been defined in the gateway by the Merchant.
MSO_RULE
The risk rule has been defined in the gateway by the MSO.

transaction[n].risk.response.totalScore  Integer = CONDITIONAL

The higher the score, the higher the fraud risk.
Existence
CONDITIONAL
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
9999999999999999

transaction[n].shipping   = CONDITIONAL

Shipping information for this order.
Fixed value

transaction[n].shipping.address   = CONDITIONAL

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

transaction[n].shipping.address.city  String = CONDITIONAL

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

transaction[n].shipping.address.company  String = CONDITIONAL

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

transaction[n].shipping.address.country  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].shipping.address.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

transaction[n].shipping.address.source  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
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.

transaction[n].shipping.address.stateProvince  String = CONDITIONAL

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

transaction[n].shipping.address.stateProvinceCode  String = CONDITIONAL

Providing this field might improve your payer experience for 3-D Secure payer authentication.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
3

transaction[n].shipping.address.street  String = CONDITIONAL

For example, this may be the street name and number, or the Post Office Box details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].shipping.address.street2  String = CONDITIONAL

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

transaction[n].shipping.address.sameAsBilling  Enumeration = CONDITIONAL

Provide this value if you are not providing the full shipping and billing addresses, but you can affirm that they are the same or different.

The default value for this field is:

SAME - if the shipping and billing address are supplied, and all fields are the same (ignoring non-alphanumerics).
DIFFERENT - if the shipping and billing address are supplied, and at least one field is different (ignoring non-alphanumerics).
UNKNOWN - either shipping address or billing address is absent.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DIFFERENT
The shipping and billing addresses are different.
SAME
The shipping and billing addresses are the same.
UNKNOWN
It is not known if the shipping and billing addresses are the same.

transaction[n].shipping.contact   = CONDITIONAL

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

transaction[n].shipping.contact.email  Email = CONDITIONAL

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

transaction[n].shipping.contact.firstName  String = CONDITIONAL

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

transaction[n].shipping.contact.lastName  String = CONDITIONAL

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

transaction[n].shipping.contact.mobilePhone  Telephone Number = CONDITIONAL

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

transaction[n].shipping.contact.phone  Telephone Number = CONDITIONAL

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

transaction[n].shipping.contact.sameAsBilling  Enumeration = CONDITIONAL

Provide this value if you are not providing the full name or cardholder name, but you can affirm that they are the same or different.

Default value is UNKNOWN
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DIFFERENT
The shipping and billing addresses are different.
SAME
The shipping and billing addresses are the same.
UNKNOWN
It is not known if the shipping and billing addresses are the same.

transaction[n].shipping.method  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
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[n].shipping.origin.postcodeZip  Alphanumeric + additional characters = CONDITIONAL

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

transaction[n].sourceOfFunds   = CONDITIONAL

Depending on the payment type the source of the funds can be a debit or credit card, bank account, or account with a browser payment provider (such as PayPal).

For card payments the source of funds information may be represented by combining one or more of the following: explicitly provided card details, a session identifier which the gateway will use to look up the card details and/or a card token. Precedence rules will be applied in that explicitly provided card details will override session card details which will override card token details. Each of these may represent partial card details, however the combination must result in a full and complete set of card details. See Using Multiple Sources of Card Details for examples.
Fixed value

transaction[n].sourceOfFunds.provided   = CONDITIONAL

For browser payments, the source of funds details are usually collected from the payer on the payment provider's website and provided to you when you retrieve the transaction details (for a successful transaction). However, for some payment types (such as giropay), you must collect the information from the payer and supply it here.
Fixed value

transaction[n].sourceOfFunds.provided.ach   = CONDITIONAL

For ACH payments, the details about the payers bank account used for the payment as well as the type of ACH payment are provided in this parameter group.
Fixed value

transaction[n].sourceOfFunds.provided.ach.accountType  Enumeration = CONDITIONAL

  • Consumer (checking or savings), or
  • Business

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

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

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

transaction[n].sourceOfFunds.provided.ach.bankAccountHolder  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.ach.bankAccountNumber  Alphanumeric + additional characters = CONDITIONAL

Retrieve this information from the payer.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-', '/'
JSON type
String
minimum length
1
maximum length
17

transaction[n].sourceOfFunds.provided.ach.routingNumber  Digits = CONDITIONAL

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

Retrieve this information from the payer.

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

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

transaction[n].sourceOfFunds.provided.ach.secCode  Enumeration = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.bancontact   = CONDITIONAL

Additional details related to a Bancontact payment.
Fixed value

transaction[n].sourceOfFunds.provided.bancontact.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.blik   = CONDITIONAL

Additional details related to a BLIK browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.blik.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.boletoBancario   = CONDITIONAL

When processing a Boleto Bancario payment you must also provide the payer's national identifier (customer.nationalId), your reference to the payer (customer.id) and the payer's date of birth (customer.dateOfBirth)
Fixed value

transaction[n].sourceOfFunds.provided.boletoBancario.actionType  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
WRITE_OFF
Write off the Boleto.

transaction[n].sourceOfFunds.provided.boletoBancario.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.boletoBancario.customerType  Enumeration = CONDITIONAL

If the value is not provided it will be defaulted to INDIVIDUAL.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
COMPANY
Customer is an organization.
INDIVIDUAL
Customer is an individual.

transaction[n].sourceOfFunds.provided.boletoBancario.daysBeforeAction  Digits = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.boletoBancario.dueDate  Date = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.boletoBancario.slipUrl  Url = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

transaction[n].sourceOfFunds.provided.card   = CONDITIONAL

Use this parameter group when you have sourced payment details using:
Cards: the card details entered directly or collected using a Point of Sale (POS) terminal.
Device payment methods such as Apple Pay, Android Pay, Samsung Pay or Google Pay.
Digital wallets such as Masterpass, Visa Checkout or Amex Express Checkout.
Card scheme tokens where the card was tokenized using a card scheme tokenization service such as Mastercard Digital Enablement Service (MDES).
Alternative IDs provided by the schemes, such as Alt-Id for Guest Checkout payments in India using American Express, Rupay cards issued in India.
Fixed value

transaction[n].sourceOfFunds.provided.card.accountType  Enumeration = CONDITIONAL

If you do not provide a value, we will use the acquirer's default. You can use paymentTypes.card.cardTypes in the 'Retrieve Payment Options' operation response to determine the card type.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHECKING
SAVINGS

transaction[n].sourceOfFunds.provided.card.brand  Enumeration = Always Provided

For many major card types this will match the scheme name. In some markets, a card may also be co-branded with a local brand that is recognized and accepted within its country/region of origin (see card.localBrand).
You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX
American Express
CHINA_UNIONPAY
China UnionPay
DINERS_CLUB
Diners Club
DISCOVER
Discover
JCB
JCB (Japan Credit Bureau)
LOCAL_BRAND_ONLY
The card does not have a global brand.
MAESTRO
Maestro
MASTERCARD
MasterCard
RUPAY
RuPay
UATP
UATP (Universal Air Travel Plan)
UNKNOWN
The brand of the card used in the transaction could not be identified
VISA
Visa

transaction[n].sourceOfFunds.provided.card.cardType  String = CONDITIONAL

For a co-branded card, the PAYMENT_OPTIONS_INQUIRY response contains both brands in field paymentTypes.card.cardTypes[n] (when the request contains field sourceOfFunds.provided.card.prefix).

  • • You will receive paymentTypes.card.interactionConstraints=CARD_TYPE_SELECTION in the PAYMENT_OPTIONS_INQUIRY response if the card type selection is mandatory. In this case, you must let the payer select the card type and provide this field in the request.
  • • You will receive paymentTypes.card.capabilities[n].capability=CARD_TYPE_SELECTION in the PAYMENT_OPTIONS_INQUIRY response if the card type selection is optional. In this case, you may let the payer select the card type or make the selection yourself and provide this field in the request. If not provided, the gateway will make the selection based on your configuration and the card type.
  • • If the PAYMENT_OPTIONS_INQUIRY response contains neither of the above fields, the gateway determines the card type and requests that contain this field will be rejected by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
50

transaction[n].sourceOfFunds.provided.card.devicePayment   = CONDITIONAL

You can either just present the device's payment token in the paymentToken subfield, or decrypt the payment token yourself and pass the components in the 3dSecure subfields.
Fixed value

transaction[n].sourceOfFunds.provided.card.devicePayment.cryptogramFormat  Enumeration = CONDITIONAL

You must provide the cryptogram format when you decrypt the payment token and provide the payment details (including the online payment cryptogram) in the transaction request.

You do not need to provide the cryptogram format if you provide the payment token in sourceOfFunds.provided.card.devicePayment.paymentToken
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
3DSECURE
The payment data keys for the online payment cryptogram are provided using the 3-D Secure format.
EMV
The payment data keys for the online payment cryptogram are provided using the EMV format.

transaction[n].sourceOfFunds.provided.card.deviceSpecificExpiry   = CONDITIONAL

The associated account number is returned in sourceOfFunds.provided.card.deviceSpecificNumber. This field is returned for:
  • • Device payments: the expiry date for the Device Primary Account Number (DPAN).
  • • Digital wallets: the expiry date for the Token PAN.
  • • Card scheme tokens: the expiry date for the Token PAN.
Fixed value

transaction[n].sourceOfFunds.provided.card.deviceSpecificExpiry.month  Digits = Always Provided

Months are numbered January=1, through to December=12.
Existence
Always Provided
Fixed value
Validation Rules
Data is a number between 1 and 12 represented as a string.
JSON type
String

transaction[n].sourceOfFunds.provided.card.deviceSpecificExpiry.year  Digits = Always Provided

The Common Era year is 2000 plus this value.
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
2
maximum length
2

transaction[n].sourceOfFunds.provided.card.deviceSpecificNumber  Masked digits = Always Provided

Use this field for:
  • • Device payments: the payers's account number associated with the mobile device used for the payment. This is also known as the Device Primary Account Number (DPAN).
  • • Digital wallets: the Token PAN returned by a digital wallet. The gateway only returns this value for Amex Express Checkout.
  • • Card scheme tokens: the token generated by a card scheme tokenization service such as Mastercard Digital Enablement Service (MDES). The token is used as an identifier of the payer's Primary Account Number (PAN) securely stored by the service. For MDES, this token is referred to as the Token PAN. For VTS, this is the Token
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
9
maximum length
19

transaction[n].sourceOfFunds.provided.card.emvRequest  String = CONDITIONAL

It contains selected EMV fields as provided by the terminal.

For the list of field tags to include (if provided by the terminal), see Card Present Payments. Requests with any other tags are rejected by the gateway.

Some of the tags represent data that can occur on explicit fields in this API. You can submit the value either in this field, or in both places. For example, the PAN can be presented as EMV tag 5A in this field, or included both the sourceOfFunds.provided.card.number API field and in EMV tag 5A in this field.

If you specify the EMV tag only, we can populate the explicit field in the API. Fields where this is supported have the text "This field corresponds to EMV tag <tag name>" in their field descriptions.

If you specify both places, there will be no population of the explicit field or validation that the data matches.

The API response will not contain PCI sensitive fields.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250

transaction[n].sourceOfFunds.provided.card.emvResponse  String = CONDITIONAL

It contains the EMV fields returned from the issuer in response to an authorization request for the chip transaction when the transaction was sent online.

The card/terminal uses data returned from the issuer to make the final decision to accept or decline the transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
250

transaction[n].sourceOfFunds.provided.card.encryption  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
DEVICE
Encrypted by a payer's device (such as a mobile phone).
DIGITAL_WALLET
Encrypted by a payer's digital wallet.
DUKPT
Encrypted by a payment terminal using Derived Unique Key Per Transaction (DUKPT).

transaction[n].sourceOfFunds.provided.card.expiry   = CONDITIONAL

This field corresponds to EMV tag 5F24
Fixed value

transaction[n].sourceOfFunds.provided.card.expiry.month  Digits = Always Provided

Months are numbered January=1, through to December=12.
Existence
Always Provided
Fixed value
Validation Rules
Data is a number between 1 and 12 represented as a string.
JSON type
String

transaction[n].sourceOfFunds.provided.card.expiry.year  Digits = Always Provided

The Common Era year is 2000 plus this value.
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
2
maximum length
2

transaction[n].sourceOfFunds.provided.card.fundingMethod  Enumeration = Always Provided

You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHARGE
The payer has a line of credit with the issuer which must be paid off monthly.
CREDIT
The payer has a revolving line of credit with the issuer.
DEBIT
Funds are immediately debited from the payer's account with the issuer.
UNKNOWN
The account funding method could not be determined.

transaction[n].sourceOfFunds.provided.card.issuer  String = CONDITIONAL

WARNING: This information may be incorrect or incomplete – use at your own risk.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
255

transaction[n].sourceOfFunds.provided.card.localBrand  String = CONDITIONAL

The card may also be co-branded with a brand name that is recognized and accepted globally (see card.brand).
You may use this information to support surcharging decisions. This information is gathered from 3rd party sources and may not be accurate in all circumstances.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
50

transaction[n].sourceOfFunds.provided.card.nameOnCard  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.card.number  Masked digits = Always Provided

On requests, provide the number in the form that you receive it (as explained below). On responses, the gateway populates it with a form that the payer would recognize (also explained in more detail below).

  • Request

    On request, populate this field based on the payment method you are using for the payment:
    • • Card: the account number embossed onto the card. This field corresponds to EMV tag 5A.
    • • Device payment methods such as Apple Pay, Android Pay, Samsung Pay, or Google Pay. Normally for device payments, you would populate sourceOfFunds.provided.card.devicePayment.paymentToken and the gateway will decrypt and extract this field. However, you can populate this field if you decrypt the payment token yourself. In this case use the Device PAN (DPAN) provided in the payment token.
    • • Digital wallets such as Masterpass, Visa Checkout or Amex Express Checkout. In this case, provide the PAN retrieved from the wallet.
    • • Scheme tokens such as MDES (Mastercard Digital Enablement Service) or Visa Token Service (VTS). For MDES tokens, supply the value called the "Token PAN". For VTS tokens, supply the value called "Token"
    • • Alternative IDs provided by the schemes. For Guest Checkout payments in India using American Express, Rupay cards, provide the "Alt-Id".
  • Response

    On return, the card number will be populated in 6.4 masking format, for example, 000000xxxxxx0000. If you wish to return unmasked card numbers, you must have the requisite permission, set responseControls.sensitiveData field to UNMASK, and authenticate your call to the API using certificate authentication.

    When a DPAN or scheme token was provided in the transaction request, then this field will represent the PAN of the associated payer's account (when supported by the acquirer). This is also referred to as the Funding PAN (FPAN).
Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
9
maximum length
19

transaction[n].sourceOfFunds.provided.card.paymentAccountReference  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.card.pin   = CONDITIONAL

Provide this data in the case where you want the PIN verified online by the issuer. The gateway can support PINs encoded in ISO 9564-1 formats 0, 1, 3 and 4, but the supported format will depend on integration.
Fixed value

transaction[n].sourceOfFunds.provided.card.pin.encryptionState  Enumeration = CONDITIONAL

INVALID means the terminal detected some form of error in the encryption process. The gateway will decline transactions with INVALID encryption state. This field may be omitted when the value is VALID.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID
The encryption state is invalid.
VALID
The encryption state is valid.

transaction[n].sourceOfFunds.provided.card.pin.keySerialNumber  Hex = Always Provided

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

transaction[n].sourceOfFunds.provided.card.scheme  Enumeration = Always Provided

The card scheme also controls authorization and settlement of card transactions among issuers and acquirers.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX
American Express
CHINA_UNIONPAY
China UnionPay
DINERS_CLUB
Diners Club
DISCOVER
Discover
JCB
JCB (Japan Credit Bureau)
MASTERCARD
MasterCard
OTHER
The scheme of the card used in the transaction could not be identified.
RUPAY
RuPay
UATP
UATP (Universal Air Travel Plan)
VISA
Visa

transaction[n].sourceOfFunds.provided.card.sequenceNumber  Digits = CONDITIONAL

This field corresponds to EMV tag 5F34
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.card.storedOnFile  Enumeration = CONDITIONAL

Refer to Credential on File, Cardholder and Merchant-initiated Transactions for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
NOT_STORED
Set this value if you are not storing the card details provided by the payer for this transaction. The gateway sets this value by default, if you are submitting a payer-initiated transaction. You must not use this value when submitting merchant-initiated transactions.
STORED
Set this value if you have previously stored the card details provided by the payer and are now using these stored details. The gateway sets this value by default, if you are submitting a merchant-initiated transaction.
TO_BE_STORED
Set this value if this is the first transaction using these card details and you intend to store the card details if the transaction is successful.

transaction[n].sourceOfFunds.provided.card.tags  String = CONDITIONAL

For example, identifying if it is an EBT (Electronic Benefits Transfer) or Health Benefit Card. You can use this information to support your decisions about accepting payments with this card. The data is encoded in JSON as an object map indexed on the tag name. Some standard tag names are EBT and HEALTH_BENEFIT_CARD_IIAS. If these tags apply to the card, the tag will have value true, otherwise it will be absent. Other tag names with other values might also exist, depending on which acquirer processed the transaction. For example, an EBT card might return value: {"ACME_CARD_IDENTIFIER":"23", "EBT":true} Contact your payment provider if you wish to understand all tags available for your acquirers.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
2048

transaction[n].sourceOfFunds.provided.card.trackDataProvided  Boolean = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.directDebitCanada   = CONDITIONAL

For Direct Debit payments in Canada you must provide the payer's bank account details in this parameter group.
Fixed value

transaction[n].sourceOfFunds.provided.directDebitCanada.accountType  Enumeration = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.directDebitCanada.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.directDebitCanada.bankAccountNumber  Alphanumeric + additional characters = Always Provided

The bank account number will be returned in a masked format, for example, xxxxxxxxxxxxx123.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-', '/'
JSON type
String
minimum length
7
maximum length
12

transaction[n].sourceOfFunds.provided.directDebitCanada.financialInstitutionNumber  Digits = Always Provided

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

transaction[n].sourceOfFunds.provided.directDebitCanada.transitNumber  Digits = Always Provided

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

transaction[n].sourceOfFunds.provided.ebt   = CONDITIONAL

If the payer chose to pay using a Electronic Benefits Transfer card, you must submit sourceOfFunds.type=EBT_CARD and provide the payer's card details in this parameter group.
Fixed value

transaction[n].sourceOfFunds.provided.ebt.accountType  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CASH_BENEFITS
Benefits provided as cash.
EWIC_BENEFITS
Benefits provided under the Special Supplemental Nutrition Program for Women, Infants, and Children.
SNAP_BENEFITS
Benefits provided under the Supplemental Nutrition Assistance Program.

transaction[n].sourceOfFunds.provided.ebt.manualAuthorizationCode  Digits = CONDITIONAL

For example, your point of sale (POS) machine is not working. When you manually authorize a payment you also need to provided the voucher number used to record the payment in sourceOfFunds.provided.EBT.voucherNumber.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
6

transaction[n].sourceOfFunds.provided.ebt.merchantFns  Digits = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.ebt.voucherNumber  Digits = CONDITIONAL

For example, your point of sale (POS) machine is not working. When you use a voucher you also need to provide an authorization code in sourceOfFunds.provided.benefits.ebt.manualAuthorizationCode.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
1
maximum length
15

transaction[n].sourceOfFunds.provided.enets   = CONDITIONAL

Note: if you provide data for an eNETS payment, then you must also provide an email address for the customer in customer.email and a phone number for the customer in either customer.phone or customer.mobilePhone
Fixed value

transaction[n].sourceOfFunds.provided.enets.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.epsUeberweisung   = CONDITIONAL

Additional details related to a eps-Überweisung browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.epsUeberweisung.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.epsUeberweisung.bankAccountHolder  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.giftCard   = CONDITIONAL

The payer's gift card details are provided in this parameter group.
Fixed value

transaction[n].sourceOfFunds.provided.giftCard.brand  Enumeration = Always Provided

For many major card types this will match the scheme name.
Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
LOCAL_BRAND_ONLY
The card does not have a global brand.

transaction[n].sourceOfFunds.provided.giftCard.localBrand  String = Always Provided

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

transaction[n].sourceOfFunds.provided.giftCard.number  Masked digits = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
9
maximum length
19

transaction[n].sourceOfFunds.provided.giftCard.pin  Masked digits = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9, plus 'x' for masking
JSON type
String
minimum length
4
maximum length
8

transaction[n].sourceOfFunds.provided.giftCard.scheme  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
OTHER
The scheme of the card used in the transaction could not be identified.

transaction[n].sourceOfFunds.provided.giropay   = CONDITIONAL

The additional details required to initiate a giropay browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.giropay.bankIdentifier  Digits = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.giropay.bic  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
11

transaction[n].sourceOfFunds.provided.giropay.iban  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].sourceOfFunds.provided.grabPay   = CONDITIONAL

Additional details related to GrabPay browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.grabPay.accountHolder  String = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
100

transaction[n].sourceOfFunds.provided.ideal   = CONDITIONAL

Information about the payer's iDEAL account provided to you when the payer successfully makes a payment.
Fixed value

transaction[n].sourceOfFunds.provided.ideal.bankAccountHolder  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.ideal.bic  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
11

transaction[n].sourceOfFunds.provided.ideal.iban  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].sourceOfFunds.provided.klarnaPayLater   = CONDITIONAL

Additional details related to a Klarna Pay Later payment.
Fixed value

transaction[n].sourceOfFunds.provided.klarnaPayLater.bankAccountCountryCode  Upper case alphabetic text = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.klarnaPayNow   = CONDITIONAL

Additional details related to a Klarna Pay Now payment.
Fixed value

transaction[n].sourceOfFunds.provided.klarnaPayNow.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.multibanco   = CONDITIONAL

Additional details related to a Multibanco browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.multibanco.entityId  Digits = CONDITIONAL

To complete the payment to you, the payer will need to provide the entity identifier and the payment reference number (sourceOfFunds.provided.multibanco.paymentReference) to their bank using either online banking or from an ATM.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
5
maximum length
5

transaction[n].sourceOfFunds.provided.multibanco.paymentReference  Digits = CONDITIONAL

To complete the payment to you, the payer will need to provide the payment reference number and the entity ID (sourceOfFunds.provided.multibanco.entityId) to their bank using either online banking or from an ATM.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
9
maximum length
9

transaction[n].sourceOfFunds.provided.multibanco.terminalId  String = CONDITIONAL

This is only returned for successful payments.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].sourceOfFunds.provided.multibanco.terminalLocation  String = CONDITIONAL

This is only returned for successful payments.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].sourceOfFunds.provided.openBankingBankTransfer   = CONDITIONAL

Additional details related to Open Banking Bank Transfer.
Fixed value

transaction[n].sourceOfFunds.provided.openBankingBankTransfer.aspspId  String = Always Provided

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

transaction[n].sourceOfFunds.provided.oxxo   = CONDITIONAL

When processing an OXXO payment you must also provide the payer's national identifier (customer.nationalId), your reference to the payer (customer.id) and the payer's date of birth (customer.dateOfBirth).
Fixed value

transaction[n].sourceOfFunds.provided.oxxo.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.oxxo.dueDate  Date = CONDITIONAL

Do not provide a due date for USD currency transactions.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].sourceOfFunds.provided.payU   = CONDITIONAL

Additional details related to a PayU browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.payU.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.payU.bankAccountHolder  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.payconiq   = CONDITIONAL

Additional details related to a Payconiq payment.
Fixed value

transaction[n].sourceOfFunds.provided.payconiq.countryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.paypal   = CONDITIONAL

It is provided to you when the payer successfully makes a payment using PayPal or when you have established a billing agreement with the payer.
Fixed value

transaction[n].sourceOfFunds.provided.paypal.accountEmail  Email = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.paypal.accountHolder  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.paypal.billingAgreement   = CONDITIONAL

Details about the agreement you have established with the payer that allows you to bill the payer's PayPal account for goods or services.
Fixed value

transaction[n].sourceOfFunds.provided.paypal.billingAgreement.cardinality  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MULTIPLE
Indicates that you have multiple billing agreements with this payer. This means that a new agreement ID will be returned in response to each request.
SINGLE
Indicates that you have a single billing agreement with this payer. This means that the same agreement ID will be returned in response to each request.

transaction[n].sourceOfFunds.provided.paypal.billingAgreement.description  String = CONDITIONAL

This description is displayed to the payer when they are asked to approve the billing agreement.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
255

transaction[n].sourceOfFunds.provided.paypal.billingAgreement.id  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.paypal.billingAgreement.name  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.paypal.payerId  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.paysafecard   = CONDITIONAL

Additional details related to a paysafecard browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.paysafecard.accountEmail  Email = Always Provided

Existence
Always Provided
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

transaction[n].sourceOfFunds.provided.paysafecard.countryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.pbba   = CONDITIONAL

Additional details related to Pay by Bank app payment.
Fixed value

transaction[n].sourceOfFunds.provided.pbba.paymentRequestId  Digits = CONDITIONAL

This identifier should be used when invoking the banking app within the payer’s mobile.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
18
maximum length
18

transaction[n].sourceOfFunds.provided.pbba.paymentRequestInputCode  Upper case alphabetic text = CONDITIONAL

This code may be used by the payer to confirm the payment within their mobile banking app.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
6
maximum length
6

transaction[n].sourceOfFunds.provided.poli   = CONDITIONAL

Additional details related to a POLi browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.poli.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.przelewy24   = CONDITIONAL

Additional details related to a Przelewy24 browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.przelewy24.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.sepa   = CONDITIONAL

Details about the payer's bank account used for a payment made using SEPA
Fixed value

transaction[n].sourceOfFunds.provided.sepa.bankAccountHolder  String = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
3
maximum length
100

transaction[n].sourceOfFunds.provided.sepa.bic  Alphanumeric = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
8
maximum length
11

transaction[n].sourceOfFunds.provided.sepa.iban  String = Always Provided

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].sourceOfFunds.provided.sofort   = CONDITIONAL

Additional details related to a Sofort (Klarna) payment.
Fixed value

transaction[n].sourceOfFunds.provided.sofort.bankAccountCountryCode  Upper case alphabetic text = CONDITIONAL

Provide the ISO 3166 alpha-3 country code for this country.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.sofort.bankAccountHolder  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.sofort.bankAccountNumber  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30

transaction[n].sourceOfFunds.provided.sofort.bankIdentifier  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.sofort.bic  String = CONDITIONAL

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

transaction[n].sourceOfFunds.provided.sofort.iban  String = CONDITIONAL

By default, the bank account number will be returned in a masked format, for example, xxxxxx0000. If you wish to return unmasked bank account numbers, you must have the requisite permission, set responseControls.sensitiveData, and authenticate your call to the API using certificate authentication. Contact your payment service provider for further information.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].sourceOfFunds.provided.trustly   = CONDITIONAL

Additional details related to a Trustly.
Fixed value

transaction[n].sourceOfFunds.provided.trustly.bankAccountCountryCode  Alpha = Always Provided

Provide the ISO 3166 alpha-3 country code for this country.
Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters a-z, A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].sourceOfFunds.provided.trustly.bankAccountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.provided.weChatPay   = CONDITIONAL

Additional details related to a WeChat Pay browser payment.
Fixed value

transaction[n].sourceOfFunds.provided.weChatPay.accountHolder  String = Always Provided

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

transaction[n].sourceOfFunds.token  Alphanumeric = CONDITIONAL

The account identifier details stored against this token will be used to process the request.
If account identifier details are also contained in the request, or the request contains a session with account identifier details, these take precedence over the details stored against the token.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
1
maximum length
40

transaction[n].sourceOfFunds.tokenRequestorID  Alphanumeric = CONDITIONAL

This field is mandatory for payments where the Chase Pay wallet was used.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z
JSON type
String
minimum length
11
maximum length
11

transaction[n].sourceOfFunds.type  Enumeration = CONDITIONAL

If you are passing card data (in any form) on the API, then you need to set this value, and also provide the card details in the sourceOfFunds.provided.card group. In the case of digital wallets or device payment methods, you must also populate the order.walletProvider field.

If you are making a payment with a gateway token, then you can leave this field unset, and only populate the sourceOfFunds.token field. However you can set this to CARD if you want to overwrite or augment the token data with a card security code, expiry date, or cardholder name.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACH
The payer chose to pay using an electronic fund transfer, to be processed via the Automated Clearing House (ACH) Network. You must provide the payer's bank account details and information about the type of ACH payment under the sourceOfFunds.provided.ach parameter group.
ALIPAY
The payer selected the payment method Alipay.
BANCANET
The payer selected the payment method BancaNet Directo.
BANCONTACT
The payer selected the payment method Bancontact.
BLIK
The payer selected the payment method BLIK.
BOLETO_BANCARIO
The payer selected the payment method Boleto Bancario.
BROWSER_PAYMENT
The payer selected to pay using a browser payment. Refer to the sourceOfFunds.browserPayment parameter group for additional details.
CARD
Use this value for payments that obtained the card details either directly from the card, or from a POS terminal, or from a wallet, or through a device payment method.
DIRECT_DEBIT_CANADA
The payer chose to pay using Direct Debit in Canada, also known as pre-authorized bank debits (PADs). You must provide the payer's bank account details in the sourceOfFunds.provided.directDebitCanada parameter group.
EBT_CARD
Use this value for Electronic Benefits Transfer (EBT) card payments. The additional EBT data must also be provided in the sourceOfFunds.provided.ebt parameter group.
ENETS
The payer selected the payment method eNETS.
EPS_UEBERWEISUNG
The payer selected the payment method eps-Überweisung.
GIFT_CARD
The payer chose to pay using a gift card. The payer's gift card details must be provided under the sourceOfFunds.provided.giftCard parameter group.
GIROPAY
The payer selected the payment method giropay.
GRABPAY
The payer selected the payment method GrabPay.
IDEAL
The payer selected the payment method iDEAL.
KLARNA_FINANCING
The payer selected the payment method Klarna financing.
KLARNA_PAY_LATER
The payer selected the payment method Klarna Pay Later.
KLARNA_PAY_NOW
The payer selected the payment method Klarna Pay Now.
MERCADO_PAGO_CHECKOUT
The payer selected the payment method Mercado Pago Checkout.
MULTIBANCO
The payer selected the payment method Multibanco.
NONE
The transaction transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from your payment service provider.
OPEN_BANKING_BANK_TRANSFER
The payer selected the payment method Open Banking Bank Transfer.
OXXO
The payer selected the payment method OXXO.
PAYCONIQ
The payer selected the payment method payconiq.
PAYPAL
The payer selected the payment method PayPal.
PAYSAFECARD
The payer selected the payment method paysafecard.
PAYU
The payer selected the payment method PayU.
PBBA
The payer selected the payment method Pay by Bank app
POLI
The payer selected the payment method POLi.
PRZELEWY24
The payer selected the payment method Przelewy24.
SCHEME_TOKEN
Use this value for payments using scheme tokens provided by Mastercard Digital Enablement Service (MDES), or Visa Token Service (VTS), or American Express Token Service (AETS).
SEPA
The payer selected the payment method SEPA.
SOFORT
The payer selected the payment method Sofortbanking.
TRUSTLY
The payer selected the payment method Trustly.
UNION_PAY
The payer selected the payment method UnionPay.
WECHAT_PAY
The payer selected the payment method WeChatPay.

transaction[n].subgatewayMerchant   = CONDITIONAL

This group only applies if you:

  • operate a gateway, and
  • you are not boarding your merchants onto the gateway, and
  • you are enabled for this capability on the gateway.

If you are such a gateway, use these fields to provide information about your merchant, so that our gateway can process their transaction on your behalf.

Note: In these cases, you must also provide a value for field order.merchantCategoryCode

Fixed value

transaction[n].subgatewayMerchant.acquirer[n]   = Always Provided

A merchant might have one or more acquirers.

Each record in this group applies to one acquirer. If your gateway knows exactly which acquirer will use for this transaction, then you can provide just that acquirer's data. Alternatively, you can specify a set of acquirers, in which case the gateway will select between them based on the routing rules that configured in our gateway.

In this group, the term 'acquirer' includes banks acquiring scheme cards (such as MasterCard,or Visa), and alternative providers (such as UnionPay, or SEPA)
Fixed value

transaction[n].subgatewayMerchant.acquirer[n].3DS1   = CONDITIONAL

Information about the merchant's registration to use 3-D Secure authentication version 1 for this acquirer.
Fixed value

transaction[n].subgatewayMerchant.acquirer[n].3DS1.mastercardSecureCode   = CONDITIONAL

Information about the merchant's registration to use Mastercard SecureCode 3-D Secure authentication version 1 for this acquirer.
Fixed value

transaction[n].subgatewayMerchant.acquirer[n].3DS1.mastercardSecureCode.merchantId  String = CONDITIONAL

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

transaction[n].subgatewayMerchant.acquirer[n].3DS1.verifiedByVisa   = CONDITIONAL

Information about the merchant's registration to use Verified by Visa 3-D Secure authentication version 1 for this acquirer.
Fixed value

transaction[n].subgatewayMerchant.acquirer[n].3DS1.verifiedByVisa.cardAcceptorId  String = CONDITIONAL

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

transaction[n].subgatewayMerchant.acquirer[n].3DS1.verifiedByVisa.cardAcceptorTerminalId  String = CONDITIONAL

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

transaction[n].subgatewayMerchant.acquirer[n].acquirerMerchantId  String = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
40

transaction[n].subgatewayMerchant.acquirer[n].amexSafeKey   = CONDITIONAL

Information about the merchant's registration to use American Express SafeKey 3-D Secure authentication for this acquirer.
Fixed value

transaction[n].subgatewayMerchant.acquirer[n].amexSafeKey.merchantId  Regex = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must match regex
JSON type
String
regex
\d{10}|\d{10};\w{10,20}
message
First 10 characters must be all numeric. If length is longer than 10, then 11th character must be a semi colon (;). There must be at least 10 characters following the semi colon. Minimum length 10 Maximum length 31

transaction[n].subgatewayMerchant.acquirer[n].countryCode  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].subgatewayMerchant.acquirer[n].fraudRate  Integer = CONDITIONAL

Existence
CONDITIONAL
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
99999

transaction[n].subgatewayMerchant.acquirer[n].id  String = Always Provided

Your payment service provider will supply the acquirer names that apply to you.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
0
maximum length
40

transaction[n].subgatewayMerchant.acquirer[n].merchantCategoryCode  Digits = CONDITIONAL

This is also known as the Merchant Category Code (MCC).
You only need to provide this value if you are specifying more than one acquirer link, and some acquirers need different MCC values. If the same MCC applies to all acquirers, just specify it as order.merchantCategoryCode.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
4

transaction[n].subgatewayMerchant.address   = CONDITIONAL

The address of this merchant.
Fixed value

transaction[n].subgatewayMerchant.address.city  String = Always Provided

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

transaction[n].subgatewayMerchant.address.countryCode  Upper case alphabetic text = Always Provided

The value must be a three-letter country code according to ISO 3166-1 alpha-3.
Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].subgatewayMerchant.address.postcodeZip  String = Always Provided

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

transaction[n].subgatewayMerchant.address.stateProvince  String = Always Provided

For merchants in the United States provide the 2-letter ISO 3166-2 state code. For US military bases provide one of AE, AA, AP.

For Canadian merchants provide the 2-letter ISO 3166-2 province code.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
30

transaction[n].subgatewayMerchant.address.street1  String = Always Provided

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

transaction[n].subgatewayMerchant.address.street2  String = CONDITIONAL

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

transaction[n].subgatewayMerchant.authentication[n]   = CONDITIONAL

For example, using 3-D Secure authentication.
Fixed value

transaction[n].subgatewayMerchant.authentication[n].3DS2   = CONDITIONAL

These details are used to identify the merchant to the card schemes directory server.

This API assumes that a merchant has only one registration for a each 3DS2 scheme across all the acquirers. If your merchant has more than one 3DS2 registration that could apply to this transaction, then you need to provide a lineOfBusiness field to narrow to one registration.

Fixed value

transaction[n].subgatewayMerchant.authentication[n].3DS2.requestorId  String = CONDITIONAL

Do not provide this value for Mastercard SecureCode, JCB JSecure, Discover ProtectBuy or Verified by Visa, For these authentication schemes, it will be generated by the gateway. For American Express if it is provided it will be used otherwise it will be generated by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
35

transaction[n].subgatewayMerchant.authentication[n].3DS2.requestorName  String = CONDITIONAL

Do not provide this value for Mastercard SecureCode, JCB JSecure, Discover ProtectBuy or Verified by Visa, For these authentication schemes, it will be generated by the gateway. For American Express if it is provided it will be used otherwise it will be generated by the gateway.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].subgatewayMerchant.authentication[n].acquirerBIN  Digits = CONDITIONAL

This is used to identify the acquirer in messages to the scheme's Directory Server for 3-D Secure authentication version 2 transactions
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9.
JSON type
String
minimum length
4
maximum length
11

transaction[n].subgatewayMerchant.authentication[n].protocol  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX_SAFEKEY
American Express SafeKey EMV 3DS authentication
DINERS_PROTECTBUY
Diners ProtectBuy EMV 3DS authentication
FASTR_BY_CB
Carte Bancaire FAST'R by CB using EMV 3DS authentication
JCB_JSECURE
JCB J/Secure using EMV 3DS authentication
MASTERCARD_SECURECODE
Mastercard SecureCode EMV 3DS authentication
RUPAY
VERIFIED_BY_VISA
Visa Verified by Visa EMV 3DS authentication

transaction[n].subgatewayMerchant.id  Alphanumeric + additional characters = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data may consist of the characters 0-9, a-z, A-Z, '_', '-'
JSON type
String
minimum length
1
maximum length
36

transaction[n].subgatewayMerchant.name  String = Always Provided

This must match the merchant name you provided during registration with scheme Directory Servers.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].subgatewayMerchant.websiteUrl  Url = Always Provided

You must provide a value if you want the gateway to perform 3-D Secure authentication of the payer.
Existence
Always Provided
Fixed value
Validation Rules
Ensure that this is a valid URL according to RFC 1738.
JSON type
String

transaction[n].timeOfLastUpdate  DateTime = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].timeOfRecord  DateTime = CONDITIONAL

The gateway uses timeOfRecord as a point-in-time value for operations such as sorting, billing, and reporting.
Existence
CONDITIONAL
Fixed value
Validation Rules
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
JSON type
String

transaction[n].transaction   = Always Provided

Information about this transaction.
Fixed value

transaction[n].transaction.acquirer   = Always Provided

Fixed value

transaction[n].transaction.acquirer.additionalResponseData  JSON Text = CONDITIONAL

It might provide additional information that may help you understand unexpected results or provide acquirer-specific response data. For example, it could provide information about the results of validation of data by the issuer or card scheme of data you provided for card present transactions. The data is provided as as series of name-value pairs where the name is the acquirer field and the value is exactly as provided by the acquirer. For example, {"48.74.1":3, "48.74.2:5":48, "48.80":67}
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is JSON Text
JSON type
String
minimum length
1
maximum length
4000

transaction[n].transaction.acquirer.batch  Integer = CONDITIONAL

Provided only if the transaction was settled by batch.
Existence
CONDITIONAL
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
2147483647

transaction[n].transaction.acquirer.customData  String = CONDITIONAL

This field must not contain sensitive data.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000

transaction[n].transaction.acquirer.date  String = CONDITIONAL

Not returned by most acquirers.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000

transaction[n].transaction.acquirer.id  String = CONDITIONAL

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

transaction[n].transaction.acquirer.merchantId  String = CONDITIONAL

This may also be referred to as the Card Acceptor Identification Code (CAIC), Card Acceptor ID (CAID), or Service Establishment Number (SE Number).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

transaction[n].transaction.acquirer.settlementDate  Date = CONDITIONAL

The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.acquirer.time  String = CONDITIONAL

Not returned by most acquirers.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
4000

transaction[n].transaction.acquirer.timeZone  Time Offset = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 UTC time offset format, +hhmm or -hhmm.
JSON type
String

transaction[n].transaction.acquirer.transactionId  String = CONDITIONAL

This identifier may be used by the acquirer in settlement reports.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].transaction.amount  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.authenticationStatus  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Payer authentication was attempted and a proof of authentication attempt was obtained.
AUTHENTICATION_AVAILABLE
Payer authentication is available for the payment method provided.
AUTHENTICATION_EXEMPT
Exemption from the Regulatory Technical Standards (RTS) requirements for Strong Customer Authentication (SCA) under the Payment Services Directive 2 (PSD2) regulations in the European Economic Area has been claimed or granted.
AUTHENTICATION_FAILED
The payer was not authenticated. You should not proceed with this transaction.
AUTHENTICATION_NOT_IN_EFFECT
There is no authentication information associated with this transaction.
AUTHENTICATION_NOT_SUPPORTED
The requested authentication method is not supported for this payment method.
AUTHENTICATION_PENDING
Payer authentication is pending completion of a challenge process.
AUTHENTICATION_REJECTED
The issuer rejected the authentication request and requested that you do not attempt authorization of a payment.
AUTHENTICATION_REQUIRED
Payer authentication is required for this payment, but was not provided.
AUTHENTICATION_SUCCESSFUL
The payer was successfully authenticated.
AUTHENTICATION_UNAVAILABLE
The payer was not able to be authenticated due to a technical or other issue.

transaction[n].transaction.authorizationAdjustmentActions  Comma separated enumeration = CONDITIONAL

You only need to provide a value if you want to restrict the action taken and understand the relevant scheme rules.

The default value for this field is INCREMENT. In this case, the gateway will automatically submit an update authorization request to the acquirer if the requested capture amount exceeds the outstanding authorized amount. If the update was successfully authorized, the gateway then attempts the capture.

Set this value to NO_ACTION to prevent the gateway performing any authorization adjustments.

Note: You might need your payment service provider to enable these capabilities on your gateway merchant profile.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be one or more comma separated members of the following list. The values are case sensitive.
INCREMENT
Increase the authorized amount to match the total capture amount.
NO_ACTION
Do not perform any authorization adjustments.

transaction[n].transaction.authorizationAdjustmentAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].transaction.authorizationCode  ASCII Text = CONDITIONAL

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

transaction[n].transaction.authorizingEntity  Enumeration = CONDITIONAL

Typically the transaction is submitted to the issuer and the issuer either authorizes the transaction and issues an authorization code or does not authorize the transaction and no authorization code is returned.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACQUIRER
The transaction has not been forwarded to the scheme/issuer but the acquirer has made the authorization decision on behalf of the issuer. This may happen if the acquirer was unable to forward the transaction to the scheme or the acquirer rejected the transaction request because of failed validation.
ISSUER
The transaction has been forwarded to the issuer and the issuer has either authorized the transaction or not.
SCHEME
The transaction has not been forwarded to the issuer but the scheme has made the authorization decision on behalf of the issuer. This may happen if the scheme was unable to forward the transaction to the issuer or the scheme chose to do stand-in processing for this transaction.

transaction[n].transaction.bancanet   = CONDITIONAL

Additional information the gateway requires to initiate a BancaNet browser payment.
Fixed value

transaction[n].transaction.bancanet.merchantPaymentReference  String = Always Provided

The format depends on your BancaNet Directo account (Servicio Electrónico de Pagos or Concentración de Fondos).
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
62

transaction[n].transaction.bancanet.paymentDueDate  Date = CONDITIONAL

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

transaction[n].transaction.bancanet.paymentReason  String = CONDITIONAL

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

transaction[n].transaction.batchName  String = CONDITIONAL

Provided only if this transaction was submitted via a batch file.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
512

transaction[n].transaction.currency  Upper case alphabetic text = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].transaction.deferredAuthorization  Boolean = CONDITIONAL

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

transaction[n].transaction.disbursementType  Enumeration = CONDITIONAL

If your Merchant Category Code is 7995 (Gambling Transactions) and you are paying out gaming winnings, set the value to GAMING_WINNINGS. If your Merchant Category Code is 6536 (MoneySend Intracountry) and you are paying a credit card bill, set the value to CREDIT_CARD_BILL_PAYMENT and provide the payment sender details.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CREDIT_CARD_BILL_PAYMENT
Indicates that you are paying a credit card bill.
GAMING_WINNINGS
Indicates that you are paying out gaming winnings to a payer.

transaction[n].transaction.discountAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.dispute   = CONDITIONAL

Information about the disputed transaction.
Fixed value

transaction[n].transaction.dispute.dateRecurringPaymentCancelled  Date = CONDITIONAL

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

transaction[n].transaction.dispute.deadlineDate  Date = CONDITIONAL

For example, if the acquirer has requested additional information (transaction.dispute.event = INFORMATION_REQUESTED), the merchant must provide a response by this date.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.dispute.event  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ACTION_REQUIRED
An action from the merchant is required.
CHARGEBACK_DEBITED
The chargeback amount will soon be debited to the merchant's account.
CHARGEBACK_REVERSED
The Chargeback amount that was debited has been credited back to the merchant's account.
INFORMATION_ONLY
Information about the state of the dispute.

transaction[n].transaction.dispute.eventDate  Date = CONDITIONAL

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

transaction[n].transaction.dispute.eventInformation  String = CONDITIONAL

The terms used here will reflect the terms used by your bank.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].transaction.dispute.match   = CONDITIONAL

When transaction.dispute.matchAction = MATCHED, then the gateway will attempt to match this chargeback transaction to an existing financial transaction with these parameters. If no match is found then the gateway does not record the chargeback transaction.
When transaction.dispute.matchAction = STANDALONE, the gateway will create a new order containing the chargeback transaction and does not attempt to match it to the original transaction.
When transaction.dispute.matchAction = MATCHED_FALLBACK, then the gateway will first attempt to match this chargeback transaction to an existing financial transaction with these parameters. If it cannot be matched, the gateway will create a new order containing the chargeback transaction. When the chargeback transaction can be matched to more than one merchant gateway profile, a new order will be created against each profile. When this occurs it will be noted in order.description.
Fixed value

transaction[n].transaction.dispute.match.RRN  ASCII Text = CONDITIONAL

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

transaction[n].transaction.dispute.match.acquirerTransactionId  String = CONDITIONAL

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

transaction[n].transaction.dispute.match.date  Date = CONDITIONAL

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

transaction[n].transaction.dispute.match.stan  Digits = CONDITIONAL

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

transaction[n].transaction.dispute.matchAction  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
MATCHED
Create the chargeback transaction only if it can be matched to the original transaction being disputed.
MATCHED_FALLBACK
Attempt to match the chargeback transaction to the original transaction being disputed. If it cannot be matched, then create a new order containing the chargeback transaction.
STANDALONE
Do not match the chargeback transaction to the original transaction being disputed; create a new order containing the chargeback transaction.

transaction[n].transaction.dispute.reason  ASCII Text = CONDITIONAL

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

transaction[n].transaction.dispute.reasonCode  ASCII Text = CONDITIONAL

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

transaction[n].transaction.dutyAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.funding   = CONDITIONAL

This group is present for transactions that could be funded, including successful CAPTURE, REFUND and PAY transactions as well as FUNDING transactions that provide funding and/or fee details only.
Fixed value

transaction[n].transaction.funding.acquirerEventDescription  String = CONDITIONAL

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

transaction[n].transaction.funding.amount  Decimal = CONDITIONAL

This may be a credit (positive value) or debit (negative value).
This value is provided if transaction.funding.status is FUNDED. It might be provided if transaction.funding.status is FUNDING_ASSURED or FUNDING_ON_HOLD.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].transaction.funding.currency  Upper case alphabetic text = CONDITIONAL

This value is provided if transaction.funding.status is FUNDED. It might be provided if transaction.funding.status is FUNDING_ASSURED or FUNDING_ON_HOLD.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].transaction.funding.date  Date = CONDITIONAL

The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).
This value is only populated if the date is known with certainty.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.funding.estimatedDate  Date = CONDITIONAL

This value is only populated if neither the initiated date nor the actual funding date are available.
The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.funding.fee[n]   = CONDITIONAL

Breakdown of the fees deducted by your acquirer for this transaction.
Fixed value

transaction[n].transaction.funding.fee[n].acquirerFeeName  String = CONDITIONAL

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

transaction[n].transaction.funding.fee[n].amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
4

transaction[n].transaction.funding.fee[n].date  Date = CONDITIONAL

This value is only populated if the date is known with certainty.
The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.funding.fee[n].estimatedDate  Date = CONDITIONAL

This value is only populated if neither the initiated date nor the actual date the funds are debited are available.
The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.funding.fee[n].initiatedDate  Date = CONDITIONAL

This value is only populated if the date of transfer is known with certainty, but the date the funds will settle to your account is uncertain.
The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.funding.fee[n].rate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
6

transaction[n].transaction.funding.fee[n].type  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
The fee type for which the amount defined in funding.fee[n].amount has been charged.
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CHARGEBACK_FEE
Fees associated with Chargeback transactions.
FUNDING_FEE
Fees associated with transferring money to your account.
MERCHANT_FEE
Fees associated with the merchant account. For example: Merchant monthly fee, Minimum monthly fee.
OTHER_FEE
Any other fees that have not been captured by the above types.
TRANSACTION_FEE
Fees associated with Authorization, Capture and Refund transactions.

transaction[n].transaction.funding.feeAmount  Decimal = CONDITIONAL

This value is only supplied if your acquirer provides the fee data.
A breakdown of the fees is shown in the transaction.funding.fee[n] parameter group if this information was provided by your acquirer.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
4

transaction[n].transaction.funding.feeCurrency  Upper case alphabetic text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data must consist of the characters A-Z
JSON type
String
minimum length
3
maximum length
3

transaction[n].transaction.funding.initiatedDate  Date = CONDITIONAL

This value is only populated if the date of transfer is known with certainty, but the date the funds will settle to your account is uncertain.
The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).
Existence
CONDITIONAL
Fixed value
Validation Rules
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
JSON type
String

transaction[n].transaction.funding.settlementIdentifier  String = CONDITIONAL

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

transaction[n].transaction.funding.status  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
FUNDED
The transaction is clearing and will move money into your account.
FUNDING_ADJUSTED
Funding for the transaction has been adjusted, meaning either funds have been transferred to / from your account. This can happen for both successful or failed funding.
FUNDING_ASSURED
The transaction is guaranteed to settle, but has not yet done so.
FUNDING_FAILED
The transaction could result in the transfer of money to / from your account, however the service provider has not yet received funds from the payer. In case of a refund the service provider was not able to transfer funds to the payer.
FUNDING_ON_HOLD
The transaction could result in the transfer of money to / from your account, however the financial provider is unable to complete the transfer of funds. This might be a transient state.
IN_PROGRESS
The transaction could result in the transfer of money to / from your account, but has not yet have done so. This is usually a transient state.
NON_FUNDED
The transaction cannot result in transfer of money to / from your account.
NOT_SUPPORTED
The transaction was settled to an institution from which the gateway does not receive funding information.

transaction[n].transaction.id  String = Always Provided

An order can have transactions representing:
  • Movement of money. For example, payments and refunds.
  • Validations. For example, account verification or 3-D Secure authentication of the payer.
  • Undoing other transactions. For example, voiding a payment transaction.
  • Chargebacks.
  • Fees from your payment service provider.
Each transaction on the order must have a unique id that identifies that transaction. Some transactions also hold the transaction identifier of other transactions on the order. For example a void payment transaction references the original payment transaction that is being voided.

If you attempt an operation and it fails (eg you try to PAY on a card with no funds), then you need a new id for each retry.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].transaction.instantRefund  Boolean = CONDITIONAL

Instant Refunds are processed in near real time resulting in the funds being available in the payer's account almost instantly. 'True' indicates that the refund was processed as an Instant Refund. 'False' indicates that the refund was not processed as an Instant Refund. This happens when either the card is not eligible or the gateway was unable to connect to the downstream system.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].transaction.item[n]   = CONDITIONAL

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

transaction[n].transaction.item[n].brand  String = CONDITIONAL

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

transaction[n].transaction.item[n].category  String = CONDITIONAL

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

transaction[n].transaction.item[n].description  String = CONDITIONAL

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

transaction[n].transaction.item[n].detail   = CONDITIONAL

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

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

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

transaction[n].transaction.item[n].detail.commodityCode  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

transaction[n].transaction.item[n].detail.tax[n]   = CONDITIONAL

Information about the taxes per line item.
Fixed value

transaction[n].transaction.item[n].detail.tax[n].amount  Decimal = CONDITIONAL

Note that the tax amount provided must reflect the tax amount applied before a discount was applied.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].transaction.item[n].detail.tax[n].rate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].transaction.item[n].detail.tax[n].type  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
127

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

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
999999
minimum value
0
maximum post-decimal digits
5

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

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
999999
minimum value
0
maximum post-decimal digits
5

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

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

transaction[n].transaction.item[n].detail.unspsc  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

transaction[n].transaction.item[n].detail.upc  Integer = CONDITIONAL

Existence
CONDITIONAL
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
9999999999999999

transaction[n].transaction.item[n].industryCategory  Enumeration = CONDITIONAL

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
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
HEALTHCARE_DENTAL
HEALTHCARE_OTHER
HEALTHCARE_PRESCRIPTION
HEALTHCARE_VISION

transaction[n].transaction.item[n].name  String = Always Provided

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

transaction[n].transaction.item[n].quantity  Decimal = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0

transaction[n].transaction.item[n].sku  String = CONDITIONAL

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

transaction[n].transaction.item[n].unitDiscountAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].transaction.item[n].unitOfMeasure  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
10

transaction[n].transaction.item[n].unitPrice  Decimal = Always Provided

This amount is multiplied with the item quantity (item.quantity) to determine the total amount for this item (item.amount). This amount does not include the tax amount and/or discount amount applicable to this item.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].transaction.item[n].unitTaxAmount  Decimal = CONDITIONAL

This amount is multiplied with the item quantity (item.quantity) to determine the total tax amount for this item.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
-1000000000000
maximum post-decimal digits
3

transaction[n].transaction.itemAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.merchantNote  String = CONDITIONAL

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

transaction[n].transaction.paymentPlan   = CONDITIONAL

Information about the payment plan selected by the cardholder.
Fixed value

transaction[n].transaction.paymentPlan.deferralPeriod  Integer = Always Provided

Existence
Always Provided
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

transaction[n].transaction.paymentPlan.firstPaymentAmount  Decimal = Always Provided

The amount for all subsequent payments is provided in item[n].paymentPlanOffer{id}.subsequentPaymentAmount. The amount is expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
2140000000
minimum value
0.001
maximum post-decimal digits
3

transaction[n].transaction.paymentPlan.interest.rate  Decimal = Always Provided

This field is returned only when plan type is AMEX_PlanAmex.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
100
minimum value
0

transaction[n].transaction.paymentPlan.name  String = Always Provided

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

transaction[n].transaction.paymentPlan.numberOfPayments  Integer = Always Provided

Existence
Always Provided
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

transaction[n].transaction.paymentPlan.offerId  Alphanumeric + additional characters = Always Provided

The gateway will use the details of this offer for this transaction. Provide the plan offer ID returned in the PAYMENT_PLAN_OFFERS_INQUIRY response in field
Existence
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
60

transaction[n].transaction.paymentPlan.receiptText  String = Always Provided

Where supported for the issuer or acquirer the gateway makes the receipt text to be displayed available in this field. Note that there may be additional requirements about the content to be displayed (in addition to the receipt text). The text provided in this field may be in the local language or English.
Existence
Always Provided
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].transaction.paymentPlan.subsequentPaymentAmount  Decimal = Always Provided

If the amount for the first payment differs, then the amount for the first payment is provided in item[n].paymentPlanOffer{id}.firstPaymentAmount. The amount is expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
2140000000
minimum value
0.001
maximum post-decimal digits
3

transaction[n].transaction.paymentPlan.totalAmount  Decimal = Always Provided

The amount is expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents. This field is returned only whenplan type is AMEX_PlanAmex.
Existence
Always Provided
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
2140000000
minimum value
0.001
maximum post-decimal digits
3

transaction[n].transaction.receipt  ASCII Text = CONDITIONAL

The reference may be used when contacting the acquirer about a specific transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
1
maximum length
100

transaction[n].transaction.reference  String = CONDITIONAL

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

transaction[n].transaction.requestedAmount  Decimal = CONDITIONAL

The transaction amount (transaction.amount) and order amount (order.amount) are both set to the actually approved amount.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.resubmission  Boolean = CONDITIONAL

A resubmission transaction must also contain the 'scheme transaction Id' from the associated failed transaction. You can provide the referenceOrderId of the relevant order and the gateway will include the 'scheme transaction Id' of the last failed authorization on the order in the resubmission transaction. Alternatively, you can provide the 'scheme transaction Id' of the failed transaction in the resubmission transaction using the field transaction.acquirer.traceId.
Existence
CONDITIONAL
Fixed value
Validation Rules
JSON boolean values 'true' or 'false'.
JSON type
Boolean

transaction[n].transaction.shippingAndHandlingAmount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.shippingAndHandlingTaxAmount  Decimal = CONDITIONAL

This amount is included in the shipping and handling amount provided in field transaction.shippingAndHandlingAmount.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.shippingAndHandlingTaxRate  Decimal = CONDITIONAL

For a tax rate of 2.5% provide 0.025.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000000000
minimum value
0
maximum post-decimal digits
4

transaction[n].transaction.source  Enumeration = CONDITIONAL

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:

  • 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
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
CALL_CENTRE
Transaction conducted via a call centre.
CARD_PRESENT
Transaction where the card is presented to the merchant.
INTERNET
Transaction conducted over the Internet.
MAIL_ORDER
Transaction received by mail.
MERCHANT
Transaction initiated by you based on an agreement with the payer. For example, a recurring payment, installment payment, or account top-up.
MOTO
Transaction received by mail or telephone.
PAYER_PRESENT
Transaction where a non-card payment method is presented to the Merchant.
SERVICE_PROVIDER
Transaction reported by the acquirer.
TELEPHONE_ORDER
Transaction received by telephone.
VOICE_RESPONSE
Transaction conducted by a voice/DTMF recognition system.

transaction[n].transaction.stan  Digits = CONDITIONAL

The STAN is a unique trace number assigned by the gateway to identify the transaction message sent to the acquirer. It remains unchanged for the life of the transaction.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a number between 1 and 999999 represented as a string.
JSON type
String

transaction[n].transaction.targetTransactionId  String = CONDITIONAL

For example: This can be the transaction id of the
  • -authorization transaction you wish to void or
  • -capture or pay transaction you wish to void or refund or.
  • -the contactless transaction which was processed with a single tap indicator and you want to provide the PIN in this request.

That is the {transactionId} URL field for REST and the transaction.id field for NVP.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
40

transaction[n].transaction.tax[n]   = CONDITIONAL

Use this parameter group to provide a breakdown of tax types, amount per tax type, and rate per tax type included in transaction.taxAmount.
Fixed value

transaction[n].transaction.tax[n].amount  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
14

transaction[n].transaction.tax[n].rate  Decimal = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
JSON type
String
minimum length
1
maximum length
6

transaction[n].transaction.tax[n].type  String = CONDITIONAL

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
50

transaction[n].transaction.taxAmount  Decimal = CONDITIONAL

You only need to provide this field when you capture or refund part of the order amount. In this case, the amount must not exceed order.taxAmount. If you provide this field when you capture or refund the full amount of the order, then the value provided must match order.taxAmount.
Existence
CONDITIONAL
Fixed value
Validation Rules
Data is a decimal number.
JSON type
Number
maximum value
1000000000000
minimum value
0
maximum post-decimal digits
3

transaction[n].transaction.taxStatus  String = CONDITIONAL

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

transaction[n].transaction.terminal  String = CONDITIONAL

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

transaction[n].transaction.type  Enumeration = Always Provided

Existence
Always Provided
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION
Authentication
AUTHORIZATION
Authorization
AUTHORIZATION_UPDATE
Authorization Update
CAPTURE
Capture
CHARGEBACK
Chargeback
DISBURSEMENT
Disbursement
FUNDING
The transaction transfers money to or from the merchant, without the involvement of a payer. For example, recording monthly merchant service fees from your payment service provider.
PAYMENT
Payment (Purchase)
REFUND
Refund
REFUND_REQUEST
Refund Request
VERIFICATION
Verification
VOID_AUTHORIZATION
Void Authorization
VOID_CAPTURE
Void Capture
VOID_PAYMENT
Void Payment
VOID_REFUND
Void Refund

transaction[n].transaction.update[n]   = CONDITIONAL

This parameter group provides a history of the status changes for the transaction (based on response.gatewayCode).The information is only provided if the functionality is supported for the acquirer used to process the transaction.
Fixed value

transaction[n].transaction.update[n].gatewayCode  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ABORTED
Transaction aborted by payer
ACQUIRER_SYSTEM_ERROR
Acquirer system error occurred processing the transaction
APPROVED
Transaction Approved
APPROVED_PENDING_SETTLEMENT
Transaction Approved - pending batch settlement
AUTHENTICATION_FAILED
Payer authentication failed
BLOCKED
Transaction blocked due to Risk or 3D Secure blocking rules
CANCELLED
Transaction cancelled by payer
DECLINED
The requested operation was not successful. For example, a payment was declined by issuer or payer authentication was not able to be successfully completed.
DECLINED_AVS
Transaction declined due to address verification
DECLINED_AVS_CSC
Transaction declined due to address verification and card security code
DECLINED_CSC
Transaction declined due to card security code
DECLINED_DO_NOT_CONTACT
Transaction declined - do not contact issuer
DECLINED_PAYMENT_PLAN
Transaction declined due to payment plan
DEFERRED_TRANSACTION_RECEIVED
Deferred transaction received and awaiting processing
DUPLICATE_BATCH
Transaction declined due to duplicate batch
EXCEEDED_RETRY_LIMIT
Transaction retry limit exceeded
EXPIRED_CARD
Transaction declined due to expired card
INSUFFICIENT_FUNDS
Transaction declined due to insufficient funds
INVALID_CSC
Invalid card security code
LOCK_FAILURE
Order locked - another transaction is in progress for this order
NOT_ENROLLED_3D_SECURE
Card holder is not enrolled in 3D Secure
NOT_SUPPORTED
Transaction type not supported
PARTIALLY_APPROVED
The transaction was approved for a lesser amount than requested. The approved amount is returned in order.totalAuthorizedAmount.
PENDING
Transaction is pending
REFERRED
Transaction declined - refer to issuer
SYSTEM_ERROR
Internal system error occurred processing the transaction
TIMED_OUT
The gateway has timed out the request to the acquirer because it did not receive a response. You can handle the transaction as a declined transaction. Where possible the gateway will attempt to reverse the transaction.
UNKNOWN
The transaction has been submitted to the acquirer but the gateway was not able to find out about the success or otherwise of the payment. If the gateway subsequently finds out about the success of the payment it will update the response code.
UNSPECIFIED_FAILURE
Transaction could not be processed

transaction[n].transaction.update[n].time  ASCII Text = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
Data consists of ASCII characters
JSON type
String
minimum length
0
maximum length
29

transaction[n].version  String = CONDITIONAL

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

wallet   = CONDITIONAL

Details about a wallet interaction.
Fixed value

wallet.visaCheckout   = CONDITIONAL

Provide the details for the Visa Checkout Wallet.
Fixed value

wallet.visaCheckout.callId  String = CONDITIONAL

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

walletIndicator  String = CONDITIONAL

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

walletProvider  Enumeration = CONDITIONAL

Existence
CONDITIONAL
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
AMEX_EXPRESS_CHECKOUT
Amex Express Checkout wallet provider.
APPLE_PAY
Apple Pay mobile wallet provider.
CHASE_PAY
Chase Pay wallet provider.
GOOGLE_PAY
Google Pay mobile wallet provider.
MASTERPASS_ONLINE
MasterPass Online wallet provider.
SAMSUNG_PAY
Samsung Pay mobile wallet provider.
VISA_CHECKOUT
Visa Checkout wallet provider.

error   = CONDITIONAL

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

error.cause  Enumeration = CONDITIONAL

For example, errors may occur due to invalid requests or internal system failures.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID_REQUEST
The request was rejected because it did not conform to the API protocol.
REQUEST_REJECTED
The request was rejected due to security reasons such as firewall rules, expired certificate, etc.
SERVER_BUSY
The server did not have enough resources to process the request at the moment.
SERVER_FAILED
There was an internal system failure.

error.explanation  String = CONDITIONAL

This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
1000

error.field  String = CONDITIONAL

This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

error.supportCode  String = CONDITIONAL

This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.
Fixed value
Validation Rules
Data can consist of any characters
JSON type
String
minimum length
1
maximum length
100

error.validationType  Enumeration = CONDITIONAL

This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
INVALID
The request contained a field with a value that did not pass validation.
MISSING
The request was missing a mandatory field.
UNSUPPORTED
The request contained a field that is unsupported.

result  Enumeration = CONDITIONAL

Fixed value
Validation Rules
JSON type
String
Value must be a member of the following list. The values are case sensitive.
ERROR
The operation resulted in an error and hence cannot be processed.

Copyright © 2023 Mastercard