Retrieve Order

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

GET https://anzegate.gateway.mastercard.com/api/rest/version/54 / merchant / {merchantId} / order / {orderid}

Authentication

This operation requires authentication via one of the following methods:


  • Certificate authentication.
  • Basic HTTP authentication as described at w3.org. Provide 'merchant.<your gateway merchant ID>' in the userid portion and your API password in the password portion.

Request

URL Parameters

{merchantId} Alphanumeric + additional characters REQUIRED

The unique identifier issued to you by your payment provider.


This identifier can be up to 12 characters in length.


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

Min length: 1 Max length: 40
{orderid} String REQUIRED

A unique identifier for this order to distinguish it from any other order you create.


Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order you create using your merchant profile.


Data can consist of any characters

Min length: 1 Max length: 40

Fields

To view the optional fields, please toggle on the "Show optional fields" setting.

correlationId String OPTIONAL

A transient identifier for the request, that can be used to match the response to the request.

The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.

Data can consist of any characters

Min length: 1 Max length: 100

Response

Fields

3dsAcsEci Digits CONDITIONAL

Indicates the security level of the transaction.

This is the Electronic Commerce Indicator (ECI) value provided by the issuer's Access Control Server (ACS) to indicate the results of the attempt to authenticate the payer.

Data is a number between 0 and 9 represented as a string.

authenticationStatus Enumeration CONDITIONAL

Indicates the result of payer authentication.

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

Information about how the payer's identity is verified.

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

If online authentication of the payer is available, then this field shows the type. If no such authentication is available, the value is NONE.

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.

NONE

No authentication is available.

certainty Enumeration CONDITIONAL

Indicates if you expect to capture the full order amount for which you are requesting authorization.

If you do not provide a value for order.certainty the default configured for you by your payment service provider will be used. The value provided in the response shows the value the gateway sent to the acquirer

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.

chargeback.amount Decimal ALWAYS PROVIDED

The total amount that has been successfully debited from the merchant's account as a result of chargebacks against this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
chargeback.currency String ALWAYS PROVIDED

The currency of chargeback raised against this order that has been successfully debited from the merchant's account, expressed as an ISO 4217 alpha code, e.g. USD.

Data can consist of any characters

Min length: 3 Max length: 3
custom String CONDITIONAL

A field you provide to capture additional information about this order that is only of interest to you.

The gateway does not send this information to the acquirer. A maximum of 50 such fields may be added to the order.

Data can consist of any characters

Min length: 1 Max length: 250
customer CONDITIONAL

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

customer.email Email CONDITIONAL

The email address of the customer.

The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.

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

customer.firstName String CONDITIONAL

The payer's first name.

Data can consist of any characters

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

The payer's last or surname.

Data can consist of any characters

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

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

Data can consist of any characters

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

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

Data can consist of any characters

Min length: 1 Max length: 20
customer.taxRegistrationId String CONDITIONAL

The tax registration identifier of the customer.

Data can consist of any characters

Min length: 1 Max length: 30
customerNote String CONDITIONAL

A note from the payer about this order.

Data can consist of any characters

Min length: 1 Max length: 250
customerOrderDate Date CONDITIONAL

The date the payer placed the order.

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

customerReference ASCII Text CONDITIONAL

The payer's own reference for the order.

This reference may assist the payer to identify the order in their system. For example, a purchase order number, project identifier, or cost center.

Data consists of ASCII characters

Min length: 0 Max length: 25
description String CONDITIONAL

Short textual description of the contents of the order.

Data can consist of any characters

Min length: 1 Max length: 127
device CONDITIONAL

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

device.ani String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 10
device.aniCallType String CONDITIONAL

The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.

Data can consist of any characters

Min length: 1 Max length: 2
device.browser String CONDITIONAL

The User-Agent header of the browser the customer used to place the order.

For example, MOZILLA/4.0 (COMPATIBLE; MSIE 5.0; WINDOWS 95)

Data can consist of any characters

Min length: 1 Max length: 255
device.hostname String CONDITIONAL

The name of the server to which the customer is connected.

Data can consist of any characters

Min length: 1 Max length: 60
device.ipAddress String CONDITIONAL

The IP address of the device used by the payer, in nnn.nnn.nnn.nnn format.

Data can consist of any characters

Min length: 7 Max length: 15
device.mobilePhoneModel String CONDITIONAL

The mobile phone manufacturer's identifier for the model of the mobile device used to initiate the payment.

Data can consist of any characters

Min length: 1 Max length: 255
discount CONDITIONAL

Information about a price reduction you have applied to the order.

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

discount.amount Decimal CONDITIONAL

The total amount of the discount you have applied to the order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
discount.code String CONDITIONAL

The code you use to identify the reason for the discount.

Data can consist of any characters

Min length: 1 Max length: 40
discount.description String CONDITIONAL

A description of your reason for the discount.

Data can consist of any characters

Min length: 1 Max length: 127
id String ALWAYS PROVIDED

A unique identifier for this order to distinguish it from any other order you create.

Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order created by your merchant profile.

Data can consist of any characters

Min length: 1 Max length: 40
invoiceNumber String CONDITIONAL

The invoice number you issued for this order.

Data can consist of any characters

Min length: 1 Max length: 25
item[n] CONDITIONAL

Information about the items the payer purchases with the order.

item[n].brand String CONDITIONAL

The brand of the item.

For example, Dell.

Data can consist of any characters

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

Your category for the item.

Data can consist of any characters

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

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

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

Data can consist of any characters

Min length: 1 Max length: 127
item[n].detail CONDITIONAL

Only use this parameter group to provide additional line item details required for a better interchange rate for Purchasing Cards, Business and/or Corporate Cards (Level 3).

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

item[n].detail.acquirerCustom JSON Text CONDITIONAL

Use this field to provide line item details that your acquirer requires you to provide.

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.

Data is valid Json Format

Min length: 1 Max length: 4000
item[n].detail.commodityCode Integer CONDITIONAL

A code describing a commodity or a group of commodities pertaining to goods classification.

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

Min value: 1 Max value: 9999999999999999
item[n].detail.tax[n] CONDITIONAL

Information about the taxes per line item.

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

The tax amount for the tax type defined in order.item[n].detail.tax[m].type for the item.

Note that the tax amount provided must reflect the tax amount applied before a discount was applied.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
item[n].detail.tax[n].rate Decimal CONDITIONAL

The tax rate (percentage) applied to the item for the tax type defined in order.item[n].detail.tax[m].type.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
item[n].detail.tax[n].type String CONDITIONAL

The tax type for which the amount specified under order.item[n].detail.tax[m].amount has been paid for this item.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 127
item[n].detail.unitDiscountRate Decimal CONDITIONAL

The discount rate (percentage) applied to this item.

Data is a decimal number.

Max value: 999999 Min value: 0 Max post-decimal digits: 5
item[n].detail.unitTaxRate Decimal CONDITIONAL

The tax rate (percentage) of the tax charged for this item.

Data is a decimal number.

Max value: 999999 Min value: 0 Max post-decimal digits: 5
item[n].detail.unitTaxType String CONDITIONAL

The type of tax charged for this item.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 10
item[n].detail.unspsc Integer CONDITIONAL

The United Nations Standard Products and Services Code (UNSPSC) for the item.

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

Min value: 1 Max value: 9999999999999999
item[n].detail.upc Integer CONDITIONAL

The Universal Product Code (UPC) for the item.

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

Min value: 1 Max value: 9999999999999999
item[n].industryCategory Enumeration CONDITIONAL

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

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

We support the following industry standard processing:

US health care processing using the IIAS standard.

The supported values for industryCategory are:

