Koh*_*ohl 2 methods ruby-on-rails stripe-payments
我想在将价格发送到表格/条带之前去掉价格中的小数点。我可以使用其他方法来执行此操作吗?
在我的 Product.rb 模型中,我有:
def monetize_amount
self.price.to_s.delete(".").to_f
end
Run Code Online (Sandbox Code Playgroud)
在 charge_controller 中我有:
def create
@product = Product.find(params[:id])
# Amount in cents
**@amount = @product.monetize_amount**
customer = Stripe::Customer.create(
:email => 'example@stripe.com',
:card => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:description => 'Rails Stripe customer',
:currency => 'usd'
)
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to charges_path
end
Run Code Online (Sandbox Code Playgroud)
就像argentum47说的那样。将其转换为以分为单位的整数值。
\n\nclass Product < AR::Base\n def price_in_cents\n (price * 100).to_i\n end\nend\nRun Code Online (Sandbox Code Playgroud)\n\n然后稍后你可以这样做:
\n\ncharge = Stripe::Charge.create(\n :customer => customer.id,\n :amount => @product.price_in_cents,\n #\xe2\x80\xa6\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
898 次 |
| 最近记录: |