【问题标题】:include metadata in stripe checkout session在条带结帐会话中包含元数据
【发布时间】:2021-12-25 02:07:05
【问题描述】:

我在 node.js 中使用预构建的条带结帐会话。这是我的功能:

app.get('/create-checkout-session', async (req, res) => {
    let customer = {
        price: req.query.price,
        quantity: req.query.quantity,
        page: req.query.page,
        email: req.query.email,
        name: req.query.name
    }

    // insertIntoDbPreCheckout(customer, req, res)

    let successurl = 'http://localhost:1111/' + customer.page + ''
    let failedurl = 'http://localhost:1111/' + customer.page + ''
  const session = await stripe.checkout.sessions.create({
    payment_method_types: ['card'],
    metadata: {
      'description': customer.page
    },
    customer_email: customer.email,
    line_items: [
      {
        price_data: {
          currency: 'cad',
          product_data: {
            name: customer.page,
          },
          unit_amount: customer.price,
        },
        quantity: customer.quantity,
      },
    ],
    mode: 'payment',
    success_url: successurl,
    cancel_url: failedurl,
  })

  res.redirect(303, session.url);
});

我试图通过 METADATA,但它不让我通过。

我在网上找不到任何可以告诉我如何执行此操作的内容,并且无论我尝试什么都无法正常工作。我该如何解决这个问题?

编辑:

当我记录客户时,它显示如下:

     email: 'uuu@u.com',
  invoice_prefix: '9FC11B6D',
  invoice_settings: { custom_fields: null, default_payment_method: null, footer: null },
  livemode: false,
  metadata: {},

如您所见,metadata 为空

【问题讨论】:

  • 不让你是什么意思?您的请求看起来有效,我希望 metadata 最终会出现在 Checkout 会话中。您是否遇到 API 错误?错误说明了什么?
  • @NolanH 刚刚编辑了我的 q

标签: javascript node.js stripe-payments metadata


【解决方案1】:

根据更新的问题,这是预期的。您提供的 metadata 位于 Checkout 会话本身。您正在检查 Checkout 会话创建的 Customer 对象,该对象还没有 metadata

如果您愿意,您可以添加客户元数据,updating 客户:

const customer = await stripe.customers.update(
  'cus_123',
  {metadata: {order_id: '6735'}}
);

现有的元数据将在 Checkout session object

【讨论】:

  • 哦,我明白了。是的,这是有道理的,因此元数据正在传递,只是不是通过客户,而是通过会话。那么是否有可能为特定客户创建结帐会话。所以我会创建一个客户,然后立即为他们创建一个结帐会话?比如我将如何为特定客户指定结帐会话?
  • 是的,您可以通过首先创建客户(可选地使用元数据!)然后使用结帐会话customer 参数来使用该客户。
猜你喜欢
  • 2021-10-25
  • 2021-08-25
  • 1970-01-01
  • 2021-09-16
  • 2021-02-21
  • 1970-01-01
  • 2019-03-09
  • 1970-01-01
相关资源
最近更新 更多