Paste your HPP request URL to verify and debug the signature. All computation runs in your browser — your PersonalHashKey never leaves this page.
urlencode( base64( SHA256( value1 + value2 + … + PersonalHashKey ) ) ) Values are concatenated in the exact same order as the URL query string, using raw (un-encoded) values. URL-encode only when building the URL string, never before hashing. Fields like client_phoneNum, url_redirect, notification_url, CP26, and terms_url must be URL-encoded in the URL but their original values go into the hash.
urlencode( base64( SHA256( value1 + value2 + … + PersonalHashKey ) ) )
client_phoneNum
url_redirect
notification_url
CP26
terms_url
See Signature guide for the full step-by-step walkthrough.
signature
Values shown after URL-decoding (%XX → char, + kept as +). These decoded values are concatenated in this order to form the hash input. The Your value column traces your concatenation string position-by-position.
%XX
+
Length: chars
&signature=...
Click a button to copy a ready-made prompt containing your integration context and validator results, then paste it into the AI chat that opens.
"0"
"100"
"100.0"
Step-by-step walkthrough of the signature process.
Use our test cards to complete your integration.
Learn about reply codes and their meaning.