【发布时间】:2023-03-12 21:18:01
【问题描述】:
一旦 webhook 确认 'checkout.session.completed',我正在尝试使用保存在 django session variables 中的数据来运行函数,但我总是遇到关键错误。我 100% 确定密钥存在于会话变量中。
这是我的网络钩子:
@csrf_exempt
def stripe_webhook(request):
# You can find your endpoint's secret in your webhook settings
endpoint_secret = 'secret'
payload = request.body
sig_header = request.META['HTTP_STRIPE_SIGNATURE']
event = None
try:
event = stripe.Webhook.construct_event(
payload, sig_header, endpoint_secret
)
except ValueError as e:
# Invalid payload
return HttpResponse(status=400)
except stripe.error.SignatureVerificationError as e:
# Invalid signature
return HttpResponse(status=400)
# Handle the checkout.session.completed event
if event['type'] == 'checkout.session.completed':
session = event['data']['object']
fulfull_order(session)
return HttpResponse(status=200)
这是我的履行订单功能:
def fulfull_order(session):
generator = PlanMaker(goal=request.session['goal'], gender=request.session['gender'])
/// send email code.
这一行generator = PlanMaker(goal=request.session['goal'], gender=request.session['gender'])
总是在request.session['goal'] 上给出密钥错误该密钥确实存在,只是似乎无法从 webhook 视图中访问。
如何解决?
【问题讨论】: