Stripe Rails: недействительное целое число: 1,06

Я не могу разобраться с этим.

Моя форма передает параметры 106 который £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,06

Откуда берется целое число? Я преобразовал это в float,

1 ответ

Решение

Согласно Stripe API параметр Reference number должен быть целочисленным и восприниматься как центы. Так что вы должны пройти 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
Другие вопросы по тегам