Прямо сейчас, это мой создать действие для моего контроллера зарядов:Плата за план или план?
def create
# Amount in cents
@amount = 100
# Get the credit card details submitted by the form
customer = Stripe::Customer.create(
:email => params[:email],
:source => params[:stripeToken]
)
# Create the charge on Stripe's servers - this will charge the user's card
begin
Stripe::Charge.create(
:amount => @amount,
:currency => 'usd',
:customer => customer.id,
:description => 'Example charge custom form'
)
redirect_to root_path
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to root_path
end
current_user.subscribed = true
current_user.stripe_id = customer.id
current_user.save
flash[:success] = "Thank you for subscribing. Your account has been unlocked."
end
Я хочу сделать что-то вроде current_user.end_date = (a month from now)
. На самом деле не уверен, как это сделать.
Тогда я буду проверять, будет ли current_user.end_date
в будущем при каждом входе в систему. Если это не так, я делаю current_user.subscribed = false
.
Возможно ли это, и если да, вы могли бы пройти меня через это, потому что я не понимаю, как слишком часто использовать время в рельсах. Или я должен рассматривать это как план? Я не был уверен, потому что я не хочу повторять выставление счетов.