条纹出现无效整数错误

21
我无法在Stripe中收取49.99美元。我正在尝试以下链接,但都没有奏效: Stripe Checkout价格错误 - 无效整数 Stripe Rails:无效整数:1.06 我希望按原价收费,而不想四舍五入支付金额。
 stripe.charges.create({
    // Charge the customer in stripe
// amount: req.query.amount,
    amount: 49.99,
    currency: 'usd',
    customer: req.customer
  }).then(function(charge) {
    // Use and save the charge info in our db
    var successTransaction = {
      stripeId: charge.customer,
      transactionId: charge.id,
      amount: charge.amount,
      currency: charge.currency,
      message: charge.outcome.seller_message,
      paidStatus: charge.paid,
      summary: charge
    };
3个回答

43

Stripe只允许在价格中使用整数值,因此需要通过(*100)将您的价格(金额)转换为美分,因此现在您的代码金额为499,在Stripe仪表板中,您将看到49.99美元。有关更多详细信息,请查看链接:

https://stripe.com/docs/api#charges

换句话说,Stripe的API始终将最小支持单位作为输入(无需配置任何内容),例如,1的金额意味着1美分而不是1美元。


2
@leekei:我很高兴它对某人有用。 - Priyanka Sankhala
一份精炼而又清晰的解释。谢谢。 - Dzenis H.

9
你可以使用以下方法,这将帮助你将小数值作为金额,并在发票和付款过程中显示相同的金额。
金额:Math.round(49.99 * 100)

1
你值得一分钱! :) - KTM
我输错了,输入的是19.98而不是19.99,但它还是奏效了。 - codmitu

0

Stripe允许使用整数作为价格,如果您想收取$49.99,则需要将其乘以100。

Stripe允许的最小价格单位是分。

599分 = $5.99


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接