Below is the order that the variables should be listed when creating the hash digest. 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
or Always Present |
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 – if it is present in these cases (even as an empty string), then an error will
be thrown |
| MerchantID |
Yes |
|
| Password |
Yes |
|
| Amount |
Yes |
|
| CurrencyCode |
Yes |
|
| EchoAVSCheckResult |
Yes |
Must be included as “EchoAVSCheckResult=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| EchoCV2CheckResult |
Yes |
Must be included as “EchoCV2CheckResult=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| EchoThreeDSecureAuthenticationCheckResult |
Yes |
Must be included as “EchoThreeDSecureAuthenticationChe ckResult =” if empty in the form. NOT included in the hash if not present in the form (only for backwards
compatibility) |
| EchoFraudProtectionCheckResult |
Yes |
Must be included as “EchoFraudProtectionCheckResult=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| EchoCardType |
Yes |
Must be included as “EchoCardType=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| EchoCardNumberFirstSix |
Yes |
Must be included as “EchoCardNumberFirstSix=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| EchoCardNumberLastFour |
Yes |
Must be included as “EchoCardNumberLastFour=” if empty in the form. NOT included in the hash if not present in the form (only for backwards
compatibility) |
| EchoCardExpiryDate |
Yes |
Must be included as “EchoCardExpiryDate=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| EchoDonationAmount |
Yes |
Must be included as “EchoDonationAmount=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| AVSOverridePolicy |
Yes |
Must be included as “AVSOverridePolicy=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CV2OverridePolicy |
Yes |
Must be included as “CV2OverridePolicy=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| ThreeDSecureOverridePolicy |
Yes |
Must be included as “ThreeDSecureOverridePolicy=” if empty in the form. NOT included in the hash if not present
in the form (only for backwards compatibility) |
| 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 |
|
| CallbackURL |
Yes |
|
| OrderDescription |
Yes |
Must be included as “OrderDescription=” if not submitted or empty in the form. Note: make sure that special characters in the OrderDescription are properly escaped,
otherwise the hash digest will not match |
| CustomerName |
Yes |
Mustbeincludedas”CustomerName=” ifnot submitted or empty in the form |
| Address1 |
Yes |
Must be included as “Address1=” if not
submitted or empty in the form |
| Address2 |
Yes |
Must be included as “Address2=” if not
submitted or empty in the form |
| Address3 |
Yes |
Must be included as “Address3=” if not submitted or empty in the form |
| Address4 |
Yes |
Must be included as “Address4=” if not
submitted or empty in the form |
| City |
Yes |
Mustbeincludedas”City=” if notsubmittedor empty in the form |
| State |
Yes |
Must beincluded as”State=” if not submitted or empty in the form |
| PostCode |
Yes |
Must be included as “PostCode=” if not
submitted or empty in the form |
| CountryCode |
Yes |
Must be included as “CountryCode=” if not submitted or empty in the form |
| EmailAddress |
Yes |
Must be included as “EmailAddress=” if empty 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 empty 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 empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| EmailAddressEditable |
Yes |
Must be included as “EmailAddressEditable=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| PhoneNumberEditable |
Yes |
Must be included as “PhoneNumberEditable=” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| DateOfBirthEditable |
Yes |
Must be included as ” DateOfBirthEditable =” if empty in the form. NOT included in the hash if not present in the form (only for backwards compatibility) |
| CV2Mandatory |
Yes |
Must be included as “CV2Mandatory=” if empty in the form. NOT included in the hash if not present in the form (only for backwards
compatibility) |
| Address1Mandatory |
Yes |
Must be included as “Address1Mandatory=” if emptyintheform.NOTincludedinthehashif
not present in the form (only for backwards compatibility) |
| CityMandatory |
Yes |
Must be included as “CityMandatory=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PostCodeMandatory |
Yes |
Must be included as “PostCodeMandatory=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| StateMandatory |
Yes |
Must be included as “StateMandatory=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| CountryMandatory |
Yes |
Must be included as “CountryMandatory=” empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| ResultDeliveryMethod |
Yes |
Pleaseseethe Result Delivery Methodsection. |
| ServerResultURL |
Yes |
Must be included as “ServerResultURL=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PaymentFormDisplaysResult |
Yes |
Must be included as “PaymentFormDisplaysResult=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PrimaryAccountName |
Yes |
Must be included as ” PrimaryAccountName=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PrimaryAccountNumber |
Yes |
Must be included as “ PrimaryAccountNumber=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PrimaryAccountName |
Yes |
Must be included as “PrimaryAccountName=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PrimaryAccountNumber |
Yes |
Must be included as “PrimaryAccountNumber=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PrimaryAccountDateOfBirth |
Yes |
Must be included as “ PrimaryAccountDateOfBirth=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
| PrimaryAccountPostCode |
Yes |
Must be included as “ PrimaryAccountPostCode=” if empty in the form. NOT included in the hash if not present in the form (only for backward compatibility) |
