I am integrating with PayNow (Integration ID: XXXXX) and experiencing “Invalid Hash” errors when initiating transactions with mobile payment fields (authphone and authname).
REQUEST DETAILS:
- Endpoint: https://www.paynow.co.zw/interface/initiatetransaction
- Method: POST (application/x-www-form-urlencoded)
FIELDS WE ARE SENDING:
id=XXXXX
reference=SUB-120-INV/2025/00041
amount=25.00
additionalinfo=Wadi Mart
returnurl=https://unsharing-nonvariously-landyn.ngrok-free.dev/payment/paynow/return
resulturl=https://unsharing-nonvariously-landyn.ngrok-free.dev/payment/paynow/webhook
authemail=admin@wadipos.local
authphone=+263772222222
authname=test
status=Message
hash=[calculated hash]
CURRENT HASH CALCULATION:
We are concatenating these fields in this order:
id + reference + amount + additionalinfo + returnurl + resulturl + status + integration_key
Hash string (without integration key):
22505SUB-120-INV/2025/0004125.00Wadi Marthttps://unsharing-nonvariously-landyn.ngrok-free.dev/payment/paynow/returnhttps://unsharing-nonvariously-landyn.ngrok-free.dev/payment/paynow/webhookMessage
Full hash string with integration key:
22505SUB-120-INV/2025/0004125.00Wadi Marthttps://unsharing-nonvariously-landyn.ngrok-free.dev/payment/paynow/returnhttps://unsharing-nonvariously-landyn.ngrok-free.dev/payment/paynow/webhookMessage
My calculated hash (SHA512, uppercase):
1BA2824993D8F5B76E72B7AA5B6EC4D1D7F9E2E8F1E0A4C8B3F7D6E5A4C3B2A1…
ERROR RECEIVED:
Invalid Hash. Hash should start with: AE4416