我正在尝试让用户填写表单,然后付费提交 . 一旦用户付费,我需要rails将布尔值从单独的模型更改为true .
这是我的收费控制器,完全来自文档 .
class ChargesController < ApplicationController
def new
end
def create
# Amount in cents
@amount = 2900
customer = Stripe::Customer.create(
:email => current_user.email,
:card => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => current_user.email,
:amount => @amount,
:description => 'OneApp',
:currency => 'usd'
)
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to charges_path
end
end
1 回答
如果创建
Stripe::Charge
对您来说足够了,那就像在create
方法中检索要修改的模型实例并在那里设置布尔值一样简单 .比如说,您想为当前用户设置
subscribed
布尔值,因此在您创建的方法中添加:或者,假设您要在
Order
模型实例上设置paid
布尔值,然后在您添加的create方法中:如果你需要知道实际转移资金的时候,你必须问Stripe . 集成Stripe的webhooks是一个很好的宝石:
https://github.com/integrallis/stripe_event
无论如何,如果你想知道用户是否买了东西,我建议等待实际的转账通知,因为收费实际上并没有告诉你是否有钱 .