ruby-on-rails - Stripe rails : Invalid integer: 1. 06

标签 ruby-on-rails ruby stripe-payments

我无法理解这个问题。

我的表单传递了 106 的参数,即 £1.06

enter image description here

充值卡:

amount = params[:amount].to_f
begin
  charge = Stripe::Charge.create(
    :amount => amount / 100,
    :currency => "gbp",
    :source => token,
    :description => "Example charge"
  )
rescue Stripe::CardError => e
  # The card has been declined
end

如何预防:

Invalid integer: 1.06

整数从何而来?我已将其转换为 float

最佳答案

根据 Stripe API Reference amount 参数应该是整数,它被认为是美分。因此,您应该将 params[:amount] 直接作为金额传递。

begin
  charge = Stripe::Charge.create(
    :amount => params[:amount],
    :currency => "gbp",
    :source => token,
    :description => "Example charge"
  )
rescue Stripe::CardError => e
  # The card has been declined
end

关于ruby-on-rails - Stripe rails : Invalid integer: 1. 06,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36837952/

相关文章:

ruby-on-rails - 使 js.erb 文件在没有 ajax Ruby on Rails 4 的情况下工作

ruby-on-rails - 使用 Capistrano 将 Rails 应用程序部署到多个服务器 - 最佳实践

ruby-on-rails - 在 Rails 3 模型中创建命名关系

ruby - 获取在 Ruby 中打印的最后一行

css - HTML 到 PDF 页面无法正确转换为 A4 页面大小

ruby-on-rails - 将字符串插入 ruby​​ 方法的一部分

ruby - 在 Ruby 中,有没有办法(也许是 gem)以 "XX:XX"格式处理时间?

JAVA:Stripe Webhook 错误:未找到与有效负载的预期签名匹配的签名

javascript - Stripe 和 MogoDB 集成的 GraphQL 突变过早返回 null

stripe-payments - Stripe 获取 Apple Pay token 来创建客户 - 网络