Python SDK-Razorpay付款链接Webhook签名失败

时间:2019-04-16 08:53:53

标签: python flask payment razorpay

我正在尝试通过python SDK集成剃须刀付款链接。尝试使用razor pay的Web挂钩响应验证标头中发送的签名时,出现以下错误。

File "/var/task/services/loan_repayment_service.py", line 569, in initiate_update_repayment
  client.utility.verify_webhook_signature(body_string, signature, api_key)
  File "/var/task/razorpay/utility/utility.py", line 25, in verify_webhook_signature
  self.verify_signature(body, signature, secret)
  File "/var/task/razorpay/utility/utility.py", line 45, in verify_signature
  'Razorpay Signature Verification Failed')

我使用了Razor Pay API文档中提供的相同代码来验证签名-https://razorpay.com/docs/webhooks/integrations/#validation

使用json.loads()将响应主体转换为字符串,并将其与在razor pay中配置的签名和秘密密钥一起传递给razor pay签名验证功能。

client = razorpay.Client(auth=(key, secret))
client.utility.verify_webhook_signature(body_string, signature, api_key)

还运行一个独立的脚本,以通过使用hmac传递秘密密钥和Web挂钩响应主体来生成签名。但是生成的签名与Web挂钩标头中发送的签名不匹配。

key = bytes(key, 'utf-8')
body = bytes(body, 'utf-8')

dig = hmac.new(key=key, msg=body, digestmod=hashlib.sha256)
generated_signature = dig.hexdigest()

generate_signature 与Web挂钩标头签名不匹配。

我已经尝试过在此问题中发布的解决方案,但似乎不起作用-Razorpay Webhook signature verification error

那么如何解决签名验证问题?可能是什么问题?

0 个答案:

没有答案