【发布时间】:2021-07-26 06:19:56
【问题描述】:
在调用 Stripe Web 挂钩时,我收到此错误:未找到与有效负载的预期签名匹配的签名 我在关注这篇文章:https://stripe.com/docs/billing/subscriptions/checkout#provision-and-monitor
我有以下代码:
@csrf_exempt
def saaswebhookview(request):
try:
stripe.api_key = settings.STRIPE_SECRET_KEY
webhook_secret = 'stripe_key'
request_data = request.POST
if webhook_secret:
try:
signature = request.headers.get('stripe-signature')
# signature = request.META['stripe-signature']
event = stripe.Webhook.construct_event(
payload=request.POST, sig_header=signature, secret=webhook_secret)
data = event['data']
except Exception as e:
print(str(e))
return JsonResponse({'status': 'error', 'error': str(e)})
event_type = event['type']
else:
data = request_data['data']
event_type = request_data['type']
data_object = data['object']
if event_type == 'checkout.session.completed':
print(data)
elif event_type == 'invoice.paid':
print(data)
elif event_type == 'invoice.payment_failed':
print(data)
else:
print('Unhandled event type {}'.format(event_type))
return JsonResponse({'status': 'success'}, safe=False)
except Exception as e:
return JsonResponse({'status': 'success', 'error': str(e)}, safe=False)
但奇怪的是,这会引发错误,不知道为什么?
【问题讨论】:
标签: python django stripe-payments