HEALTHCARE_VISION, HEALTHCARE_DENTAL, HEALTHCARE_PRESCRIPTION, HEALTHCARE_OTHER

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

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

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

HEALTHCARE_DENTAL
HEALTHCARE_OTHER
HEALTHCARE_PRESCRIPTION
HEALTHCARE_VISION
item[n].name String ALWAYS PROVIDED

A short name describing the item.

Data can consist of any characters

Min length: 1 Max length: 127
item[n].quantity Decimal ALWAYS PROVIDED

The quantity of the item.

Data is a decimal number.

Max value: 1000000000000 Min value: 0
item[n].sku String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 127
item[n].unitDiscountAmount Decimal CONDITIONAL

The discount amount applied to this item.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
item[n].unitOfMeasure String CONDITIONAL

The unit of measure used for the item quantity.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 10
item[n].unitPrice Decimal ALWAYS PROVIDED

The cost price for the item.

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.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
item[n].unitTaxAmount Decimal CONDITIONAL

The tax amount for the item.

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

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
itemAmount Decimal CONDITIONAL

The total item amount for the order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
lineOfBusiness String CONDITIONAL

Your payment service provider might have configured your merchant profile to support several lines of business.

Each line of business can have different payment parameters, such as bank account, supported cards or such.

For example, lineOfBusiness = TICKET_SALES can have a different bank account from lineOfBusiness = MERCHANDISING. One line of business on your profile might be "null". To use that, do not provide the lineOfBusiness field.

Data can consist of any characters except space

Min length: 1 Max length: 100
localTaxRegistrationId String CONDITIONAL

Your tax registration identifier provided by the Local/State/Province tax authority.

If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Provincial Sales Tax (PST).

Data can consist of any characters

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

The unique identifier issued to you by your payment provider.

This identifier can be up to 12 characters in length.

Data may consist of the characters 0-9, a-z, A-Z, '-', '_', ' ', '&', '+', '!', '$', '%', '.'

Min length: 1 Max length: 40
merchantCategoryCode Digits CONDITIONAL

A 4-digit code used to classify your business by the type of goods or services it offers.This is also known as the Merchant Category Code (MCC).

You only need to provide the MCC if you want to override the default value configured for your acquirer link.The value you provide must match one of those configured by your payment service provider.

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

Min length: 4 Max length: 4
netAmount Decimal CONDITIONAL

The amount payable for the order before surcharging is applied.

If you specify a net amount the gateway will calculate the surcharge for you. Alternatively, you can specify the surcharge amount (order.surchargeAmount) yourself.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
notificationUrl Url CONDITIONAL

The URL to which the gateway will send Webhook notifications when an order is created or updated.

To receive notifications at this URL, you must enable Webhook notifications in Merchant Administration. Ensure the URL is HTTPS

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

reference String CONDITIONAL

An optional identifier for the order.

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

Data can consist of any characters

Min length: 1 Max length: 200
requestorName String CONDITIONAL

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

Data can consist of any characters

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

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

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

FAILURE

The operation was declined or rejected by the gateway, acquirer or issuer

PENDING

The operation is currently in progress or pending processing

SUCCESS

The operation was successfully processed

UNKNOWN

The result of the operation is unknown

shipping CONDITIONAL

Shipping information for this order.

shipping.address CONDITIONAL

The address to which this order will be shipped.

shipping.address.city String CONDITIONAL

The city portion of the address.

Data can consist of any characters

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

The name of the company associated with this address.

Data can consist of any characters

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

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

Data must consist of the characters A-Z

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

The post code or zip code of the address.

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

Min length: 1 Max length: 10
shipping.address.source Enumeration CONDITIONAL

How you obtained the shipping address.

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

The state or province of the address.

Data can consist of any characters

Min length: 1 Max length: 20
shipping.address.stateProvinceCode String CONDITIONAL

The three character ISO 3166-2 country subdivision code for the state or province of the address.

Providing this field might improve your payer experience for 3-D Secure payer authentication.

Data can consist of any characters

Min length: 1 Max length: 3
shipping.address.street String CONDITIONAL

The first line of the address.

For example, this may be the street name and number, or the Post Office Box details.

Data can consist of any characters

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

The second line of the address (if provided).

Data can consist of any characters

Min length: 1 Max length: 100
shipping.address.sameAsBilling Enumeration CONDITIONAL

Indicates whether the shipping address provided is the same as the payer's billing address.

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

The default value for this field is:

SAME - if the shipping and billing address are supplied, and all fields are the same (ignoring non-alphanumerics).
DIFFERENT - if the shipping and billing address are supplied, and at least one field is different (ignoring non-alphanumerics).
UNKNOWN - either shipping address or billing address is absent.

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.

shipping.contact.email Email CONDITIONAL

The contact person's email address.

The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.

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

shipping.contact.firstName String CONDITIONAL

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

Data can consist of any characters

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

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

Data can consist of any characters

Min length: 1 Max length: 50
shipping.contact.mobilePhone Telephone Number CONDITIONAL

The contact person's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678

The number consists of:

  • '+'
  • country code (1, 2 or 3 digits)
  • 'space'
  • national number ( which may embed single spaces characters for readability).

Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)

Mandatory country code: true Max total digits: 15
shipping.contact.phone Telephone Number CONDITIONAL

The contact person's phone number in ITU-T E123 format, for example +1 607 1234 456

The number consists of:

  • '+'
  • country code (1, 2 or 3 digits)
  • 'space'
  • national number ( which may embed single spaces characters for readability).

Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)

Mandatory country code: true Max total digits: 15
shipping.method Enumeration CONDITIONAL

The shipping method used for delivery of this order.

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

The post code or zip code of the address the order is shipped from.

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

Min length: 1 Max length: 10
shippingAndHandlingAmount Decimal CONDITIONAL

The total shipping and handling amount for the order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
status Enumeration CONDITIONAL

The current progression of this order through the payment process.

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.

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.

totalAuthorizedAmount Decimal ALWAYS PROVIDED

The amount that has been successfully authorized for this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
totalCapturedAmount Decimal ALWAYS PROVIDED

The amount that has been successfully captured for this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
totalRefundedAmount Decimal ALWAYS PROVIDED

The amount that has been successfully refunded for this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n] CONDITIONAL

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

transaction[n].3DSecure CONDITIONAL

Information about the results of payer authentication using 3-D Secure authentication.

You only need to provide these fields if you authenticated the payer using a different service provider.

transaction[n].3DSecure.acsEci Digits CONDITIONAL

Indicates the security level of the transaction.

This is the value returned in the Electronic Commerce Indicator (ECI) field of the Payer Authentication Response (PARes) message from the card Issuer's Access Control Server (ACS). For example, 0,1, or 2. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.

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

Min length: 1 Max length: 2
transaction[n].3DSecure.authenticationToken Base64 CONDITIONAL

Used to verify that the 3D-Secure authentication occurred and the 3-D Secure data provided is valid.

The authentication token is generated and returned by the card issuer's Access Control Server (ACS) or the scheme's Attempts Server. It is a Base64 encoded value and must be submitted unaltered on a transaction. This field is referred to as Accountholder Authentication Value (AAV) for Mastercard SecureCode™ and JCB J/Secure™, Cardholder Authentication Verification Value (CAVV) for Verified by Visa™, American Express Verification Value (AEVV) for American Express SafeKey™, or Cardmember Authentication Verification Value (CAVV) for Diners Club ProtectBuy™.

Data is Base64 encoded

allowable lengths 28 or 32
transaction[n].3DSecure.custom String CONDITIONAL

Additional data about the 3-D Secure Authentication.

Please contact your payment service provider for additional information.

