【问题标题】:Pass product id in stripe checkout session在条带结帐会话中传递产品 ID
【发布时间】:2020-07-17 04:25:51
【问题描述】:

我创建了如下的结帐会话:

checkout_session = stripe.checkout.Session.create(
            success_url=domain_url + 'success?session_id={CHECKOUT_SESSION_ID}',
            cancel_url=request.session['latestURL'],
            payment_method_types=['card'],
            mode='payment',
            line_items=[
                {
                    'name': 'Awesome Product',
                    'quantity': 1,
                    'currency': 'usd',
                    'amount': price,
                }
            ]
        )
        return JsonResponse({'sessionId': checkout_session['id']})
    except Exception as e:
        return JsonResponse({'error': str(e)})

我还使用条纹仪表板创建了一个产品并拥有产品 ID。现在如何在上述结帐会话中传递该产品 ID,以便我的产品图像和价格信息将显示在结帐页面中。在上面我已经手动传递了产品名称价格。我想直接将它与我从条带仪表板创建的产品链接。我该怎么做?

【问题讨论】:

标签: python stripe-payments


【解决方案1】:

当您为产品设置价格时,它将创建一个“价格 ID”,您可以传递与特定产品相关联的价格 ID,当 checkout.session.completed 事件触发时,它将有一个 ID您可以使用它来检索 lineItems,然后这些 lineItems 将包含已购买的相关产品的列表(通过它们的价格 ID 链接)。

https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront

例子:

line_items=[{'price': 'price_abcdefghi123456789', 'quantity': 1}]

您可以像这样使用产品 ID:

line_items=[{'price_data': {'currency': 'USD', 'product': 'prod_abcdef123456', 'unit_amount': 500}, 'quantity': 1}]

但这似乎毫无意义(并且可能不安全),因为您必须在 unit_amount 字段中提供价格。

您可以将产品添加到计划中,并以某种方式使用 plan_id,但这似乎比仅使用价格 ID 更复杂(这可能是最好的解决方案)。

结帐会话中使用的订单项的 API 参考如下: https://stripe.com/docs/api/checkout/sessions/create

【讨论】:

  • 我目前正在学习 Stripe,让我感到困惑的是一些教程没有传递产品 ID 或价格 ID。我有点想,为什么结帐时没有提及任何价格或产品。如果我理解正确的话,是不是意味着在创建会话期间,当您使用没有id的price_data时,它会同时创建产品和价格?
【解决方案2】:

当您调用 Session::create 时,它​​们有一个名为 'product' => prod_ifxgshHhhhhlrt 的字段,它是 line_items 字段的一部分。

所以从仪表板中获取产品 ID 并插入字段值。

【讨论】:

【解决方案3】:

您还可以获取产品的价格:

Stripe::Price.list

并直接传递这些价格

【讨论】:

    猜你喜欢
    • 2021-10-27
    • 2021-08-25
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2021-01-25
    • 2021-02-21
    • 2021-12-25
    • 2021-06-28
    相关资源
    最近更新 更多