需要创建结账会话GraphQL + Django

问题描述 投票:0回答:2

我需要为 Stripe Checkout 创建一个会话。根据 Stripe Checkout 文档:

在服务器上添加一个端点来创建结账会话。结账会话控制客户在 Stripe 托管的支付页面中看到的内容,例如行项目、订单金额和货币以及可接受的支付方式。在响应中返回结帐会话的 ID 以引用客户端上的会话。

我正在努力在 Graphene(用于 Django 实现的 GraphQL 包装器)中创建此服务。

这是文档显示的示例(Flask):

[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

我知道如何让前端(react)工作,并且知道每次用户想要购买东西时如何请求这个创建会话id,但我被困在创建会话服务的GraphQl服务器实现上。本质上我想将上面的代码转换为 GraphQL 等效代码。我想知道我是否需要为这项服务创建一个模型?任何能让我开始的事情都会有帮助!

django graphql stripe-payments graphene-python graphene-django
2个回答
0
投票

会话需要cookie。更好的方法是在请求中使用 Auth Bearer 令牌,通过 GraphL POST 查询和突变来模拟请求中的会话行为。

如果您想使用基于 cookie 的会话,请在 graphql 中创建会话。


0
投票

这里有一些可能对您有帮助的东西 - https://www.getlazy.ai/templates/stripe-checkout-session-api-server-template-0b4c5889-4952-4a0a-9390-d766fb96dcf6。 这是一个 AI 应用程序,它创建一个 API 服务器,其中包括一个用于创建 Stripe 结账会话以处理付款的端点,另一个用于检索会话状态的端点,允许所有 CORS,包括具有信息级别的日志,并记录发送的请求。 我已经使用 Lazy 完成了这件事,它是一个人工智能工具,可以在这种情况下提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.