Python SDK - Ошибка подписи веб-крюка на платежной ссылке Razorpay - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь интегрировать ссылку оплаты через бритву через Python SDK.При попытке проверить подпись, отправленную в заголовке с ответом веб-ловушки от оплаты бритвой, я получаю следующую ошибку.

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')

Я использовал тот же код, который приведен в документации API Razor Pay для проверки подписи - https://razorpay.com/docs/webhooks/integrations/#validation

Преобразовал тело ответа в строку с помощью json.loads () и передалфункция проверки подписи для оплаты, а также подпись и секретный ключ, настроенные для оплаты.

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

Также запустил автономный скрипт для генерации подписи, передавая секретный ключ и тело ответа веб-ловушки с помощью hmac.Но созданная подпись не совпадает с подписью, отправленной в заголовке веб-ловушки.

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 не совпадает с подписью заголовка веб-ловушки.

Я пробовал решение, опубликованное в этом вопросе, но, похоже, оно не работает - Ошибка проверки подписи Razorpay Webhook

Так как решить проблему проверки подписи?В чем может быть проблема?

...