Method: Wco::SubscriptionsController#create
- Defined in:
- app/controllers/wco/subscriptions_controller.rb
#create ⇒ Object
A stripe subscription is currently single-item only.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/wco/subscriptions_controller.rb', line 11 def create @subscription = Wco::Subscription.new params[:subscription].permit! :create, @subscription @subscription.leadset_id = Leadset.where({ customer_id: params[:subscription][:customer_id] }).first&.id @subscription.price = Wco::Price.find_by price_id: params[:subscription][:price_id] @subscription.product = @subscription.price.product if params[:is_stripe] payment_methods = Stripe::Customer.list_payment_methods( params[:subscription][:customer_id] ).data params = { customer: params[:subscription][:customer_id], default_payment_method: payment_methods[0][:id], items: [ { price: params[:subscription][:price_id], quantity: params[:subscription][:quantity], }, ], } @stripe_subscription = Stripe::Subscription.create( params ) flash_notice @stripe_subscription end flag = @subscription.save if flag flash_notice @subscription redirect_to action: :show, id: @subscription.id else flash_alert @subscription redirect_to action: :new end end |