Below is the order that the variables should be listed when creating the hash digest to check against the one in submitted in the form. The string to be hashed must be comprised of the variables listed in the order below in standard URL format (i.e. listed in name/value pairs, delimited with an ampersand character e.g. “variable1=value&variable2=value&variable3=value”). The variable names and values are case-sensitive and the values should be represented EXACTLY as they appear in the form (NON-URL ENCODED). This hash must be checked against the one submitted in the form, and it should be exactly the same as the hash digest created by us. Any differences should be treated with EXTREME caution, as this indicates that the variables in the form have been tampered with.
| Variable Name |
Mandatory |
Comments |
| PreSharedKey | See comments | The pre shared key should ONLY be included in the hash digest if the chosen hash method is standard (i.e. not HMAC) MD5 or SHA1. If the chosen hash method is either HMACMD5 or HMACSHA1, then the pre shared key is used as part of the hash generation so should be ENTIRELY omitted from the string to be hashed |
| MerchantID |
Yes |
|
| Password |
Yes |
|
| StatusCode |
Yes |
|
| Message |
Yes |
|
| PreviousStatusCode |
Yes |
Must be included as “PreviousStatusCode=” if an
empty variable in the form |
| PreviousMessage |
Yes |
Must be included as “PreviousMessage=” if an empty variable in the form |
| CrossReference |
Yes |
|
| AddressNumericCheckResult |
Yes |
Must be included as “AddressNumericCheckResult=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| PostCodeCheckResult |
Yes |
Must be included as “PostCodeCheckResult=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CV2CheckResult |
Yes |
Must be included as “CV2CheckResult=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| ThreeDSecureAuthenticationCheckResult |
Yes |
Must be included as “ThreeDSecureAuthenticationCheckResult=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| FraudProtectionCheckResult |
Yes |
Must be included as “FraudProtectionCheckResult=” if an empty variable in the form. NOT included in the hash if not present in the form (only for
backwards compatibility) |
| CardType |
Yes |
Must be included as “CardType=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CardClass |
Yes |
Must be included as “CardClass=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CardIssuer |
Yes |
Must be included as “CardIssuer=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CardIssuerCountryCode |
Yes |
Must be included as “CardIssuerCountryCode=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CardNumberFirstSix |
Yes |
Must be included as “CardNumberFirstSix=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CardNumberLastFour |
Yes |
Must be included as “CardNumberLastFour=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CardExpiryDate |
Yes |
Must be included as “CardExpiryDate=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| Amount |
Yes |
|
| DonationAmount |
Yes |
Must be included as “DonationAmount=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CurrencyCode |
Yes |
|
| OrderID |
Yes |
Note: make sure that special characters in the OrderID are properly escaped, otherwise the hash digest will not match |
| TransactionType |
Yes |
|
| TransactionDateTime |
Yes |
|
| OrderDescription |
Yes |
Must be included as “OrderDescription=” if an empty variable in theform. Note: make surethat special characters in the OrderDescription are properly escaped, otherwise the hash digest will not
match |
| CustomerName |
Yes |
Mustbeincludedas”CustomerName=”ifanempty variable in the form |
| Address1 |
Yes |
Must be included as “Address1=” if an empty variable in the form |
| Address2 |
Yes |
Must be included as “Address2=” if an empty
variable in the form |
| Address3 |
Yes |
Must be included as “Address3=” if an empty
variable in the form |
| Address4 |
Yes |
Must be included as “Address4=” if an empty
variable in the form |
| City |
Yes |
Must be included as “City=” if an empty variable in the form |
| State |
Yes |
Must be included as “State=” if an empty variable in the form |
| PostCode |
Yes |
Must be included as “PostCode=” if an empty
variable in the form |
| CountryCode |
Yes |
Must be included as “CountryCode=” if an empty |
| variable in the form | ||
| EmailAddress |
Yes |
Must be included as “EmailAddress=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| PhoneNumber |
Yes |
Must be included as “PhoneNumber=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| DateOfBirth |
Yes |
Must be included as ” DateOfBirth =” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| PrimaryAccountName |
Yes |
Must be included as “PrimaryAccountName=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| PrimaryAccountNumber |
Yes |
Must be included as “PrimaryAccountNumber=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| PrimaryAccountDateOfBirth |
Yes |
Must be included as “PrimaryAccountDateOfBirth=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| PrimaryAccountPostCode |
Yes |
Must be included as “PrimaryAccountPostCode=” if an empty variable in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
