【问题标题】:retrieve customer email on stripe after checkout session node.js结帐会话 node.js 后在条带上检索客户电子邮件
【发布时间】:2021-12-23 10:36:41
【问题描述】:

我有这个:

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

    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'],
    line_items: [
      {
        price_data: {
          currency: 'cad',
          product_data: {
            name: 'Giveaway Entry',
          },
          unit_amount: customer.price,
        },
        quantity: customer.quantity,
      },
    ],
    mode: 'payment',
    success_url: successurl,
    cancel_url: failedurl,
  });
  console.log(session)

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

它工作得很好。除了结帐会话完成后,它会将我重定向回我的页面。但它不会将他们输入的电子邮件地址(在条带结帐页面上)存储在会话对象中。所以我是这样记录的:

console.log(session)

然后它返回:

customer_email: null

为什么会发生这种情况,我该如何解决?

【问题讨论】:

    标签: javascript node.js stripe-payments


    【解决方案1】:

    Checkout Session 的 customer_email 属性用于创建一个预先填写了电子邮件的 Checkout Session[1]。要查看您的客户在结帐表单中输入的电子邮件,请检查会话的customer_details.email 属性[2]。

    [1]https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_email

    [2]https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details-email

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 2021-12-23
      • 2021-01-17
      • 2021-12-12
      • 1970-01-01
      • 2021-06-07
      • 2018-04-24
      • 2016-12-25
      • 1970-01-01
      相关资源
      最近更新 更多