Проверка запроса webhook Shopify для темы `orders/create` возвращает False в проекте python/django
Я пытаюсь проверить запрос Shopify webhook для темы orders/create
, но проверка возвращает False, я не могу понять причину.
Вот фрагмент кода, который я использую для проверки запроса.
- views.py
class ShopifyWebhookOrderCreate(APIView):
def post(self, request):
verified = verify_webhook(request.body, request.META.get('HTTP_X_SHOPIFY_HMAC_SHA256'))
if not verified:
return Response(status=status.HTTP_401_UNAUTHORIZED)
...
...
...
и для проверки запроса я делаю следующее:-
def verify_webhook(data, hmac_header):
CLIENT_SECRET = config('SHOPIFY_CLIENT_SECRET')
digest = hmac.new(CLIENT_SECRET.encode('utf-8'), data, digestmod=hashlib.sha256).digest()
computed_hmac = base64.b64encode(digest)
return hmac.compare_digest(computed_hmac, hmac_header.encode('utf-8'))
Формат request.body - b'{'the': 'data'}'
Я проверил SECRET
с помощью приложения Shopify.
Ссылка на документ:- https://shopify.dev/apps/webhooks/configuration/https#step-5-verify-the-webhook