Data can consist of any characters

Min length: 1 Max length: 200
transaction[n].3DSecure.paResStatus Alpha CONDITIONAL

Indicates the result of payer authentication with the issuer.

This is the value returned in the transaction status field of the Payer Authentication Response (PARes) message from the card Issuer's Access Control Server (ACS). For example, Y, N, A, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.

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

Min length: 1 Max length: 1
transaction[n].3DSecure.veResEnrolled Alpha CONDITIONAL

Indicates whether or not payer authentication is available for the card number you provided.

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

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

Min length: 1 Max length: 1
transaction[n].3DSecure.xid Base64 CONDITIONAL

A unique transaction identifier generated by the Payment Gateway on behalf of the merchant to identify the 3DS transaction.

This field is mandatory for Verified By Visa transactions if authentication was available. The XID should be used in operation requests unaltered.

Data is Base64 encoded

allowable length 28
transaction[n].3DSecureId ASCII Text CONDITIONAL

A unique identifier supplied by the merchant for the authentication.

It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.
It is not used when the authentication is performed externally.

Data consists of ASCII characters

Min length: 1 Max length: 64
transaction[n].agreement CONDITIONAL

A series of related orders that execute one commercial agreement.

For example, linking the orders for a series of recurring payments (a mobile phone subscription), split tenders (one payment using two cards), or when the merchant offers to take payments by a series of installments (hire purchase).

You must provide this data for some types of payments (such as recurring), but you can provide it for any cases where you want to link orders together.

transaction[n].agreement.expiryDate Date CONDITIONAL

Date at which your agreement with the payer to process payments expires.

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

transaction[n].agreement.id String CONDITIONAL

Your identifier for the agreement you have with the payer to process payments.

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

  • Recurring payments: you have an agreement with the payer that authorizes you to automatically debit their account at agreed intervals for fixed or variable amounts. For example, gym membership, phone bills, or magazine subscriptions.
  • Installment payments: you have an agreement with the payer that authorizes you to process multiple payments over an agreed period of time for a single purchase. For example, the payer purchases an item for $1000 and pays for it in four monthly installments.
  • Unscheduled: you have an agreement with the payer that authorizes you to process future payments when required. For example, the payer authorizes you to process an account top-up transaction for a transit card when the account balance drops below a certain threshold.
When you first establish an agreement with the payer you should also specify the type of agreement in agreement.type.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].agreement.type Enumeration CONDITIONAL

The type of commercial agreement that the payer has with you.

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

The gateway will use the value you specify for subsequent payments in the series.

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

OTHER

An agreement where the merchant wants to link related payments for any purpose other than processing recurring, installment, or unscheduled payments. For example, split tender payments.

transaction[n].authorizationResponse CONDITIONAL

Information about the authorization received from the acquirer.

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

One usage is if you are capturing (typically with the same acquirer), but via a different path.

transaction[n].authorizationResponse.autoExpiry DateTime CONDITIONAL

The date and time when the gateway considers the authorization obtained for the order to have expired.

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.

An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"

transaction[n].authorizationResponse.cardLevelIndicator String CONDITIONAL

Indicates the card level result returned by the issuer.

Data can consist of any characters

Min length: 1 Max length: 2
transaction[n].authorizationResponse.cardSecurityCodeError String CONDITIONAL

CSC Incorrect Indicator.

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

Data can consist of any characters

Min length: 1 Max length: 1
transaction[n].authorizationResponse.cardSecurityCodePresenceIndicator Alphanumeric CONDITIONAL

An Indicator, if a Card security code was provided for the Transaction, as returned by the acquirer.

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

Min length: 1 Max length: 2
transaction[n].authorizationResponse.commercialCard String CONDITIONAL

Indicates if the card used is a commercial card.

Data can consist of any characters

Min length: 1 Max length: 3
transaction[n].authorizationResponse.commercialCardIndicator String CONDITIONAL

Indicates the type of commercial card as returned by the card issuer.

Data can consist of any characters

Min length: 1 Max length: 1
transaction[n].authorizationResponse.date String CONDITIONAL

The local date, in MMDD format, on which the transaction occurred.

Data can consist of any characters

Min length: 1 Max length: 4
transaction[n].authorizationResponse.financialNetworkCode String CONDITIONAL

Indicates the code of the financial network that was used to process the transaction with the issuer.

Data can consist of any characters

Min length: 1 Max length: 3
transaction[n].authorizationResponse.financialNetworkDate Date CONDITIONAL

The date for the Authorization as returned by the financial network.

For transactions processed via the MasterCard Network this is the MasterCard Network Reference Date.

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

transaction[n].authorizationResponse.marketSpecificData String CONDITIONAL

Indicates the market or the industry associated with the payment.

For example, B may indicate "bill payment" depending on the acquirer.

Data can consist of any characters

Min length: 1 Max length: 1
transaction[n].authorizationResponse.merchantAdviceCode String CONDITIONAL

This field contains data returned by the issuer or card network to clearly communicate to merchants the reason for declining a MasterCard or Visa transaction.

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.

Data can consist of any characters

Min length: 1 Max length: 2
transaction[n].authorizationResponse.paySvcData String CONDITIONAL

Payment Service Data required in settlement request.

Data can consist of any characters

Min length: 1 Max length: 23
transaction[n].authorizationResponse.processingCode String CONDITIONAL

Identifies the type of Card Transaction sent to Card Acceptor.

Data can consist of any characters

Min length: 1 Max length: 6
transaction[n].authorizationResponse.responseCode String CONDITIONAL

The response code which indicates the status of the transaction.

Data can consist of any characters

Min length: 1 Max length: 3
transaction[n].authorizationResponse.responseMessage String CONDITIONAL

Textual description of the acquirer response code for displaying on terminals.

Data can consist of any characters

Min length: 1 Max length: 16
transaction[n].authorizationResponse.returnAci String CONDITIONAL

The ACI (Authorization Characteristics Indicator) returned by the issuer.

Data can consist of any characters

Min length: 1 Max length: 1
transaction[n].authorizationResponse.stan String CONDITIONAL

The System Trace Audit Number is assigned by a transaction originator to assist in identifying a Card Transaction.

The trace number remains unchanged for the life of the Card Transaction.

Data can consist of any characters

Min length: 1 Max length: 6
transaction[n].authorizationResponse.time String CONDITIONAL

The local time, in HHMMSS format, during which the transaction occurred.

Data can consist of any characters

Min length: 1 Max length: 6
transaction[n].authorizationResponse.trackQuality String CONDITIONAL

Indicates the magnetic stripe condition and the vulnerability for fraud in Discover Network Card Transactions.

Data can consist of any characters

Min length: 1 Max length: 2
transaction[n].authorizationResponse.transactionIdentifier String CONDITIONAL

The unique identifier for the transaction returned by the issuer.

Data can consist of any characters

Min length: 1 Max length: 30
transaction[n].authorizationResponse.validationCode String CONDITIONAL

The validation code returned by the issuer.

This value must be stored to be sent with the capture transaction.

Data can consist of any characters

Min length: 1 Max length: 4
transaction[n].authorizationResponse.vpasResponse String CONDITIONAL

The response returned by the issuer indicating whether the 3DSecure authentication token was validated or not.

Data can consist of any characters

Min length: 1 Max length: 1
transaction[n].customer CONDITIONAL

Information about the customer, including their contact details.

transaction[n].customer.email Email CONDITIONAL

The email address of the customer.

The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.

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

transaction[n].customer.firstName String CONDITIONAL

The payer's first name.

Data can consist of any characters

Min length: 1 Max length: 50
transaction[n].customer.lastName String CONDITIONAL

