diff options
-rw-r--r-- | billing/app/controllers/subscription_controller.rb | 17 | ||||
-rw-r--r-- | billing/app/views/subscription/new.html.haml | 4 | ||||
-rw-r--r-- | billing/config/routes.rb | 4 |
3 files changed, 25 insertions, 0 deletions
diff --git a/billing/app/controllers/subscription_controller.rb b/billing/app/controllers/subscription_controller.rb new file mode 100644 index 0000000..d284e78 --- /dev/null +++ b/billing/app/controllers/subscription_controller.rb @@ -0,0 +1,17 @@ +class SubscriptionController < ApplicationController + before_filter :authorize + + def new + customer = Customer.find_by_user_id(current_user.id) + braintree_customer = Braintree::Customer.find(customer.braintree_customer_id) + payment_method_token = customer.default_credit_card.token + @result = Braintree::Subscription.create( :payment_method_token => payment_method_token, :plan_id => "ttw2" ) #todo obviously don't hardcode payment id + debugger + + end + + def confirm + + end + +end diff --git a/billing/app/views/subscription/new.html.haml b/billing/app/views/subscription/new.html.haml new file mode 100644 index 0000000..d94c235 --- /dev/null +++ b/billing/app/views/subscription/new.html.haml @@ -0,0 +1,4 @@ +%h1 + Subscribe to plan +- if @result #todo + = @result diff --git a/billing/config/routes.rb b/billing/config/routes.rb index c103e2b..aa436ba 100644 --- a/billing/config/routes.rb +++ b/billing/config/routes.rb @@ -8,6 +8,10 @@ Rails.application.routes.draw do match 'customer/confirm' => 'customer#confirm', :as => :confirm_customer match 'credit_card_info/confirm' => 'credit_card_info#confirm', :as => :confirm_credit_card_info + + match 'subscription/new' => 'subscription#new', :as => :new_subscription + match 'subscription/confirm' => 'subscription#confirm', :as => :confirm_subscription + #match 'transactions/:product_id/new' => 'transactions#new', :as => :new_transaction #match 'transactions/confirm/:product_id' => 'transactions#confirm', :as => :confirm_transaction |