In this Hosted Payment Page (HPP) reference, we present an overview of each request type, along with examples of request and response values. For more information on the HPP, see our Overview.
Once you're ready to process a payment in your application or website, send an HTTP POST with the transaction details to our Hosted Payment Page. You can load the HPP in an iFrame to seamlessly integrate it with your customer journey. Alternatively, if you choose a full redirect, use our template system to maintain the style of your application or website. The HPP will render according to the device the customer is using: desktop, tablet, or mobile.
Once complete, we'll return the transaction response to a nominated URL that can be supplied in the POST, or it can be sent to the parent frame/window. The response will contain a hashed string (SHA1HASH) made up of key transaction variables, including the Order ID, Result Code and Timestamp. The SDK will automatically check the hash for you and throw an exception if there is an issue. If you are not using the SDK please see the How to Check the Response Hash documentation for each request type.
The Timestamp returned in the response will be identical to the one sent in the request POST. This, combined with the Order ID and other transaction variables, can be used to definitively link the response received with the transaction request and order created in your application. You should also check the other transaction variables, for example the Amount, against what was stored in your application at the time the request was sent.
<form action="https://pay.sandbox.realexpayments.com/pay" method="POST" target="iframe">
<input type="hidden" name="TIMESTAMP" value="20180613110737">
<input type="hidden" name="MERCHANT_ID" value="MerchantId">
<input type="hidden" name="ACCOUNT" value="internet">
<input type="hidden" name="ORDER_ID" value="N6qsk4kYRZihmPrTXWYS6g">
<input type="hidden" name="AMOUNT" value="1999">
<input type="hidden" name="CURRENCY" value="EUR">
<input type="hidden" name="AUTO_SETTLE_FLAG" value="1">
<input type="hidden" name="COMMENT1" value="Mobile Channel">
<input type="hidden" name="HPP_VERSION" value="2">
<input type="hidden" name="HPP_CHANNEL" value="ECOM">
<input type="hidden" name="HPP_LANG" value="en">
<!-- Begin 3D Secure 2 Mandatory and Recommended Fields -->
<input type="hidden" name="HPP_CUSTOMER_EMAIL" value="test@example.com">
<input type="hidden" name="HPP_CUSTOMER_PHONENUMBER_MOBILE" value="44|789456123">
<input type="hidden" name="HPP_BILLING_STREET1" value="Flat 123">
<input type="hidden" name="HPP_BILLING_STREET2" value="House 456">
<input type="hidden" name="HPP_BILLING_STREET3" value="Unit 4">
<input type="hidden" name="HPP_BILLING_CITY" value="Halifax">
<input type="hidden" name="HPP_BILLING_POSTALCODE" value="W5 9HR">
<input type="hidden" name="HPP_BILLING_COUNTRY" value="826">
<input type="hidden" name="HPP_SHIPPING_STREET1" value="Apartment 852">
<input type="hidden" name="HPP_SHIPPING_STREET2" value="Complex 741">
<input type="hidden" name="HPP_SHIPPING_STREET3" value="House 963">
<input type="hidden" name="HPP_SHIPPING_CITY" value="Chicago">
<input type="hidden" name="HPP_SHIPPING_STATE" value="IL">
<input type="hidden" name="HPP_SHIPPING_POSTALCODE" value="50001">
<input type="hidden" name="HPP_SHIPPING_COUNTRY" value="840">
<input type="hidden" name="HPP_ADDRESS_MATCH_INDICATOR" value="FALSE">
<input type="hidden" name="HPP_CHALLENGE_REQUEST_INDICATOR" value="NO_PREFERENCE">
<!-- End 3D Secure 2 Mandatory and Recommended Fields -->
<!-- Begin Fraud Management and Reconciliation Fields -->
<input type="hidden" name="BILLING_CODE" value="59|123">
<input type="hidden" name="BILLING_CO" value="GB">
<input type="hidden" name="SHIPPING_CODE" value="50001|Apartment 852">
<input type="hidden" name="SHIPPING_CO" value="US">
<input type="hidden" name="CUST_NUM" value="6e027928-c477-4689-a45f-4e138a1f208a">
<input type="hidden" name="VAR_REF" value="Acme Corporation">
<input type="hidden" name="PROD_ID" value="SKU1000054">
<!-- End Fraud Management and Reconciliation Fields -->
<input type="hidden" name="MERCHANT_RESPONSE_URL" value="https://www.example.com/responseUrl">
<input type="hidden" name="CARD_PAYMENT_BUTTON" value="Pay Invoice">
<input type="hidden" name="CUSTOM_FIELD_NAME" value="Custom Field Data">
<input type="hidden" name="SHA1HASH" value="308bb8dfbbfcc67c28d602d988ab104c3b08d012">
<input type="submit" value="Click To Pay">
</form>Type indicates whether the element is Mandatory (M), Optional (O), or Conditional (C) - dependent on another field.
Unless otherwise stated in the description, the allowed special characters in an alphanumeric string field are [/.-_‘,␣]
| Element/Field | Category | Format | Type | Length | Description |
|---|---|---|---|---|---|
| Timestamp | string | numeric | M | 14 | Entered in the following format: YYYYMMDDHHMMSS. If the timestamp is more than a day (86400 seconds) away from the current time, the request will be rejected. Automatically set if using the SDK. |
| Merchant ID | string | alphanumeric | M | 1-50 | Your Client ID assigned by us. Allowed characters: [a-zA-Z0-9.] |
| Account | string | alphanumeric | O | 0-30 | The sub-account for this request to be processed through. Allowed characters: [a-zA-Z0-9.] |
| Order Id | string | alphanumeric | M | 1-50 | A merchant supplied reference to identify this transaction. Must be unique for each attempt. Allowed characters: [a-zA-Z0-9_-] |
| Amount | integer | M | 1-11 | The amount should be in the smallest unit of the required currency. For example: 2000 = €20.00 | |
| Currency | string | ISO 4217 | M | 3 | The processing currency of the transaction. Please see the list of Currency Codes. |
| AutoSettle/AutoCapture Flag | string | enum | M | Used to specify the settlement/capture type. Allowed values: 0 - Delayed Settle (Capture) / Authorize, don't automatically add to the settlement file. 1 - Auto Settle (Capture) / Charge, automatically added to the next settlement file. MULTI - Multi Settle (Capture), don't automatically add to the settlement file. Enables multiple settlement/capture requests up to 115% of the original transaction value. | |
| Comment | string | alphanumeric | O | 0-255 | You can submit up to two comments about this request. This information will be displayed under the transaction in Ecommerce Portal. |
| HPP Lang | string | enum | O | 5 | Used to set what language HPP is displayed in. If the field is not sent, the default language set on your account will be displayed. This can be configured by your account manager. Please see the list of HPP Language Codes. |
| HPP Version | integer | M | 1 |
Once the customer has completed their transaction, HPP will return the response to the parent frame or nominated URL. At this point you can redirect the customer to the appropriate success or failure page in your application/website, update your database and send an email to your customer based on the outcome of the transaction.
To return the customer to HPP after an unsuccessful transaction, you must ensure that a unique Order ID is used. Any Order ID that has been processed previously will generate an error (501 result code).
[RESULT=00,
AUTHCODE=12345,
MESSAGE=[ test system ] Authorised,
PASREF=14631546336115597,
AVSPOSTCODERESULT=M,
AVSADDRESSRESULT=M,
CVNRESULT=M,
ACCOUNT=internet,
MERCHANT_ID=MerchantId,
ORDER_ID=N6qsk4kYRZihmPrTXWYS6g,
TIMESTAMP=20180613113227,
AMOUNT=1001,
BATCHID=691175,
CARD_PAYMENT_BUTTON=Pay Invoice,
MERCHANT_RESPONSE_URL=https://www.example.com/responseUrl,
HPP_LANG=GB,
BILLING_CODE=59|123,
BILLING_CO=GB,
SHIPPING_CODE=50001|Apartment 852,
SHIPPING_CO=US,
COMMENT1=Mobile Channel,
ECI=5
AUTHENTICATION_VALUE=ODQzNjgwNjU0ZjM3N2JmYTg0NTM=,
DS_TRANS_ID=c272b04f-6e7b-43a2-bb78-90f4fb94aa25,
MESSAGE_VERSION=2.1.0,
SRD=MMC0F00YE4000000715,
SHA1HASH=8ab81d4437e24a88a08cffb51c15151846bd7b61] | Element/Field | Category | Format | Description |
|---|---|---|---|
| Result | string | numeric | The result code indicating the outcome of the transaction. Please see the list of Messages & Error Codes. |
| Authcode | string | alphanumeric | The authorization code returned by the Issuer. Allowed characters: [a-zA-Z0-9␣] |
| Message | string | alphanumeric | Text of the response from the Gateway, Acquirer, Issuer or Payment Method. |
| Payments Reference | string | alphanumeric | A unique reference assigned by us for the transaction. Allowed characters: [a-zA-Z0-9␣] |
| AVS Postcode Response | string | enum | The result of the Address Verification Service (AVS) check on the postcode and first line of the billing address: M - Matched N - Not Matched I - Problem with check U - Unable to check - Issuer not certified, for example P - Partial Match Available for US, CA and GB cardholders only. |
| AVS Address Response | string | enum | See AVS Postcode Response |
| CVN Result | string | enum | The result of the Security Code (CVN, CVV) check: M - Matched N - Not Matched I - Not checked due to circumstances U - Not checked - issuer not certified P - Not Processed |
| Account | string | alphanumeric | The sub-account for this request to be processed through. Allowed characters: [a-zA-Z0-9.] |
| Merchant ID | string | alphanumeric | Your Client ID assigned by us. Allowed characters: [a-zA-Z0-9.] |
| Order Id | string | alphanumeric | A merchant supplied reference to identify this transaction. Must be unique for each attempt. Allowed characters: [a-zA-Z0-9_-] |
| Timestamp | string | numeric | Entered in the following format: YYYYMMDDHHMMSS. If the timestamp is more than a day (86400 seconds) away from the current time, the request will be rejected. Automatically set if using the SDK. |
| Amount | integer | The amount should be in the smallest unit of the required currency. For example: 2000 = €20.00 | |
| Card Payment Button | string | alphanumeric | Used to set what text is displayed on the payment button for card transactions. If this field is not sent in, “Pay Now” is displayed on the button by default. |
Open to Buy (OTB) allows you to check that a card is still valid and active without actually processing a payment against it. This is an alternative to charging the card a small amount (for example, 10c) to obtain the same result. The Security Code (CVN) and Address Verification Service (AVS) checks will also be performed against it.
The amount in the request must be submitted as 0.
It is possible to set the Fraud Filter mode to ACTIVE for OTB transactions. This can be configured by setting the Fraud Filter Mode as ACTIVE. This field is available in the HPP Reference for Fraud Management.
<form action="https://pay.sandbox.realexpayments.com/pay" method="POST" target="iframe">
<input type="hidden" name="TIMESTAMP" value="20180613110737">
<input type="hidden" name="MERCHANT_ID" value="MerchantId">
<input type="hidden" name="ACCOUNT" value="internet">
<input type="hidden" name="ORDER_ID" value="N6qsk4kYRZihmPrTXWYS6g">
<input type="hidden" name="AMOUNT" value="0">
<input type="hidden" name="CURRENCY" value="EUR">
<input type="hidden" name="AUTO_SETTLE_FLAG" value="1">
<input type="hidden" name="HPP_VERSION" value="2">
<input type="hidden" name="MERCHANT_RESPONSE_URL" value="https://www.example.com/responseUrl">
<!-- OTB Field -->
<input type="hidden" name="VALIDATE_CARD_ONLY" value="1">
<!-- End OTB Field -->
<input type="hidden" name="SHA1HASH" value="308bb8dfbbfcc67c28d602d988ab104c3b08d012">
<input type="submit" value="Click To Pay">
</form>Type indicates whether the element is Mandatory ( M), Optional ( O), or Conditional ( C) - dependent on another field.
Unless otherwise stated in the description, the allowed special characters in an alphanumeric string field are [/.-_‘,␣]
| Element/Field | Category | Format | Type | Length | Description |
|---|---|---|---|---|---|
| Validate Card Only | integer | O | 1 | The most common usage: 1: The card will be checked and the result will be sent back on the response Other usage: 0: Can be used to store a card without first validating or processing a payment against it. May suit specific use case scenarios. |
In addition to the standard HPP response, the following fields will also be included:
[VALIDATE_CARD_ONLY=1]| Element/Field | Category/Field | Format | Description |
|---|---|---|---|
| Validate Card Only | integer | The most common usage: 1: The card will be checked and the result will be sent back on the response Other usage: 0: Can be used to store a card without first validating or processing a payment against it. May suit specific use case scenarios. |
When loading the HPP in an iFrame/WebView, it's useful to know what the current height and width of the payment form is and when this changes. Various events on HPP, including the display of input warning messages or the DCC choice, can significantly alter the size of the form and your iFrame/WebView may have to resize to account for this. If you're using our Libraries and SDKs they'll take care of these fields for you.
Similarly, instead of relying on a HTTP POST to a nominated URL in your application to receive the transaction response, you may wish to have it returned, instead, to your iFrame/WebView. Two additional fields in the request POST will tell HPP to post this information back to the parent frame or window.
A simple example of embedding the HPP into a checkout using an iFrame:
<form action="https://pay.sandbox.realexpayments.com/pay" method="POST" target="iframe">
<input type="hidden" name="TIMESTAMP" value="20180613104233">
<input type="hidden" name="MERCHANT_ID" value="MerchantId">
<input type="hidden" name="ACCOUNT" value="internet">
<input type="hidden" name="ORDER_ID" value="N6qsk4kYRZihmPrTXWYS6g">
<input type="hidden" name="AMOUNT" value="1001">
<input type="hidden" name="CURRENCY" value="EUR">
<input type="hidden" name="SHA1HASH" value="308bb8dfbbfcc67c28d602d988ab104c3b08d012">
<input type="hidden" name="AUTO_SETTLE_FLAG" value="1">
<input type="hidden" name="HPP_VERSION" value="2">
<!-- iFrame Optimization Fields -->
<input type="hidden" name="HPP_POST_DIMENSIONS" value="https://www.example.com">
<input type="hidden" name="HPP_POST_RESPONSE" value="https://www.example.com">
<!-- End iFrame Optimization Fields -->
<input type="hidden" name="MERCHANT_RESPONSE_URL" value="https://www.example.com/responseUrl">
<input type="submit" value="Click here to Purchase">
</form>Type indicates whether the field is Mandatory (M), Optional (O), or Conditional (C) - dependent on another field.
Unless otherwise stated in the description, the allowed special characters in an alphanumeric string field are [/.-_‘,␣]
| Element/Field | Category | Format | Type | Length | Description |
|---|---|---|---|---|---|
| HPP Post Dimensions | string | Standard URL Format | O | 0-255 | This field must contain the domain of the application hosting the iFrame or WebView. This will tell the HPP to post back the height and width any time it changes, for example if an input warning is displayed. |
| HPP Post Response | string | Standard URL Format | O | 0-255 | This field must contain the domain of the application hosting the iFrame or WebView. This will tell the HPP to post back the transaction response to the parent frame or window. The response is posted back as a name/value pair JSON string with the values Base64 encoded (example below). |
Each time the height or width of the HPP changes, the new values will be returned to the parent frame or window. You can add an event listener to your parent frame to receive this data. The value will be posted back as a JSON string.
"{ "iframe":{ "height":"552px", "width":"800px" } }"You can now parse the JSON string and adapt the size of the parent frame if required.
Once the transaction is complete, this field tells HPP to post the response back to the parent frame or window, instead of to a nominated URL in your application. Your event listener will receive the following JSON name/value pair string, with the values Base64 encoded.
Once parsed and the result decoded, you can choose to close the HPP frame to display a success/failure message or continue with your customer journey.
{
"BILLING_CODE": "MzY3fDM5MQ==",
"BATCHID": "MzM0NDQ3",
"HPP_FRAUDFILTER_RULE_cf609cf9-9e5a-4700-ac69-8aa09c119305": "UEFTUw==",
"HPP_FRAUDFILTER_RULE_NAME": "TmFtZSBMaXN0",
"HPP_FRAUDFILTER_RESULT": "UEFTUw==" "AUTHCODE": "MTIzNDU=",
"AMOUNT": "MjUwMA==",
"ACCOUNT": "aW50ZXJuZXQ=",
"CVNRESULT": "TQ==", "MESSAGE": "WyB0ZXN0IHN5c3RlbSBdIEFVVEhPUklTRUQ=",
"ORDER_ID": "MjAxNjA2MTcwODE1MDktNDQ4",
"RESULT": "MDA=",
"PASREF": "MTQ2NjE1MTMxNzcyODk0MDE=",
"SHA1HASH": "NDAyYjIzYzMzODMwNGVkMzM1MTc4YTdlNjg2YTYzZmI2ZjcwNjI1ZA==",
"TIMESTAMP": "MjAxNjA2MTcwODE1MDk=",
"MERCHANT_ID": "c2Vhbm1hY2RvbWhuYWxsdGVzdA==",
}To return the customer to HPP after an unsuccessful transaction, you must ensure that a unique Order ID is used. Any Order ID that has been processed previously will generate an error (501 result code).
Your application can now send this link to your customer, for example via email or SMS. Once clicked, they will be redirected to the HPP to complete payment. The HPP can be customized using our template system to maintain the look and feel of your brand and customer experience.
Once payment is complete, HPP will return the transaction response to a nominated URL that can be supplied in the POST (see example above). Please refer to the Authorization article above on how to handle the response from HPP.
If invalid data is submitted the HPP will return JSON string(s) indicating any issues with each fields.
{
"errors": [
{
"resultCode": 508,
"internalErrorCode": 61755,
"errorMessage": "Parsing Failure due to Invalid JSON."
}
]
}Invalid data submitted (e.g. the name sent in the ACCOUNT field does not exist)
{
"errors": [
{
"resultCode": 506,
"internalErrorCode": 61201,
"errorMessage": "Invalid MERCHANT_ID or ACCOUNT. Please contact the merchant."
}
]
}Invalid data submitted (e.g. the amount sent in the AMOUNT field contained a comma)
{
"errors": [
{
"resultCode": 508,
"internalErrorCode": 61015,
"errorMessage": "Invalid characters in AMOUNT field. Please contact the merchant."
}
]
}Follow the steps in this section to build the request security hash, concatenate the specified fields and hash them using the SHA-1 algorithm, concatenate the hashed string with your Shared Secret, hash it again, and add the resulted string to the request.
In addition to SHA-1, you can also generate your hash using SHA-256. The resulting hash should be placed in the tag instead of the tag. For more information, contact our support team.
Use the tabs below to follow the steps for a certain request type: Authorization or Open to Buy (OTB).
The blueprint of the hash for this request is:
"timestamp.merchantid.orderid.amount.currency"Based on the example above our initial string will be:
"20200324121120.MerchantID.N6qsk4kYRZihmPrTXWYS6g.1001.EUR"After step 1 you'll have a string like: 28b85cd34d0e0d6b243d58f0e9f7f4bf7da1b882
You'll need to concatenate this with your Shared Secret, for example:
"28b85cd34d0e0d6b243d58f0e9f7f4bf7da1b882.Po8lRRT67a"Our final string that we add to the request should be a hash, using the SHA-1 algorithm, of your concatenated string. For example: 947903969e7aaf996164c680a6669805fe405269
Follow the steps in this section to build the response security hash, concatenate the specified fields, and hash them using the SHA-1 algorithm, concatenate the hashed string with your Shared Secret, hash it again, and add the resulted string to the request.
The Timestamp returned in the response will be identical to the one sent in the request POST. This, combined with the Order ID and other transaction variables, can be used to definitively link the response received with the transaction request and order created in your application. You should also check the other transaction variables, for example the Amount, against what was stored in your application at the time the request POST was sent.
The steps below apply to both Authorization and Open to Buy (OTB).
The blueprint of the hash for the response is:
"timestamp.merchantid.orderid.result.message.pasref.authcode"So, based on the above example, the initial string to check the hash of the response will be:
"20200205093140.Merchant ID.N6qsk4kYRZihmPrTXWYS6g.00.[ test system ] Authorised.14631546336115597.12345"After Step 1, you'll have a string like: 28b85cd34d0e0d6b243d58f0e9f7f4bf7da1b882
You'll need to concatenate this with your Shared Secret:
"28b85cd34d0e0d6b243d58f0e9f7f4bf7da1b882.Po8lRRT67a"Our final string that we add to the request should be a hash, using the SHA-1 algorithm, of your concatenated string. For example: 947903969e7aaf996164c680a6669805fe405269
We create the hash in the same way on our side and send it back. To confirm that a response hasn't been tampered with, compare what you've generated with what was returned in the sha1hash element.
| This must be set to 2. |
| Channel | string | enum | O | N/A | Used to specify the type of transaction. Allowed values: ECOM - E-commerce transaction MOTO - Mail Order/Telephone Order transaction Compatible with us and certain other acquirers. |
| Payer Email Address | string | alphanumeric | M | 1-254 | Customer’s email address, including the full domain name. The field must be submitted in the form name@host.domain (for example, james.mason@example.com). The domain can be between 2-24 characters. Allowed characters: [a-zA-Z0-9_-.]@[a-zA-Z0-9_-.].[a-zA-Z] European merchants: mandatory for SCA. Not mandatory if Customer Phone Number is being sent. |
| Home Phone Number | string | numeric | C | 3|15 or 19 | The home phone number provided by the Cardholder. Should be in format: of 'CountryCallingCode|Number' for example, '1|123456789'. European merchants: mandatory for SCA if captured by your application or website. We recommend that you send at least one phone number (Mobile, Home or Work). |
| Billing Address Line 1 | string | alphanumeric | M | 1-50 | First line of the customer's billing address. Allowed characters for API: ^^[\p{L}\p{M}\p{Blank}\p{N}.-_'’,&#]*$ Allowed characters for HPP: .-_'’,&# European merchants: mandatory for SCA. |
| Billing Address Line 2 | string | alphanumeric | M | 1-50 | Second line of the customer's billing address. Can be submitted as blank if not relevant for the particular customer. Allowed characters for API: ^[\p{L}\p{M}\p{Blank}\p{N}.-_'’,&#]*$ Allowed characters for HPP: .-_'’,&# European merchants: mandatory for SCA. |
| Billing Address Line 3 | string | alphanumeric | M | 1-50 | Third line of the customer's billing address. Can be submitted as blank if not relevant for the particular customer. Allowed characters for API: ^[\p{L}\p{M}\p{Blank}\p{N}.-_'’,&#]*$ Allowed characters for HPP: .-_'’,&# European merchants: mandatory for SCA. |
| Billing Address City | string | alphanumeric | M | 1-40 | The city of the customer's billing address. European merchants: mandatory for SCA. |
| Billing Address State | string | ISO 3166-2 | C | 0-3 | The state of the customer's billing address. Should be the country subdivision code defined in ISO 3166-2 minus the country code itself. For example, Illinois = IL. Applicable for US and CA addresses. For each country’s ISO 3166-2 codes, see the ISO Online Browsing Platform. See codes for Ireland or Great Britain. European merchants: if state applicable for the billing address country, required for SCA. |
| Billing Address Postal Code | string | alphanumeric | M | 1-16 | ZIP or other postal code customer's billing address. Allowed characters: [a-zA-Z0-9-␣] European merchants: mandatory for SCA. |
| Billing Address Country | string | ISO 3166-1 | M | 3 | The country of the customer's billing address. ISO 3166-1 numeric three-digit country code. For example, US = 840. European merchants: mandatory for SCA. |
| Shipping Address Line 1 | string | alphanumeric | O | 0-50 | First line of the customer's shipping address. Allowed characters for API: ^^[\p{L}\p{M}\p{Blank}\p{N}.-_'’,&#]*$ Allowed characters for HPP: .-_'’,&# European merchants: optional for SCA. |
| Shipping Address Line 2 | string | alphanumeric | O | 0-50 | Second line of the customer's shipping address. Allowed characters for API: ^[\p{L}\p{M}\p{Blank}\p{N}.-_'’,&#]*$ Allowed characters for HPP: .-_'’,&# European merchants: optional for SCA. |
| Shipping Address Line 3 | string | alphanumeric | 0 | 0-50 | Third line of the customer's shipping address. Allowed characters for API: ^[\p{L}\p{M}\p{Blank}\p{N}.-_'’,&#]*$ Allowed characters for HPP: .-_'’,&# European merchants: optional for SCA. |
| Shipping Address City | string | alphanumeric | O | 0-50 | The city of the customer's shipping address. European merchants: optional for SCA. |
| Shipping Address State | string | ISO 3166-2 | O | 0-3 | The state of the customer's shipping address. Should be the country subdivision code defined in ISO 3166-2 minus the country code itself. For example: Illinois = IL. Applicable for US and CA addresses. For each country’s ISO 3166-2 codes, see the ISO Online Browsing Platform. See codes for Ireland or Great Britain. European merchants: if state applicable for the billing address country, required for SCA. |
| Shipping Address Postal Code | string | alphanumeric | O | 0-16 | ZIP or other postal code customer's shipping address. Allowed characters: [a-zA-Z0-9-␣] European merchants: optional for SCA. |
| Shipping Address Country | string | ISO 3166-1 | O | 0-3 | The country of the customer's shipping address. Numeric three-digit country code. For example, US = 840. European merchants: optional for SCA. |
| Shipping Address Match Indicator | Boolean | N/A | O | N/A | Indicates whether the shipping address matches the billing address. European merchants: optional for SCA. |
| Challenge Request Indicator | string | enum | O | N/A | Indicates whether a challenge is requested for this transaction. The Issuer may override whatever preference is specified in this field. Allowed values: NO_PREFERENCE - No preference as to whether the customer is challenged NO_CHALLENGE_REQUESTED - Preference is for the customer not to be challenged. CHALLENGE_PREFERRED - Preference is for the customer to be challenged. CHALLENGE_MANDATED - A challenge is required for the transaction to be authorized due to local/regional mandates or other variables. NO_CHALLENGE_REQUESTED_TRANSACTION_RISK_ANALYSIS_PERFORMED NO_CHALLENGE_REQUESTED_DATA_SHARE_ONLY NO_CHALLENGE_REQUESTED_SCA_ALREADY_PERFORMED NO_CHALLENGE_REQUESTED_WHITELIST CHALLENGE_REQUESTED_PROMPT_FOR_WHITELIST European merchants: optional for SCA. |
| Billing or Shipping Code | string | alphanumeric | O | 0-30 | The Postal Code concatenated with the first line of the billing or shipping address. The billing code can be used for the Address Verification Service (AVS). Allowed characters: [a-zA-Z0-9_-] |
| Billing or Shipping Country | string | alphanumeric | O | 0-50 | The country of the billing or shipping address. Allowed characters: [a-zA-Z0-9.-] |
| Customer Number | string | alphanumeric | O | 0-50 | A unique reference for this customer for example from your CRM system. Allowed special characters: [-.,+@_␣] |
| Variable Reference | string | alphanumeric | O | 0-50 | Any reference you also would like to assign to this transaction. Can also be used to pass the Acquirer Statement reference, where supported. Allowed special characters: [-.,+@_␣] |
| Product Id | string | alphanumeric | O | 0-50 | The code you assign to the product, for example the SKU. Allowed special characters: [-.,+@_␣] |
| Merchant Response URL | string | Standard URL Format | O | 0-255 | Used to set which URL in your application the transaction response will be sent to. A fixed URL can also be added to your account by our support team. |
| Card Payment Button | string | alphanumeric | O | 0-25 | Used to set what text is displayed on the payment button for card transactions. If this field is not sent in, “Pay Now” is displayed on the button by default. |
| Supplementary Data | string | alphanumeric | O | 0-255 | Any additional data you wish to send in the transaction can be sent as a name:value pair. This data will also be returned in the response (not for PayPal transactions). |
| Sha1hash | string | alphanumeric | M | 40 | The signature for this request is made up of transaction elements and your Shared Secret. Automatically set by the SDK. Allowed characters: [0-9a-fA-F] |
| Merchant Response URL | string | Standard URL Format | Used to set which URL in your application the transaction response will be sent to. A fixed URL can also be added to your account by our support team. |
| HPP Lang | string | enum | Used to set what language HPP is displayed in. If the field is not sent, the default language set on your account will be displayed. This can be configured by your account manager. Please see the list of HPP Language Codes. |
| Billing or Shipping Code | string | alphanumeric | The Postal Code concatenated with the first line of the billing or shipping address. The billing code can be used for the Address Verification Service (AVS). Allowed characters: [a-zA-Z0-9_-] |
| Billing or Shipping Country | string | alphanumeric | The country of the billing or shipping address. Allowed characters: [a-zA-Z0-9.-] |
| Comment | string | alphanumeric | You can submit up to two comments about this request. This information will be displayed under the transaction in Ecommerce Portal. |
| Eci | string | alphanumeric | The E-Commerce Indicator indicates whether chargeback protection is available for the transaction or not. |
| Cavv | string | alphanumeric | Cardholder Authentication Verification Value: a unique value confirming the customer’s authentication status. Allowed characters: [a-zA-Z0-9+/=] |
| Xid | string | alphanumeric | The unique eXchange identifier for the 3D Secure transaction. Allowed characters: [a-zA-Z0-9+/=] |
| Sha1hash | string | alphanumeric | The signature for this request is made up of transaction elements and your Shared Secret. Automatically set by the SDK. Allowed characters: [0-9a-fA-F] |