The payer's last or surname.

Data can consist of any characters

Min length: 1 Max length: 50
transaction[n].customer.mobilePhone String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 20
transaction[n].customer.phone String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 20
transaction[n].customer.taxRegistrationId String CONDITIONAL

The tax registration identifier of the customer.

Data can consist of any characters

Min length: 1 Max length: 30
transaction[n].device CONDITIONAL

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

transaction[n].device.ani String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 10
transaction[n].device.aniCallType String CONDITIONAL

The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.

Data can consist of any characters

Min length: 1 Max length: 2
transaction[n].device.browser String CONDITIONAL

The User-Agent header of the browser the customer used to place the order.

For example, MOZILLA/4.0 (COMPATIBLE; MSIE 5.0; WINDOWS 95)

Data can consist of any characters

Min length: 1 Max length: 255
transaction[n].device.hostname String CONDITIONAL

The name of the server to which the customer is connected.

Data can consist of any characters

Min length: 1 Max length: 60
transaction[n].device.ipAddress String CONDITIONAL

The IP address of the device used by the payer, in nnn.nnn.nnn.nnn format.

Data can consist of any characters

Min length: 7 Max length: 15
transaction[n].device.mobilePhoneModel String CONDITIONAL

The mobile phone manufacturer's identifier for the model of the mobile device used to initiate the payment.

Data can consist of any characters

Min length: 1 Max length: 255
transaction[n].gatewayEntryPoint Enumeration CONDITIONAL

The interface through which the transaction is submitted to the gateway.

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

The transaction was created via checkout integration.

MERCHANT_ADMINISTRATION

The transaction was initiated in the Merchant Administration.

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].lineOfBusiness String CONDITIONAL

Your payment service provider might have configured your merchant profile to support several lines of business.

Each line of business can have different payment parameters, such as bank account, supported cards or such.

For example, lineOfBusiness = TICKET_SALES can have a different bank account from lineOfBusiness = MERCHANDISING. One line of business on your profile might be "null". To use that, do not provide the lineOfBusiness field.

Data can consist of any characters except space

Min length: 1 Max length: 100
transaction[n].merchant Alphanumeric + additional characters ALWAYS PROVIDED

The unique identifier issued to you by your payment provider.

This identifier can be up to 12 characters in length.

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

Min length: 1 Max length: 40
transaction[n].order ALWAYS PROVIDED

Information about the order associated with this transaction.

transaction[n].order.acceptPartialAmount Boolean CONDITIONAL

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

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

JSON boolean values 'true' or 'false'.

transaction[n].order.amount Decimal ALWAYS PROVIDED

The total amount for the order. This is the net amount plus any surcharge.

If you provide any sub-total amounts, then the sum of these amounts (order.itemAmount, order.taxAmount, order.shippingAndHandlingAmount, order.cashbackAmount, order.gratuityAmount), minus the order.discountAmount must equal the net amount.

The value of this field in the response is zero if payer funds are not transferred.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.authenticationStatus Enumeration CONDITIONAL

Indicates the result of payer authentication.

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

Set this flag if the transaction is a manual cash disbursement transaction, i.e. cash is disbursed upon the acceptance of a card by a financial institution teller.

JSON boolean values 'true' or 'false'.

transaction[n].order.cashbackAmount Decimal CONDITIONAL

The amount the payer has chosen to receive as cash in addition to the amount they are paying for the goods or services they are purchasing from you.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.certainty Enumeration CONDITIONAL

Indicates if you expect to capture the full order amount for which you are requesting authorization.

If you do not provide a value for order.certainty the default configured for you by your payment service provider will be used. The value provided in the response shows the value the gateway sent to the acquirer

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.

transaction[n].order.chargeback.amount Decimal ALWAYS PROVIDED

The total amount that has been successfully debited from the merchant's account as a result of chargebacks against this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.chargeback.currency String ALWAYS PROVIDED

The currency of chargeback raised against this order that has been successfully debited from the merchant's account, expressed as an ISO 4217 alpha code, e.g. USD.

Data can consist of any characters

Min length: 3 Max length: 3
transaction[n].order.creationTime DateTime ALWAYS PROVIDED

The timestamp indicating the time the gateway considers the order to have been created.

An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"

transaction[n].order.currency Upper case alphabetic text ALWAYS PROVIDED

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

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].order.custom String CONDITIONAL

A field you provide to capture additional information about this order that is only of interest to you.

The gateway does not send this information to the acquirer. A maximum of 50 such fields may be added to the order.

Data can consist of any characters

Min length: 1 Max length: 250
transaction[n].order.customerNote String CONDITIONAL

A note from the payer about this order.

Data can consist of any characters

Min length: 1 Max length: 250
transaction[n].order.customerOrderDate Date CONDITIONAL

The date the payer placed the order.

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

transaction[n].order.customerReference ASCII Text CONDITIONAL

The payer's own reference for the order.

This reference may assist the payer to identify the order in their system. For example, a purchase order number, project identifier, or cost center.

Data consists of ASCII characters

Min length: 0 Max length: 25
transaction[n].order.description String CONDITIONAL

Short textual description of the contents of the order.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].order.discount CONDITIONAL

Information about a price reduction you have applied to the order.

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

transaction[n].order.discount.amount Decimal CONDITIONAL

The total amount of the discount you have applied to the order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.discount.code String CONDITIONAL

The code you use to identify the reason for the discount.

Data can consist of any characters

Min length: 1 Max length: 40
transaction[n].order.discount.description String CONDITIONAL

A description of your reason for the discount.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].order.funding CONDITIONAL

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

transaction[n].order.funding.amount Decimal ALWAYS PROVIDED

The total amount of money funded to / from your bank account for this order, as reported to the gateway by your acquirer.

This includes sales (credits to your account) and refunds (debits).
See order.fundingStatus to determine the certainty of this value.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].order.funding.currency Upper case alphabetic text ALWAYS PROVIDED

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

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].order.fundingStatus Enumeration CONDITIONAL

The current status of funding for the money that you can reasonably expect for this order.

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.

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.id String ALWAYS PROVIDED

A unique identifier for this order to distinguish it from any other order you create.

Use this identifier when referring to this order in subsequent transactions and in retrieval operations. This value must be unique for every order created by your merchant profile.

Data can consist of any characters

Min length: 1 Max length: 40
transaction[n].order.invoiceNumber String CONDITIONAL

The invoice number you issued for this order.

Data can consist of any characters

Min length: 1 Max length: 25
transaction[n].order.item[n] CONDITIONAL

Information about the items the payer purchases with the order.

transaction[n].order.item[n].brand String CONDITIONAL

The brand of the item.

For example, Dell.

Data can consist of any characters

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

Your category for the item.

Data can consist of any characters

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

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

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

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].order.item[n].detail CONDITIONAL

Only use this parameter group to provide additional line item details required for a better interchange rate for Purchasing Cards, Business and/or Corporate Cards (Level 3).

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

transaction[n].order.item[n].detail.acquirerCustom JSON Text CONDITIONAL

Use this field to provide line item details that your acquirer requires you to provide.

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.

Data is valid Json Format

Min length: 1 Max length: 4000
transaction[n].order.item[n].detail.commodityCode Integer CONDITIONAL

A code describing a commodity or a group of commodities pertaining to goods classification.

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

Min value: 1 Max value: 9999999999999999
transaction[n].order.item[n].detail.tax[n] CONDITIONAL

Information about the taxes per line item.

transaction[n].order.item[n].detail.tax[n].amount Decimal CONDITIONAL

The tax amount for the tax type defined in order.item[n].detail.tax[m].type for the item.

