我需要为 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 等效代码。我想知道我是否需要为这项服务创建一个模型?任何能让我开始的事情都会有帮助!
会话需要cookie。更好的方法是在请求中使用 Auth Bearer 令牌,通过 GraphL POST 查询和突变来模拟请求中的会话行为。
如果您想使用基于 cookie 的会话,请在 graphql 中创建会话。
这里有一些可能对您有帮助的东西 - https://www.getlazy.ai/templates/stripe-checkout-session-api-server-template-0b4c5889-4952-4a0a-9390-d766fb96dcf6。 这是一个 AI 应用程序,它创建一个 API 服务器,其中包括一个用于创建 Stripe 结账会话以处理付款的端点,另一个用于检索会话状态的端点,允许所有 CORS,包括具有信息级别的日志,并记录发送的请求。 我已经使用 Lazy 完成了这件事,它是一个人工智能工具,可以在这种情况下提供帮助。