问题描述
我需要为Stripe Checkout创建会话。根据Stripe Checkout文档:
在您的服务器上添加一个创建Checkout会话的端点。 Checkout会话控制着客户在Stripe托管的付款页面中看到的内容,例如订单项,订单金额和币种以及可接受的付款方式。在响应中返回Checkout会话的ID,以引用客户端上的会话。
我正在努力在Graphene(用于Django实现的GraphQL包装器)中创建此服务。
这是文档显示的示例(烧瓶):
[email protected]('/create-session',methods=['POST'])
22def create_checkout_session():
23 try:
24 checkout_session = stripe.checkout.Session.create(
25 payment_method_types=['card'],26 line_items=[
27 {
28 'price_data': {
29 'currency': 'usd',30 'unit_amount': 2000,31 'product_data': {
32 'name': 'Stubborn Attachments',33 'images': ['https://i.imgur.com/EHyR2nP.png'],34 },35 },36 'quantity': 1,37 },38 ],39 mode='payment',40 success_url=YOUR_DOMAIN + '?success=true',41 cancel_url=YOUR_DOMAIN + '?canceled=true',42 )
43 return jsonify({'id': checkout_session.id})
44 except Exception as e:
45 return jsonify(error=str(e)),403
我知道如何使前端(反应)正常工作,并且每次用户想要购买商品时都知道如何请求此创建会话ID,但是我对创建会话服务的GraphQl服务器实现感到困惑。本质上,我想将上面的代码转换为等效的GraphQL。我想知道是否需要为此服务创建模型吗?任何让我入门的方法都会有所帮助!
解决方法
会话需要cookie。更好的方法是将Auth Bearer令牌与请求一起使用,以通过GraphL POST查询和突变模拟请求中的会话行为。
如果要使用基于cookie的会话,请在graphql上创建会话。