Note that the tax amount provided must reflect the tax amount applied before a discount was applied.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].order.item[n].detail.tax[n].rate Decimal CONDITIONAL

The tax rate (percentage) applied to the item for the tax type defined in order.item[n].detail.tax[m].type.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].order.item[n].detail.tax[n].type String CONDITIONAL

The tax type for which the amount specified under order.item[n].detail.tax[m].amount has been paid for this item.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].order.item[n].detail.unitDiscountRate Decimal CONDITIONAL

The discount rate (percentage) applied to this item.

Data is a decimal number.

Max value: 999999 Min value: 0 Max post-decimal digits: 5
transaction[n].order.item[n].detail.unitTaxRate Decimal CONDITIONAL

The tax rate (percentage) of the tax charged for this item.

Data is a decimal number.

Max value: 999999 Min value: 0 Max post-decimal digits: 5
transaction[n].order.item[n].detail.unitTaxType String CONDITIONAL

The type of tax charged for this item.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 10
transaction[n].order.item[n].detail.unspsc Integer CONDITIONAL

The United Nations Standard Products and Services Code (UNSPSC) for the item.

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

Min value: 1 Max value: 9999999999999999
transaction[n].order.item[n].detail.upc Integer CONDITIONAL

The Universal Product Code (UPC) for the item.

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

Min value: 1 Max value: 9999999999999999
transaction[n].order.item[n].industryCategory Enumeration CONDITIONAL

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

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

We support the following industry standard processing:

US health care processing using the IIAS standard.

The supported values for industryCategory are:

HEALTHCARE_VISION, HEALTHCARE_DENTAL, HEALTHCARE_PRESCRIPTION, HEALTHCARE_OTHER

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

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

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

transaction[n].order.item[n].name String ALWAYS PROVIDED

A short name describing the item.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].order.item[n].quantity Decimal ALWAYS PROVIDED

The quantity of the item.

Data is a decimal number.

Max value: 1000000000000 Min value: 0
transaction[n].order.item[n].sku String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].order.item[n].unitDiscountAmount Decimal CONDITIONAL

The discount amount applied to this item.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].order.item[n].unitOfMeasure String CONDITIONAL

The unit of measure used for the item quantity.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 10
transaction[n].order.item[n].unitPrice Decimal ALWAYS PROVIDED

The cost price for the item.

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.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].order.item[n].unitTaxAmount Decimal CONDITIONAL

The tax amount for the item.

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

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].order.itemAmount Decimal CONDITIONAL

The total item amount for the order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.localTaxRegistrationId String CONDITIONAL

Your tax registration identifier provided by the Local/State/Province tax authority.

If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Provincial Sales Tax (PST).

Data can consist of any characters

Min length: 1 Max length: 25
transaction[n].order.merchantCategoryCode Digits CONDITIONAL

A 4-digit code used to classify your business by the type of goods or services it offers.This is also known as the Merchant Category Code (MCC).

You only need to provide the MCC if you want to override the default value configured for your acquirer link.The value you provide must match one of those configured by your payment service provider.

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

Min length: 4 Max length: 4
transaction[n].order.netAmount Decimal CONDITIONAL

The amount payable for the order before surcharging is applied.

If you specify a net amount the gateway will calculate the surcharge for you. Alternatively, you can specify the surcharge amount (order.surchargeAmount) yourself.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.notificationUrl Url CONDITIONAL

The URL to which the gateway will send Webhook notifications when an order is created or updated.

To receive notifications at this URL, you must enable Webhook notifications in Merchant Administration. Ensure the URL is HTTPS

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

transaction[n].order.owningEntity String CONDITIONAL

Your identifier for the part of your organization that is responsible for the order.

You might provide this data when you want to track the accountability for the order. For example, store number, sales region, branch, or profit center

Data can consist of any characters

Min length: 1 Max length: 40
transaction[n].order.reference String CONDITIONAL

An optional identifier for the order.

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

Data can consist of any characters

Min length: 1 Max length: 200
transaction[n].order.requestorName String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].order.shippingAndHandlingAmount Decimal CONDITIONAL

The total shipping and handling amount for the order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.statementDescriptor CONDITIONAL

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

transaction[n].order.statementDescriptor.address CONDITIONAL

Descriptor address of the merchant.

transaction[n].order.statementDescriptor.address.city String CONDITIONAL

The city portion of the address.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].order.statementDescriptor.address.company String CONDITIONAL

The name of the company associated with this address.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].order.statementDescriptor.address.country Upper case alphabetic text CONDITIONAL

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

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].order.statementDescriptor.address.postcodeZip Alphanumeric + additional characters CONDITIONAL

The post code or zip code of the address.

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

Min length: 1 Max length: 10
transaction[n].order.statementDescriptor.address.stateProvince String CONDITIONAL

The state or province of the address.

Data can consist of any characters

Min length: 1 Max length: 20
transaction[n].order.statementDescriptor.address.street String CONDITIONAL

The first line of the address.

For example, this may be the street name and number, or the Post Office Box details.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].order.statementDescriptor.address.street2 String CONDITIONAL

The second line of the address (if provided).

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].order.statementDescriptor.name String CONDITIONAL

Descriptor name of the merchant.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].order.statementDescriptor.phone String CONDITIONAL

Descriptor phone number of the merchant's business.

Data can consist of any characters

Min length: 1 Max length: 20
transaction[n].order.status Enumeration CONDITIONAL

The current progression of this order through the payment process.

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.

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

Information about orders for items not yet available (pre-order) or for items previously purchased (reorder).

transaction[n].order.supply.preorder Boolean CONDITIONAL

Indicates that the purchase includes merchandise with a future availability or release date.

JSON boolean values 'true' or 'false'.

transaction[n].order.supply.preorderAvailabilityDate Date CONDITIONAL

The date that preordered items are expected to be available.

Provide this field if the payer is ordering items before you have them available for purchase.

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

transaction[n].order.supply.reorder Boolean CONDITIONAL

Indicates that the purchase includes merchandise that the payer has previously ordered.

JSON boolean values 'true' or 'false'.

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.

transaction[n].order.tax[n].amount Decimal CONDITIONAL

The tax amount included in this order for the tax type.

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

Min length: 1 Max length: 14
transaction[n].order.tax[n].rate Decimal CONDITIONAL

The tax rate (percentage) used to determine the tax amount included in this order for the tax type.

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

Min length: 1 Max length: 6
transaction[n].order.tax[n].type String CONDITIONAL

The type of tax included in the order amount.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 50
transaction[n].order.taxAmount Decimal CONDITIONAL

The total tax amount for the order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.taxRegistrationId String CONDITIONAL

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

If you are a Canadian merchant, use this field to provide your Tax Registration ID for paying Harmonized Sales Tax (HST) or Goods and Services Tax (GST) collected by the Canada Revenue Agency.

Data can consist of any characters

Min length: 1 Max length: 30
transaction[n].order.taxStatus String CONDITIONAL

Indicates your tax status for this order.

Data can consist of any characters

Min length: 5 Max length: 20
transaction[n].order.totalAuthorizedAmount Decimal ALWAYS PROVIDED

The amount that has been successfully authorized for this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.totalCapturedAmount Decimal ALWAYS PROVIDED

The amount that has been successfully captured for this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.totalRefundedAmount Decimal ALWAYS PROVIDED

The amount that has been successfully refunded for this order.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].order.valueTransfer CONDITIONAL

Information about payments that transfer money to another store of value, such as a gift card or gaming chips.

transaction[n].order.valueTransfer.accountType Enumeration CONDITIONAL

The type of value store to which money is being transferred.

The default value is NOT_A_TRANSFER.

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 amount of money being transferred, in units of order.valueTransfer.currency.

