【问题标题】:Is it possible to have user input come from a form input in this Stripe example?在这个 Stripe 示例中,用户输入是否可以来自表单输入?
【发布时间】:2021-02-04 11:04:22
【问题描述】:

是否可以修改此 Stripe 示例,让用户在文本框中输入金额。我能够更改 server.js 文件上的金额,并且我知道如何让表单在 checkout.html 中工作,但我不知道如何在单击按钮时将值转发到 server.js 可以得到它。

https://stripe.com/docs/checkout/integration-builder


server.js

app.post('/create-checkout-session', async (req, res) => {
  const session = await stripe.checkout.sessions.create({
    payment_method_types: ['card'],
    line_items: [
      {
        price_data: {
          currency: 'usd',
          product_data: {
            name: 'Stubborn Attachments',
            images: ['https://i.imgur.com/EHyR2nP.png'],
          },
          unit_amount: 2000,
        },
        quantity: 1,
      },
    ],
    mode: 'payment',
    success_url: `${YOUR_DOMAIN}/success.html`,
    cancel_url: `${YOUR_DOMAIN}/cancel.html`,
  });

checkout.html

【问题讨论】:

    标签: javascript npm stripe-payments


    【解决方案1】:

    您可以,您只需在表单中捕获金额,然后在创建结帐会话之前将该数据发布到您的服务器。

    例如:

    app.post('/create-checkout-session', async (req, res) => {
      const amount = parseInt(req.body.amount, 10) * 100;
    
      const session = await stripe.checkout.sessions.create({
        payment_method_types: ['card'],
        line_items: [
          {
            price_data: {
              currency: 'usd',
              product_data: {
                name: 'Stubborn Attachments',
                images: ['https://i.imgur.com/EHyR2nP.png'],
              },
              unit_amount: amount,
            },
            quantity: 1,
          },
        ],
        mode: 'payment',
        success_url: `${YOUR_DOMAIN}/success.html`,
        cancel_url: `${YOUR_DOMAIN}/cancel.html`,
      });
    
      res.json(session.id);
    });
    

    以下是如何在 Glitch 中执行此操作的示例:

    https://glitch.com/edit/#!/stripe-checkout-donate

    最终结果如下所示:

    https://stripe-checkout-donate.glitch.me/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-26
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      相关资源
      最近更新 更多