| Variable Name |
Data Type |
Max Length |
Mandatory |
Comments |
| HashDigest |
A |
- |
Yes |
A hashed string that contains all the variables passed and also data that is not passed but is known to both sides - namely the PreSharedKey and the gateway account password. (see section below) |
| MerchantID |
A |
15 |
Yes |
The merchant ID that corresponds to the gateway account the transaction will be run through. NOTE: If this variable is not present, then the skinning of the payment form will not happen |
| Amount |
N |
13 |
Yes |
The transaction amount in minor currency – e.g. for £10.00, it must be submitted as 1000. The amount value must be greater than zero |
| CurrencyCode |
N |
3 |
Yes |
The currency of the transaction. ISO 4217 e.g. GBP: 826 |
| EchoAVSCheckResult |
B |
true/false |
No |
Instructs the payment form to include the AVS check result of the transaction in the output variables. |
| EchoCV2CheckResult |
B |
true/false |
No |
Instructs the payment form to include the CV2 check result of the transaction in the output variables |
| EchoThreeDSecureAuthenticationCheckResult |
B |
true/false |
No |
Instructs the payment form to include the 3D Secure check result of the transaction in the output variables |
| EchoFraudProtectionCheckResult |
B |
true/false |
No |
Instructs the payment form to include the fraud protection check result of the transaction in the output variables |
| EchoCardType |
B |
true/false |
No |
Instructs the payment form to include the card type of the transaction in the output variables |
| EchoCardNumberFirstSix |
B |
true/false |
No |
Instructs the payment form to include the first 6 digits of the card number of the transaction in the output variables |
| EchoCardNumberLastFour |
B |
true/false |
No |
Instructs the payment form to include the last 4 digits of the card number of the transaction in the output variables |
| EchoCardExpiryDate |
B |
true/false |
No |
Instructs the payment form to include the expiry date of the card of the transaction in the output variables |
| EchoDonationAmount |
B |
true/false |
No |
Instructs the payment form to include the donation amount of the transaction in the output variables |
| AVSOverridePolicy |
A |
4 |
No |
Sets the override AVS checking policy for this transaction |
| CV2OverridePolicy |
A |
2 |
No |
Sets the CV2 checking policy for this transaction |
| ThreeDSecureOverridePolicy |
B |
true/false |
No |
Instructs the payment form to enable/disable the 3D Secure checking for this transaction (where possible) |
| OrderID |
A |
50 |
Yes |
A merchant side ID for the order – primarily used to for determining duplicate transactions. Note: make sure that special characters in the OrderID are properly escaped, otherwise the hash digest will not match |
| TransactionType |
- |
- |
Yes |
Must be either SALE or PREAUTH |
| TransactionDateTime |
DT |
- |
Yes |
The date & time (as seen by the merchant's server) of the transaction. Needs to be in the form "YYYY-MM-DD HH:MM:SS ±OO:OO", with the time in 24 hour format, where OO:OO is the offset from UTC - e.g. "2008-12-01 14:12:00 +01:00" |
| DisplayCancelButton |
B |
true/false |
No |
Instructs the payment form to display/hide the Cancel Payment button. If the input variable is not included in the incoming request the payment form behaviour defaults to "false". If "DisplayCancelButton=true" the CallbackURL will be mandatory as it is used to deliver a cancelled payment result to the merchant's webshop (regardless of the ResultDeliveryMethod value). |
| CallbackURL |
A |
- |
Yes |
The URL of the page on the merchant's site that the results of the transaction will be posted back to (see section below) |
| OrderDescription |
A |
256 |
No |
A description for the order. Note: make sure that special characters in the OrderDescription are properly escaped, otherwise the hash digest will not match |
| LineItemSalesTaxAmount |
N |
15 |
No |
The sales tax amount for the line items. Note: LineItem details must be complete and if one variable is present all the other LineItem variables must be included as well |
| LineItemSalesTaxDescription |
A |
50 |
No |
The sales tax description for the line items. Note: LineItem details must be complete and if one variable is present all the other LineItem variables must be included as well |
| LineItemQuantity |
N |
15 |
No |
The quantity of a single line item. Note: multiple LineItems can be passed to the payment form by indexing the variable name, eg: LineItem1Quantity |
| LineItemAmount |
N |
15 |
No |
The amount of a single line item. Note: multiple LineItems can be passed to the payment form by indexing the variable name, eg: LineItem1Amount |
| LineItemDescription |
A |
100 |
No |
The description of a single line item. Note: multiple LineItems can be passed to the payment form by indexing the variable name, eg: LineItem1Description |
| CustomerName |
A |
100 |
No |
The name of the customer |
| DisplayBillingAddress |
B |
true/false |
No |
Control variable which determinnes the Billing Address section's visibility. When hiding the Billing Address section, the address details will still be passed to the payment gateway. |
| Address1 |
A |
100 |
No |
Customer's billing address line 1 |
| Address2 |
A |
50 |
No |
Customer's billing address line 2 |
| Address3 |
A |
50 |
No |
Customer's billing address line 3 |
| Address4 |
A |
50 |
No |
Customer's billing address line 4 |
| City |
A |
50 |
No |
Customer's billing address city |
| State |
A |
50 |
No |
Customer's billing address state |
| PostCode |
A |
50 |
No |
Customer's billing address post code |
| CountryCode |
N |
3 |
No |
Customer's billing country code. ISO 3166-1 e.g. United Kingdom: 826 |
| EmailAddress |
A |
100 |
No |
Customer's email address |
| PhoneNumber |
A |
30 |
No |
Customer's phone number |
| DateOfBirth |
A |
10 |
No |
The date of birth of the customer. Should be in the format yyyy-mm-dd (e.g. 1983-11-20) |
| DisplayShippingDetails |
B |
true/false |
No |
Control variable which determinnes the Shipping Details section's visibility. When hiding the Shipping Details section, the shipping details will still be passed to the payment gateway. |
| ShippingName |
A |
100 |
No |
Customer's name to whom the shipment is sent |
| ShippingAddress1 |
A |
100 |
No |
Customer's shipping address line 1 |
| ShippingAddress2 |
A |
50 |
No |
Customer's shipping address line 2 |
| ShippingAddress3 |
A |
50 |
No |
Customer's shipping address line 3 |
| ShippingAddress4 |
A |
50 |
No |
Customer's shipping address line 4 |
| ShippingCity |
A |
50 |
No |
Customer's shipping address city |
| ShippingState |
A |
50 |
No |
Customer's shipping address state |
| ShippingPostCode |
A |
50 |
No |
Customer's shipping address post code |
| ShippingCountryCode |
N |
3 |
No |
Customer's shipping country code. ISO 3166-1 e.g. United Kingdom: 826 |
| ShippingEmailAddress |
A |
100 |
No |
Customer's shipping email address |
| ShippingPhoneNumber |
A |
30 |
No |
Customer's shipping phone number |
| CustomerNameEditable |
B |
true/false |
No |
Control variable that determines whether the Card Name field on the payment form will be editable |
| EmailAddressEditable |
B |
true/false |
No |
Control variable that determines whether the Email Address field on the payment form will be editable |
| PhoneNumberEditable |
B |
true/false |
No |
Control variable that determines whether the Phone Number field on the payment form will be editable |
| DateOfBirthEditable |
B |
true/false |
No |
Control variable that determines whether the Date Of Birth field on the payment form will be editable |
| CV2Mandatory |
B |
true/false |
No |
Control variable that determines whether the CV2 field on the payment form will be mandatory |
| Address1Mandatory |
B |
true/false |
No |
Control variable that determines whether the Address1 field on the payment form will be mandatory |
| CityMandatory |
B |
true/false |
No |
Control variable that determines whether the City field on the payment form will be mandatory |
| PostCodeMandatory |
B |
true/false |
No |
Control variable that determines whether the PostCode field on the payment form will be mandatory |
| StateMandatory |
B |
true/false |
No |
Control variable that determines whether the State field on the payment form will be mandatory |
| CountryMandatory |
B |
true/false |
No |
Control variable that determines whether the Country field on the payment form will be mandatory |
| ShippingAddress1Mandatory |
B |
true/false |
No |
Control variable that determines whether the ShippingAddress1 field on the payment form will be mandatory |
| ShippingCityMandatory |
B |
true/false |
No |
Control variable that determines whether the ShippingCity field on the payment form will be mandatory |
| ShippingPostCodeMandatory |
B |
true/false |
No |
Control variable that determines whether the ShippingPostCode field on the payment form will be mandatory |
| ShippingStateMandatory |
B |
true/false |
No |
Control variable that determines whether the ShippingState field on the payment form will be mandatory |
| ShippingCountryMandatory |
B |
true/false |
No |
Control variable that determines whether the ShippingCountry field on the payment form will be mandatory |
| ResultDeliveryMethod |
A |
POST SERVER SERVER_PULL |
Yes |
The delivery method of the payment result, either POST, SERVER or SERVER_PULL. POST will deliver the full results via the customer's browser as a form post back to the CallbackURL. With both SERVER and SERVER_PULL the results exchanged directly between the merchant's site and the payment form (removing the browser completely out of the process). With SERVER, the results are PUSHED TO the ServerResultURL on the merchant's webshop BEFORE the customer is redirected back to the webshop, and with SERVER_PULL, the results will be pulled from the payment form by the merchant's webshop AFTER the customer has been redirected back to the webshop |
| ServerResultURL |
A |
- |
Conditional |
The merchant's external server URL used for SERVER result delivery method |
| PaymentFormDisplaysResult |
B |
true/false |
No |
Boolean that determines whether the payment result will be displayed on the PaymentForm page, or redirected to the merchant's site after a response from the merchant's external server (ServerResultURL) |
| PrimaryAccountName |
A |
100 |
No |
The name of the primary account holder (used for MCC 6012 accounts only) |
| PrimaryAccountNumber |
A |
50 |
No |
The account number of the primary account (used for MCC 6012 accounts only) |
| PrimaryAccountDateOfBirth |
A |
10 |
No |
The date of birth of the primary account holder (used for MCC 6012 accounts only). Should be in the format yyyy-mm-dd (e.g. 1983-11-20) |
| PrimaryAccountPostCode |
A |
50 |
No |
The post code of the primary account holder (used for MCC 6012 accounts only) |
| Skin |
A |
50 |
No |
The reference of the skin to be applied to the payment form. If the passed in skin reference exists it will override the default skin set from the MMS |
| PaymentFormContentMode |
A |
- |
No |
Instructs the payment form whether to display the form content in the same window or in an iframe. Must be either FULL or IFRAME. If the input variable is not present in the incoming request the payment form behaviour defaults to "FULL" |
| BreakoutOfIFrameOnCallback |
B |
true |
No |
Instructs the payment form to break out from the IFrame window on the callback to the merchant's webshop. This setting is only applicable if PaymentFormContentMode="IFRAME". If the input variable is not present in the incoming request the payment form behaviour defaults to "false" |