The default value is order.amount

Data is a decimal number.

Max value: 1000000000000000000 Min value: 0 Max post-decimal digits: 12
transaction[n].order.valueTransfer.currency Upper case alphabetic text CONDITIONAL

The currency of the store.

If the money is being transferred to multiple currencies, then use the currency of the highest transferred value.

The default value is order.currency.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].order.valueTransfer.numberOfCards Integer CONDITIONAL

The number of prepaid or gift card being purchased.

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.

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

Min value: 0 Max value: 999
transaction[n].order.walletIndicator String CONDITIONAL

The wallet indicator as returned by the wallet provider.

Data can consist of any characters

Min length: 3 Max length: 3
transaction[n].order.walletProvider Enumeration CONDITIONAL

The wallet provider used to collect the customer's payment details used for this transaction.

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

transaction[n].response ALWAYS PROVIDED
transaction[n].response.acquirerCode ASCII Text CONDITIONAL

Value as generated by the acquirer that summarizes the success or otherwise of the proposed operation.

Data consists of ASCII characters

Min length: 1 Max length: 100
transaction[n].response.acquirerMessage ASCII Text CONDITIONAL

The response from the acquirer in the text form.

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.

Data consists of ASCII characters

Min length: 1 Max length: 255
transaction[n].response.cardSecurityCode CONDITIONAL
transaction[n].response.cardSecurityCode.acquirerCode ASCII Text CONDITIONAL

The acquirer CSC response code generated by the card issuing institution.

Data consists of ASCII characters

Min length: 1 Max length: 100
transaction[n].response.cardSecurityCode.gatewayCode Enumeration CONDITIONAL

The card security code result generated to indicate whether the data supplied matches the data held by the cardholder's issuing bank.

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

transaction[n].response.cardholderVerification.detailedVerification[n].gatewayCode Enumeration CONDITIONAL

The result returned after the specified data type has been verified by the acquirer.

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

The data type which has been verified by the acquirer.

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

The container for additional information about a transaction.

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.

Data can consist of any characters

Min length: 1 Max length: 2064
transaction[n].response.gatewayCode Enumeration ALWAYS PROVIDED

Summary of the success or otherwise of the operation.

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

If a payment fails, this indicates how you could change the request to bring about success.

This field is only present if your gateway configuration supports optional payment features.

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

ATTEMPT_WITH_AUTHENTICATION

This response will be presented if the gateway fails the request, but you might achieve a different result if you provide payer authentication data.

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.

PROCEED

Proceed with the next step in processing this payment by either: Authenticating the payer using the Authenticate Payer operation or Submitting the payment request as the payer is sufficiently authenticated, or updating card details.

transaction[n].response.onBehalfOfOperation Enumeration CONDITIONAL

An action that the gateway performed for you as part of processing this operation.

For example, the gateway automatically submitted an update authorization request to the acquirer when the requested capture amount exceeded the outstanding authorized amount.

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

UPDATE_AUTHORIZATION

Authorization Update

transaction[n].response.recurringPaymentAdvice CONDITIONAL
transaction[n].response.recurringPaymentAdvice.acquirerCode Digits CONDITIONAL

This code may be returned by the acquirer for a failed recurring transaction (also known as Merchant Advice Code or Recurring Payment Cancellation).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.

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

Min length: 0 Max length: 2
transaction[n].result Enumeration ALWAYS PROVIDED

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

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

FAILURE

The operation was declined or rejected by the gateway, acquirer or issuer

PENDING

The operation is currently in progress or pending processing

SUCCESS

The operation was successfully processed

UNKNOWN

The result of the operation is unknown

transaction[n].shipping CONDITIONAL

Shipping information for this order.

transaction[n].shipping.address CONDITIONAL

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

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

transaction[n].shipping.address.city String CONDITIONAL

The city portion of the address.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].shipping.address.company String CONDITIONAL

The name of the company associated with this address.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].shipping.address.country Upper case alphabetic text CONDITIONAL

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

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].shipping.address.postcodeZip Alphanumeric + additional characters CONDITIONAL

The post code or zip code of the address.

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

Min length: 1 Max length: 10
transaction[n].shipping.address.source Enumeration CONDITIONAL

How you obtained the shipping address.

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

The state or province of the address.

Data can consist of any characters

Min length: 1 Max length: 20
transaction[n].shipping.address.stateProvinceCode String CONDITIONAL

The three character ISO 3166-2 country subdivision code for the state or province of the address.

Providing this field might improve your payer experience for 3-D Secure payer authentication.

Data can consist of any characters

Min length: 1 Max length: 3
transaction[n].shipping.address.street String CONDITIONAL

The first line of the address.

For example, this may be the street name and number, or the Post Office Box details.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].shipping.address.street2 String CONDITIONAL

The second line of the address (if provided).

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].shipping.address.sameAsBilling Enumeration CONDITIONAL

Indicates whether the shipping address provided is the same as the payer's billing address.

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

The default value for this field is:

SAME - if the shipping and billing address are supplied, and all fields are the same (ignoring non-alphanumerics).
DIFFERENT - if the shipping and billing address are supplied, and at least one field is different (ignoring non-alphanumerics).
UNKNOWN - either shipping address or billing address is absent.

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.

transaction[n].shipping.contact.email Email CONDITIONAL

The contact person's email address.

The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.

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

transaction[n].shipping.contact.firstName String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 50
transaction[n].shipping.contact.lastName String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 50
transaction[n].shipping.contact.mobilePhone Telephone Number CONDITIONAL

The contact person's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678

The number consists of:

  • '+'
  • country code (1, 2 or 3 digits)
  • 'space'
  • national number ( which may embed single spaces characters for readability).

Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)

Mandatory country code: true Max total digits: 15
transaction[n].shipping.contact.phone Telephone Number CONDITIONAL

The contact person's phone number in ITU-T E123 format, for example +1 607 1234 456

The number consists of:

  • '+'
  • country code (1, 2 or 3 digits)
  • 'space'
  • national number ( which may embed single spaces characters for readability).

Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)

Mandatory country code: true Max total digits: 15
transaction[n].shipping.contact.sameAsBilling Enumeration CONDITIONAL

Indicates whether the supplied name for the recipient of shipping matches the cardholder name.

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

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

The shipping method used for delivery of this order

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

The post code or zip code of the address the order is shipped from.

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

Min length: 1 Max length: 10
transaction[n].timeOfRecord DateTime CONDITIONAL

Transaction Date.

The date when the transaction happened.The time the gateway considers the operation to have occurred. The gateway uses timeOfRecord as a point-in-time value for operations such as sorting, billing, and reporting.

An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"

transaction[n].transaction ALWAYS PROVIDED

Information about this transaction.

transaction[n].transaction.acquirer ALWAYS PROVIDED
transaction[n].transaction.acquirer.additionalResponseData JSON Text CONDITIONAL

Provides additional data provided by the acquirer in the transaction response that could be of interest to you.

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}

Data is JSON Text

Min length: 1 Max length: 4000
transaction[n].transaction.acquirer.batch Integer CONDITIONAL

The processor's identifier for the settlement batch.

Provided only if the transaction was settled by batch.

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

Min value: 1 Max value: 2147483647
transaction[n].transaction.acquirer.customData String CONDITIONAL

Additional information requested by the acquirer which cannot be passed using other available data fields.

This field must not contain sensitive data.

Data can consist of any characters

Min length: 1 Max length: 4000
transaction[n].transaction.acquirer.date String CONDITIONAL

The date the transaction was processed, as returned by the acquirer.

Not returned by most acquirers.

Data can consist of any characters

