如何向Stripe Charge添加数量字段? JavaScript的

时间:2018-04-28 19:10:19

标签: node.js stripe-payments stripe.js

在创建Stripe Checkouts表单时,我似乎无法找到任何向Stripe Charge方法添加数量的选项,以便客户端可以查看客户订购的数量。我搜索了Stripe's API个文档,找不到任何关于向收费方法添加数量的内容(订阅计划有一个数量参数,但这不是我想要的)。我缺少一个关键字吗?或者Stripe不支持数量?

stripe(STRIPE_SECRET_KEY).charges.create({
    quantity: 2,
    receipt_email: body.stripeEmail,
    amount: body.amount,
    currency: body.currency,
    source: body.stripeToken, 
    description: body.description
  }, (err, charge) => {
    console.log(body.amount, body.currency);
    const status = err ? 400: 200;
    const message = err ? err.message: 'Payment successfully completed!';
    res.writeHead(status, { 'Content-Type': 'text/html' });
    return res.end('<h1>' + message + '</h1>');
  });
});

1 个答案:

答案 0 :(得分:0)

数量不是Charge对象可用的属性,对于这样的一次性费用。如果您希望为用户提供数量购买的能力,您应该在自己的应用程序逻辑中定义,计算总数,然后指示Stripe收取最终金额。您可以在metadata上存储数量以用于您自己的记录。或者,您可以考虑使用Orders

stripe.charges.create({
    metadata: {'quantity': 2, 'order_id': 'A6735'},
    receipt_email: body.stripeEmail,
    amount: body.amount,
    currency: body.currency,
    source: body.stripeToken, 
    description: body.description
}) 

...