这可能是其他问题的重复,我检查了每个地方的解决方案,但没有找到正确的解决方案来解决Paytm校验和不匹配的问题。
我在Paytm到Android应用程序中收到校验和不匹配错误,我已经在php(在我的服务器上)中创建了校验和并从服务器发送到android app。一旦应用程序接收到校验和,则此参数与校验和一起将转到服务器进行验证核对和付款。
我收到以下答复:
[{STATUS=TXN_FAILURE, CHECKSUMHASH="***", ORDERID=e5992c72f44648799e034df284f4f339, TXNAMOUNT=100.00, MID=222, RESPCODE=330, BANKTXNID=, CURRENCY=INR, RESPMSG=Paytm checksum mismatch.}]
这是请求数据:
{
"CALLBACK_URL":"https://securegw.paytm.in/theia/paytmCallback?ORDER_ID=d53a1edd5f8fb46539c793476700b576c",
"CHANNEL_ID":"WAP",
"CUST_ID":"0fbfd97306a748298477aa7c11fb8040",
"INDUSTRY_TYPE_ID":"Retail",
"MID":"myMID",
"ORDER_ID":"53a1edd5f8fb46539c793476700b576c",
"TXN_AMOUNT":"100",
"WEBSITE":"APPSTAGING"
}
我也检查了Android Paytm上的问题,但没有找到任何解决方案。请注意,我在应用程序和Web上都使用相同的参数。
您的小建议对我有很大帮助!
谢谢。
答案 0 :(得分:0)
我遇到了同样的问题。我从应用程序发送了用于创建校验和的正确数据到我的服务器。但是服务器正在创建具有不同值的校验和。因此,我收到“校验和不匹配错误”。您还可以通过应用程序和服务器密钥进行交叉检查。双方使用相同的参数值的服务器网址和参数。
通过这样做,我解决了我的问题。希望这个议程对您也有帮助。
答案 1 :(得分:0)
解决方案 我花了将近2天的时间来寻找解决方案,但没有任何效果,我克隆了一些工作示例,并意识到我要追加额外的参数,因此将它们逐个删除以进行测试,然后我看到了付款屏幕。
解决方案:删除genchecksum参数中的所有extraParam,例如:PAYTM_FINAL_URL。 我的Params对象
let paytmParams = {
"ORDER_ID": shortid.generate(),
"CUST_ID": shortid.generate(),
"INDUSTRY_TYPE_ID": paytmConfig.INDUSTRY_TYPE_ID,
"CHANNEL_ID": paytmConfig.CHANNEL_ID,
"TXN_AMOUNT": TXN_AMOUNT.toString(),
"MID": paytmConfig.MID,
"WEBSITE": paytmConfig.WEBSITE,
"CALLBACK_URL": paytmConfig.CALLBACK_URL,
"MOBILE_NO": MOBILE_NO,
"EMAIL": EMAIL,
}