summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--billing/app/controllers/subscription_controller.rb17
-rw-r--r--billing/app/views/subscription/new.html.haml4
-rw-r--r--billing/config/routes.rb4
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