2016-08-21 4 views
0

Прямо сейчас, это мой создать действие для моего контроллера зарядов:Плата за план или план?

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.

Возможно ли это, и если да, вы могли бы пройти меня через это, потому что я не понимаю, как слишком часто использовать время в рельсах. Или я должен рассматривать это как план? Я не был уверен, потому что я не хочу повторять выставление счетов.

ответ

Смежные вопросы