Я пытаюсь интегрировать ссылку оплаты через бритву через 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
Так как решить проблему проверки подписи?В чем может быть проблема?