【发布时间】:2021-09-07 13:32:17
【问题描述】:
我正在使用 webhook 使用 razorpay 付款链接验证付款状态。我已将 webhook 添加到 RazorPay webhook 部分,其中 payment_links 作为活动元素。我在使用付款链接时收到付款完成指示。但是 webhook 抛出了这个错误。
这就是我验证签名的方式
webhook_secret = "abc"
webhook_signature = request.headers['X-Razorpay-Signature']
client = razorpay.Client(auth=("xyz", "pqr"))
payload_body = json.dumps(request.json, separators=(',', ':'))
verify = client.utility.verify_webhook_signature(payload_body, webhook_signature, webhook_secret)
print(verify)
也试过了
payload_body = json.dumps(request.data, separators=(',', ':'))
但我不断收到错误,
razorpay.errors.SignatureVerificationError: Razorpay Signature Verification Failed
我试过这样
verify = client.utility.verify_webhook_signature(request.data.decode('utf-8'), webhook_signature, webhook_secret)
print(verify)
输出为无
已编辑
我已经尝试了以下方法,但它们都不起作用
1) verify = client.utility.verify_webhook_signature(json.dumps(request.data, separators=(',', ':')), webhook_signature, webhook_secret)
print("verification of signature {}".format(verify))
导致TypeError:字节类型的对象不是JSON可序列化的。
2) verify = client.utility.verify_webhook_signature(json.dumps(request.json, separators=(',', ':')), webhook_signature, webhook_secret)
print("verification of signature {}".format(verify))
#razorpay.errors.SignatureVerificationError: Razorpay Signature Verification Failed
3) verify = client.utility.verify_webhook_signature(json.dumps(body, separators=(',', ':')), webhook_signature, webhook_secret)
print("verification of signature {}".format(verify))
2 和 3 导致 razorpay.errors.SignatureVerificationError: Razorpay 签名验证失败
【问题讨论】:
标签: python-3.7 webhooks razorpay