diff options
author | jessib <jessib@leap.se> | 2013-03-21 13:51:58 -0700 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-07-17 10:46:26 +0200 |
commit | 04288c2a2179d7aa71a2fa21267e6f02fb0400e2 (patch) | |
tree | cf760c8a4ee578071ee24f613d07f62ef28b55fa /billing/app/views | |
parent | a1837914b8f989e2c45fb7b78fc648f0d3f957d6 (diff) |
Unauthenticated users can make single payments (like donations), but payments from authenticated users will be as a Braintree Customer stored in the braintree vault.
Diffstat (limited to 'billing/app/views')
-rw-r--r-- | billing/app/views/customer/edit.html.haml | 9 | ||||
-rw-r--r-- | billing/app/views/payments/_customer_data.html.haml | 15 | ||||
-rw-r--r-- | billing/app/views/payments/_non_customer_fields.html.haml | 16 | ||||
-rw-r--r-- | billing/app/views/payments/new.html.haml | 22 |
4 files changed, 41 insertions, 21 deletions
diff --git a/billing/app/views/customer/edit.html.haml b/billing/app/views/customer/edit.html.haml index c203bb5..21fcfa3 100644 --- a/billing/app/views/customer/edit.html.haml +++ b/billing/app/views/customer/edit.html.haml @@ -2,7 +2,7 @@ #total-errors{:style => "color:red;"} = h(@result.errors.size) error(s) -= form_for :customer, :url => Braintree::TransparentRedirect.url, :params => @result && @result.params[:customer],:existing => current_user, :builder => BraintreeHelper::BraintreeFormBuilder, :errors => @result && @result.errors.for(:customer) do |f| | += form_for :customer, :url => Braintree::TransparentRedirect.url, :params => @result && @result.params[:customer],:existing => @braintree_data, :builder => BraintreeHelper::BraintreeFormBuilder, :errors => @result && @result.errors.for(:customer) do |f| | = field_set_tag "Customer" do %dl %dt= f.label :first_name, 'First Name' @@ -11,10 +11,11 @@ %dd= f.text_field :last_name %dt= f.label :phone, 'Phone' %dd= f.text_field :phone - - if @credit_card + - if @default_cc %ul %li - = @credit_card.masked_number - (#{link_to @credit_card.token, edit_credit_card_info_path(:id => @credit_card.token)}) + Default Credit Card + = @default_cc.masked_number + = # (#{link_to @default_cc.token, edit_credit_card_info_path(:id => @default_cc.token)}) = hidden_field_tag :tr_data, @tr_data = f.submit 'Save Payment Info'
\ No newline at end of file diff --git a/billing/app/views/payments/_customer_data.html.haml b/billing/app/views/payments/_customer_data.html.haml new file mode 100644 index 0000000..900fbd8 --- /dev/null +++ b/billing/app/views/payments/_customer_data.html.haml @@ -0,0 +1,15 @@ +%h2 Customer Information +%dl + %dt First Name + %dd= @braintree_data.first_name + %dt Last Name + %dd= @braintree_data.last_name + %dt Phone + %dd= @braintree_data.phone +%h2 Credit Card Information +%dl + %dt Number + %dd= @default_cc.masked_number + %dt Expiration Date + %dd= @default_cc.expiration_date += link_to 'edit saved data', edit_customer_path(@customer.braintree_customer_id), :class => :btn diff --git a/billing/app/views/payments/_non_customer_fields.html.haml b/billing/app/views/payments/_non_customer_fields.html.haml new file mode 100644 index 0000000..99b420d --- /dev/null +++ b/billing/app/views/payments/_non_customer_fields.html.haml @@ -0,0 +1,16 @@ += field_set_tag "Customer" do + = f.fields_for :customer do |c| + %div= c.label :first_name, "First Name" + %div= c.text_field :first_name + %div= c.label :last_name, "Last Name" + %div= c.text_field :last_name + %div= c.label :email, "Email" + %div= c.text_field :email += field_set_tag "Credit Card" do + = f.fields_for :credit_card do |c| + %div= c.label :number, "Number" + %div= c.text_field :number + %div= c.label :expiration_date, "Expiration Date (MM/YY)" + %div= c.text_field :expiration_date + %div= c.label :cvv, "CVV" + %div= c.text_field :cvv
\ No newline at end of file diff --git a/billing/app/views/payments/new.html.haml b/billing/app/views/payments/new.html.haml index b6dd713..d9c41ce 100644 --- a/billing/app/views/payments/new.html.haml +++ b/billing/app/views/payments/new.html.haml @@ -5,21 +5,9 @@ = 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| - = field_set_tag "Customer" do - = f.fields_for :customer do |c| - %div= c.label :first_name, "First Name" - %div= c.text_field :first_name - %div= c.label :last_name, "Last Name" - %div= c.text_field :last_name - %div= c.label :email, "Email" - %div= c.text_field :email - = field_set_tag "Credit Card" do - = f.fields_for :credit_card do |c| - %div= c.label :number, "Number" - %div= c.text_field :number - %div= c.label :expiration_date, "Expiration Date (MM/YY)" - %div= c.text_field :expiration_date - %div= c.label :cvv, "CVV" - %div= c.text_field :cvv - = hidden_field_tag :tr_data, Braintree::TransparentRedirect.transaction_data(:redirect_url => confirm_payment_url,:transaction => {:type => "sale", :amount => @amount, :options => {:submit_for_settlement => true } }) + - if !@customer + = render :partial => 'non_customer_fields', :locals => {:f => f} + - else + = render :partial => 'customer_data' + = hidden_field_tag :tr_data, @tr_data = f.submit "Submit"
\ No newline at end of file |