Stripe Rails:无效的整数:1.06

时间:2016-04-25 10:27:44

标签: ruby-on-rails ruby stripe-payments

我无法理解这一点。

我的表单传递了106的{​​{1}}符号。

enter image description here

为卡充电:

£1.06

如何预防:

  

无效的整数:1.06

整数来自哪里?我已将其转换为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

1 个答案:

答案 0 :(得分:5)

根据Stripe API Reference数量参数应为整数,并且它被视为美分。因此,您应该直接将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