需要创建签出会话GraphQL + Django

问题描述

我需要为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上创建会话。