summaryrefslogtreecommitdiff
path: root/billing
diff options
context:
space:
mode:
authorjessib <jessib@leap.se>2013-03-28 11:23:14 -0700
committerAzul <azul@leap.se>2013-07-17 10:47:12 +0200
commit95ec46beac867e1b7df17ba8a72367bbe0b140a9 (patch)
treee4ae0f2816c365a30d6e9b7ed7902c37cd925cd0 /billing
parent3420d624916eb31396af2adca6562e38173c689d (diff)
Let users select amount for payments.
Diffstat (limited to 'billing')
-rw-r--r--billing/app/controllers/payments_controller.rb12
-rw-r--r--billing/app/views/payments/new.html.haml6
2 files changed, 6 insertions, 12 deletions
diff --git a/billing/app/controllers/payments_controller.rb b/billing/app/controllers/payments_controller.rb
index 79a6433..bd01fea 100644
--- a/billing/app/controllers/payments_controller.rb
+++ b/billing/app/controllers/payments_controller.rb
@@ -1,19 +1,18 @@
class PaymentsController < ApplicationController
def new
- @amount = calculate_amount
if current_user
if @customer = Customer.find_by_user_id(current_user.id)
@braintree_data = Braintree::Customer.find(@customer.braintree_customer_id)
@default_cc = @braintree_data.credit_cards.find { |cc| cc.default? }
@tr_data = Braintree::TransparentRedirect.transaction_data(:redirect_url => confirm_payment_url,
- :transaction => {:type => "sale", :amount => @amount, :customer_id => @customer.braintree_customer_id, :options => {:submit_for_settlement => true } })
+ :transaction => {:type => "sale", :customer_id => @customer.braintree_customer_id, :options => {:submit_for_settlement => true } })
else
redirect_to new_customer_path
end
else
# anonymous payment not attributed to any user (ie, donation)
@tr_data = Braintree::TransparentRedirect.transaction_data(:redirect_url => confirm_payment_url,
- :transaction => {:type => "sale", :amount => @amount, :options => {:submit_for_settlement => true } })
+ :transaction => {:type => "sale", :options => {:submit_for_settlement => true } })
end
end
@@ -23,15 +22,8 @@ class PaymentsController < ApplicationController
if @result.success?
render :action => "confirm"
else
- @amount = calculate_amount
render :action => "new"
end
end
- protected
-
- def calculate_amount
- # in a real app this be calculated from a shopping cart, determined by the product, etc.
- "100.00"
- end
end
diff --git a/billing/app/views/payments/new.html.haml b/billing/app/views/payments/new.html.haml
index d9c41ce..1d958b9 100644
--- a/billing/app/views/payments/new.html.haml
+++ b/billing/app/views/payments/new.html.haml
@@ -1,10 +1,12 @@
%h1
- Payment: $#{h @amount}
+ Payment
- if @result
%div{:style => "color: red;"}
= h @result.errors.size
error(s)
-= form_for :transaction, :params => @result && @result.params[:transaction], :errors => @result && @result.errors.for(:transaction), :builder => BraintreeHelper::BraintreeFormBuilder, :url => Braintree::TransparentRedirect.url, :html => {:autocomplete => "off"} do |f|
+= form_for :transaction, :params => @result && @result.params[:transaction], :errors => @result && @result.errors.for(:transaction), :builder => BraintreeFormHelper::BraintreeFormBuilder, :url => Braintree::TransparentRedirect.url, :html => {:autocomplete => "off"} do |f| #TODO: add helper
+ = f.label :amount, "Amount"
+ = f.text_field :amount
- if !@customer
= render :partial => 'non_customer_fields', :locals => {:f => f}
- else