如何从我的条纹网络钩子访问项目描述?



我正在使用 Stripe Checkout(客户端和服务器集成(,我希望能够从我的网络钩子访问项目描述。

session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'name': 'Name of Product',
'description': description,
'amount': 30,
'currency': 'gbp',
'quantity': 1,
}],
success_url='https://www.website.uk/success',
cancel_url='https://www.website.uk/cancel',
)

描述是保存我的项目描述的变量。

我的网络钩子看起来像这样(直接来自文档(:

@require_POST
@csrf_exempt
def my_webhook_view(request):
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'] == 'payment_intent.succeeded':
session = event['data']['object']
# Fulfill the purchase...

return HttpResponse(status=200)

我的问题是,如何从网络钩子中访问我的"描述"变量?(将在#完成购买后访问它(

我可以看到它是会话对象(https://stripe.com/docs/api/checkout/sessions/object(的一部分,但我不确定如何访问它?

试过:

description = session['display_items']['custom']['description']

但是我正在key_error display_items即使它作为会话对象的一部分列在文档中。

我有一个类似的问题,可能会帮助其他最终来到这里的人;line_items数组的长度为 1,保存属性的对象位于索引 [0] 处,因此:

session.line_items[0].description

应该提供一个对属性和值的访问权限

最新更新