Min length: 1 Max length: 4000
transaction[n].transaction.acquirer.id String CONDITIONAL

The ID for the acquirer used to process the transaction.

Data can consist of any characters

Min length: 1 Max length: 40
transaction[n].transaction.acquirer.merchantId String CONDITIONAL

An identifier allocated by an acquirer to the merchant.

This may also be referred to as the Card Acceptor Identification Code (CAIC), Card Acceptor ID (CAID), or Service Establishment Number (SE Number).

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].transaction.acquirer.settlementDate Date CONDITIONAL

The date the acquirer expects the funds to be transferred to (in the case of payments) or from (in the case of refunds) the merchant's account.

The date is defined in the acquirer's time zone (see transaction.acquirer.timeZone).

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

transaction[n].transaction.acquirer.time String CONDITIONAL

The time the transaction was processed, as returned by the acquirer.

Not returned by most acquirers.

Data can consist of any characters

Min length: 1 Max length: 4000
transaction[n].transaction.acquirer.timeZone Time Offset CONDITIONAL

The acquirer's time zone associated with the settlement date for the transaction (see transaction.acquirer.settlementDate).

Data must comply with ISO 8601 UTC time offset format, +hhmm or -hhmm.

transaction[n].transaction.acquirer.transactionId String CONDITIONAL

Identifier used by the acquirer to identify the transaction.

This identifier may be used by the acquirer in settlement reports.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].transaction.amount Decimal ALWAYS PROVIDED

The total amount for the transaction.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].transaction.authenticationStatus Enumeration CONDITIONAL

Indicates the result of payer authentication.

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

The action you want the gateway to take if you submit a capture amount that is different from the outstanding authorization amount for the order.

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.

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

The amount by which the original authorization amount was adjusted.The original authorized amount was increased (positive value) or decreased (negative value) by this amount.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].transaction.authorizationCode ASCII Text CONDITIONAL

Value generated by the issuing bank in response to a proposal to transfer funds.

Data consists of ASCII characters

Min length: 1 Max length: 100
transaction[n].transaction.currency Upper case alphabetic text ALWAYS PROVIDED

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

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].transaction.discountAmount Decimal CONDITIONAL

The total amount deducted from the transaction amount that would normally apply.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].transaction.dispute CONDITIONAL

Information about the disputed transaction.

transaction[n].transaction.dispute.dateRecurringPaymentCancelled Date CONDITIONAL

The date the payer notified the issuer to cancel a recurring payment that is being disputed.

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

transaction[n].transaction.dispute.deadlineDate Date CONDITIONAL

The date by which the merchant must take action.

For example, if the acquirer has requested additional information (transaction.dispute.event = INFORMATION_REQUESTED), the merchant must provide a response by this date.

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

transaction[n].transaction.dispute.event Enumeration ALWAYS PROVIDED

The step in the dispute management process that triggered this transaction

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

The date of the event in the dispute management process described by transaction.dispute.event

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

transaction[n].transaction.dispute.eventInformation String CONDITIONAL

Additional information about the dispute event (see transaction.dispute.event).

The terms used here will reflect the terms used by your bank.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].transaction.dispute.match CONDITIONAL

Parameters used by the gateway to match the chargeback transaction to the original transaction being disputed.

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.

transaction[n].transaction.dispute.match.RRN ASCII Text CONDITIONAL

The Retrieval Reference Number of the disputed transaction.

Data consists of ASCII characters

Min length: 1 Max length: 100
transaction[n].transaction.dispute.match.acquirerTransactionId String CONDITIONAL

Identifier used by the acquirer to identify the disputed transaction.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].transaction.dispute.match.date Date CONDITIONAL

The date of the disputed transaction.

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

transaction[n].transaction.dispute.match.stan Digits CONDITIONAL

The System Trace Audit Number of the disputed transaction.

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

Min length: 1 Max length: 6
transaction[n].transaction.dispute.matchAction Enumeration ALWAYS PROVIDED

Indicates how the chargeback transaction is recorded.

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

A description of why the transaction is disputed.

Data consists of ASCII characters

Min length: 1 Max length: 100
transaction[n].transaction.dispute.reasonCode ASCII Text CONDITIONAL

A code provided by the acquirer to indicate the reason for the chargeback.

Data consists of ASCII characters

Min length: 1 Max length: 10
transaction[n].transaction.funding CONDITIONAL

Details of the amount settled to your account for this transaction.

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.

transaction[n].transaction.funding.acquirerEventDescription String CONDITIONAL

The service provider's description for the funding type.

Data can consist of any characters

Min length: 1 Max length: 100
transaction[n].transaction.funding.amount Decimal CONDITIONAL

The amount of money in your bank account, as reported to the gateway for this transaction.

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.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].transaction.funding.currency Upper case alphabetic text CONDITIONAL

The currency of transaction.funding.amount expressed as an ISO 4217 alpha code, e.g. USD.

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.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].transaction.funding.date Date CONDITIONAL

The date the funds arrive in your bank account.

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.

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

transaction[n].transaction.funding.estimatedDate Date CONDITIONAL

The date the acquirer estimates the funds to arrive in your bank account.

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

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

transaction[n].transaction.funding.fee[n] CONDITIONAL

Breakdown of the fees deducted by your acquirer for this transaction.

transaction[n].transaction.funding.fee[n].acquirerFeeName String CONDITIONAL

The name of the fee as provided by your acquirer.

Data can consist of any characters

Min length: 0 Max length: 127
transaction[n].transaction.funding.fee[n].amount Decimal CONDITIONAL

The fee amount for the fee type defined in funding.fee[n].type for this transaction.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 4
transaction[n].transaction.funding.fee[n].date Date CONDITIONAL

The date the fees are debited from your bank account.

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

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

transaction[n].transaction.funding.fee[n].estimatedDate Date CONDITIONAL

The date the acquirer estimates that the fees are being debited from your bank account.

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

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

transaction[n].transaction.funding.fee[n].initiatedDate Date CONDITIONAL

The date the acquirer initiated the fees being debited from your bank account.

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

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

transaction[n].transaction.funding.fee[n].rate Decimal CONDITIONAL

The rate (percentage) applied to the transaction amount to determine the fee amount for the fee type defined in funding.fee[n].type.

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

Min length: 1 Max length: 6
transaction[n].transaction.funding.fee[n].type Enumeration CONDITIONAL

The fee type for which the amount defined in funding.fee[n].amount has been charged.

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

The total fee amount deducted by your acquirer for the transaction for settling the funds to your account.

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.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 4
transaction[n].transaction.funding.feeCurrency Upper case alphabetic text CONDITIONAL

The currency of transaction.funding.feeAmount expressed as an ISO 4217 alpha code, e.g. USD.

Data must consist of the characters A-Z

Min length: 3 Max length: 3
transaction[n].transaction.funding.initiatedDate Date CONDITIONAL

The date the acquirer initiated the funds transfer into your bank account.

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

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

transaction[n].transaction.funding.settlementIdentifier String CONDITIONAL

Your bank's Identifier for the group of transactions settled to your account.

Data can consist of any characters

Min length: 1 Max length: 40
transaction[n].transaction.funding.status Enumeration ALWAYS PROVIDED

The current status of funding to / from your account for this transaction.

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

Unique identifier for this transaction to distinguish it from any other transaction on the order.

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.

Data can consist of any characters

Min length: 1 Max length: 40
transaction[n].transaction.item[n] CONDITIONAL

Information about the items the payer purchases with the transaction.

transaction[n].transaction.item[n].brand String CONDITIONAL

The brand of the item.

For example, Dell.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].transaction.item[n].category String CONDITIONAL

