Ожидали байты или байтовый массив, но получили 'NoneType' в Django
Я получаю ответ от платежного шлюза (paystack) и пытаюсь проверить, что события исходят от Paystack, чтобы избежать доставки значения на основе события countefeit. При получении ответа от них у меня возникает следующая ошибка
raise TypeError("key: expected bytes or bytearray, but got %r" % type(key).__name__)
TypeError: key: expected bytes or bytearray, but got 'NoneType'
Views.py
@require_POST
@csrf_exempt
def webhook(request):
secret = getattr(
settings, ' PAYSTACK_PRIVATE_KEY', None
)
webhook_data = request.body
hash = hmac.new(secret, webhook_data, digestmod=hashlib.sha512).hexdigest()
if hash != request.headers["HTTP_X_PAYSTACK_SIGNATURE"]:
raise ValidationError("MAC authentication failed")
response_data = json.loads(request.body)
return HttpResponse(status=200)
Вы можете взглянуть на документацию по веб-крючкам API paysatck здесь: https://paystack.com/docs/payments/webhooks/#verifying-events