Your category for the item.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].transaction.item[n].description String CONDITIONAL

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

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

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].transaction.item[n].detail CONDITIONAL

Only use this parameter group to provide additional line item details required for a better interchange rate for Purchasing Cards, Business and/or Corporate Cards (Level 3).

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

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

Use this field to provide line item details that your acquirer requires you to provide.

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.

Data is valid Json Format

Min length: 1 Max length: 4000
transaction[n].transaction.item[n].detail.commodityCode Integer CONDITIONAL

A code describing a commodity or a group of commodities pertaining to goods classification.

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

Min value: 1 Max value: 9999999999999999
transaction[n].transaction.item[n].detail.tax[n] CONDITIONAL

Information about the taxes per line item.

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

The tax amount for the tax type defined in order.item[n].detail.tax[m].type for the item.

Note that the tax amount provided must reflect the tax amount applied before a discount was applied.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].transaction.item[n].detail.tax[n].rate Decimal CONDITIONAL

The tax rate (percentage) applied to the item for the tax type defined in order.item[n].detail.tax[m].type.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].transaction.item[n].detail.tax[n].type String CONDITIONAL

The tax type for which the amount specified under order.item[n].detail.tax[m].amount has been paid for this item.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].transaction.item[n].detail.unitDiscountRate Decimal CONDITIONAL

The discount rate (percentage) applied to this item.

Data is a decimal number.

Max value: 999999 Min value: 0 Max post-decimal digits: 5
transaction[n].transaction.item[n].detail.unitTaxRate Decimal CONDITIONAL

The tax rate (percentage) of the tax charged for this item.

Data is a decimal number.

Max value: 999999 Min value: 0 Max post-decimal digits: 5
transaction[n].transaction.item[n].detail.unitTaxType String CONDITIONAL

The type of tax charged for this item.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 10
transaction[n].transaction.item[n].detail.unspsc Integer CONDITIONAL

The United Nations Standard Products and Services Code (UNSPSC) for the item.

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

Min value: 1 Max value: 9999999999999999
transaction[n].transaction.item[n].detail.upc Integer CONDITIONAL

The Universal Product Code (UPC) for the item.

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

Min value: 1 Max value: 9999999999999999
transaction[n].transaction.item[n].industryCategory Enumeration CONDITIONAL

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

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

We support the following industry standard processing:

US health care processing using the IIAS standard.

The supported values for industryCategory are:

HEALTHCARE_VISION, HEALTHCARE_DENTAL, HEALTHCARE_PRESCRIPTION, HEALTHCARE_OTHER

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

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

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

transaction[n].transaction.item[n].name String ALWAYS PROVIDED

A short name describing the item.

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].transaction.item[n].quantity Decimal ALWAYS PROVIDED

The quantity of the item.

Data is a decimal number.

Max value: 1000000000000 Min value: 0
transaction[n].transaction.item[n].sku String CONDITIONAL

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

Data can consist of any characters

Min length: 1 Max length: 127
transaction[n].transaction.item[n].unitDiscountAmount Decimal CONDITIONAL

The discount amount applied to this item.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].transaction.item[n].unitOfMeasure String CONDITIONAL

The unit of measure used for the item quantity.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 10
transaction[n].transaction.item[n].unitPrice Decimal ALWAYS PROVIDED

The cost price for the item.

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.

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].transaction.item[n].unitTaxAmount Decimal CONDITIONAL

The tax amount for the item.

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

Data is a decimal number.

Max value: 1000000000000 Min value: -1000000000000 Max post-decimal digits: 3
transaction[n].transaction.itemAmount Decimal CONDITIONAL

The total item amount for this transaction.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].transaction.merchantNote String CONDITIONAL

Your note about this transaction.

Data can consist of any characters

Min length: 1 Max length: 250
transaction[n].transaction.receipt ASCII Text CONDITIONAL

A unique reference generated by the acquirer for a specific merchant interaction.

The reference may be used when contacting the acquirer about a specific transaction.

Data consists of ASCII characters

Min length: 1 Max length: 100
transaction[n].transaction.reference String CONDITIONAL

An optional identifier for this transaction.

Data can consist of any characters

Min length: 1 Max length: 40
transaction[n].transaction.requestedAmount Decimal CONDITIONAL

If the transaction was partially approved (response.gatewayCode=PARTIALLY_APPROVED), this field contains the originally requested amount.

The transaction amount (transaction.amount) and order amount (order.amount) are both set to the actually approved amount.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].transaction.shippingAndHandlingAmount Decimal CONDITIONAL

The total shipping and handling amount for this transaction.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].transaction.source Enumeration CONDITIONAL

Indicates the channel through which you received authorization for the payment for this order from the payer.

For example, set this value to INTERNET if the payer initiated the payment online.

If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT. You only need to provide transaction.source if you want to override the default value configured for your acquirer link.

Note:

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

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

CARD_PRESENT

Transaction where the card is presented to the merchant.

INTERNET

Transaction conducted over the Internet.

MOTO

Transaction received by mail or telephone.

transaction[n].transaction.targetTransactionId String CONDITIONAL

The identifier for the transaction you wish to void or refund.

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

Data can consist of any characters

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

transaction[n].transaction.tax[n].amount Decimal CONDITIONAL

The tax amount included in this transaction for the tax type.

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

Min length: 1 Max length: 14
transaction[n].transaction.tax[n].rate Decimal CONDITIONAL

The tax rate (percentage) used to determine the tax amount included in this transaction for the tax type.

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

Min length: 1 Max length: 6
transaction[n].transaction.tax[n].type String CONDITIONAL

The type of tax included in the transaction amount.

The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.

Data can consist of any characters

Min length: 1 Max length: 50
transaction[n].transaction.taxAmount Decimal CONDITIONAL

The total tax amount for the transaction.

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.

Data is a decimal number.

Max value: 1000000000000 Min value: 0 Max post-decimal digits: 3
transaction[n].transaction.taxStatus String CONDITIONAL

Indicates your tax status for this transaction.

Data can consist of any characters

Min length: 5 Max length: 20
transaction[n].transaction.type Enumeration ALWAYS PROVIDED

Indicates the type of action performed on the order.

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

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.

transaction[n].transaction.update[n].gatewayCode Enumeration CONDITIONAL

The new response gateway code for the transaction set at the date and time associated (transaction.update[n].time).

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

The date and time the status change occurred.

Data consists of ASCII characters

Min length: 0 Max length: 29
transaction[n].userId String CONDITIONAL

The person who initiated this transaction.

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

Data can consist of any characters

Min length: 1 Max length: 256
transaction[n].version String CONDITIONAL

The Web Services API version that you submitted the request in.

Data can consist of any characters

Min length: 1 Max length: 8

Errors

error

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

error.cause Enumeration

Broadly categorizes the cause of the error.

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

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

INVALID_REQUEST

The request was rejected because it did not conform to the API protocol.

REQUEST_REJECTED

The request was rejected due to security reasons such as firewall rules, expired certificate, etc.

SERVER_BUSY

The server did not have enough resources to process the request at the moment.

SERVER_FAILED

There was an internal system failure.

error.explanation String

Textual description of the error based on the cause.

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

Data can consist of any characters

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

Indicates the name of the field that failed validation.

This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.

Data can consist of any characters

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

Indicates the code that helps the support team to quickly identify the exact cause of the error.

This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.

Data can consist of any characters

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

Indicates the type of field validation error.

This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.

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

INVALID

The request contained a field with a value that did not pass validation.

MISSING

The request was missing a mandatory field.

UNSUPPORTED

The request contained a field that is unsupported.

result Enumeration

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

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

ERROR

The operation resulted in an error and hence cannot be processed.