solidus_braintree 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.circleci/config.yml +35 -0
 - data/.github/stale.yml +1 -0
 - data/.gitignore +1 -0
 - data/Gemfile +22 -12
 - data/README.md +6 -2
 - data/app/decorators/lib/solidus_braintree/spree/permitted_attributes_decorator.rb +9 -0
 - data/app/decorators/models/solidus_braintree/spree/credit_card_decorator.rb +11 -0
 - data/app/decorators/models/solidus_braintree/spree/payment_decorator.rb +10 -0
 - data/app/views/spree/admin/payments/source_forms/_braintree.html.erb +2 -2
 - data/app/views/spree/admin/payments/source_views/_braintree.html.erb +3 -3
 - data/app/views/spree/api/payments/source_views/_braintree.json.jbuilder +3 -0
 - data/app/views/spree/checkout/payment/_braintree.html.erb +8 -8
 - data/config/initializers/braintree.rb +3 -1
 - data/lib/assets/javascripts/spree/backend/braintree/solidus_braintree.js +2 -2
 - data/lib/solidus_braintree/engine.rb +1 -1
 - data/lib/solidus_braintree/version.rb +1 -1
 - data/solidus_braintree.gemspec +3 -3
 - metadata +21 -20
 - data/.travis.yml +0 -41
 - data/app/models/credit_card_decorator.rb +0 -3
 - data/app/models/payment_decorator.rb +0 -2
 - data/app/models/permitted_attributes_decorator.rb +0 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: a0bdcf8e4b5373b818e1092d9c6b5e5f87669b5866eba7db642424348248c878
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 5236477492142c2f00a20d5ab25f7a77d34863778ffb617874018794fffe8d40
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a95fb49ebe9867d9256463060a2df7aaf2e04c9314bc1dba68ccaa5c8adf7a455d9e1bca3a9e86c894668cf4d839ee47913992cc73abb92d3f50b85a7cecafc1
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 25b7444e079936fc2f1c58252915d027f3985b93ada12a6dbdc7292c82eabb71f77fbec558a20553abbd799d219be5664cca590306760a3367d0e05609efdd10
         
     | 
| 
         @@ -0,0 +1,35 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            version: 2.1
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            orbs:
         
     | 
| 
      
 4 
     | 
    
         
            +
              # Always take the latest version of the orb, this allows us to
         
     | 
| 
      
 5 
     | 
    
         
            +
              # run specs against Solidus supported versions only without the need
         
     | 
| 
      
 6 
     | 
    
         
            +
              # to change this configuration every time a Solidus version is released
         
     | 
| 
      
 7 
     | 
    
         
            +
              # or goes EOL.
         
     | 
| 
      
 8 
     | 
    
         
            +
              solidusio_extensions: solidusio/extensions@volatile
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            jobs:
         
     | 
| 
      
 11 
     | 
    
         
            +
              run-specs-with-postgres:
         
     | 
| 
      
 12 
     | 
    
         
            +
                executor: solidusio_extensions/postgres
         
     | 
| 
      
 13 
     | 
    
         
            +
                steps:
         
     | 
| 
      
 14 
     | 
    
         
            +
                  - solidusio_extensions/run-tests
         
     | 
| 
      
 15 
     | 
    
         
            +
              run-specs-with-mysql:
         
     | 
| 
      
 16 
     | 
    
         
            +
                executor: solidusio_extensions/mysql
         
     | 
| 
      
 17 
     | 
    
         
            +
                steps:
         
     | 
| 
      
 18 
     | 
    
         
            +
                  - solidusio_extensions/run-tests
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            workflows:
         
     | 
| 
      
 21 
     | 
    
         
            +
              "Run specs on supported Solidus versions":
         
     | 
| 
      
 22 
     | 
    
         
            +
                jobs:
         
     | 
| 
      
 23 
     | 
    
         
            +
                  - run-specs-with-postgres
         
     | 
| 
      
 24 
     | 
    
         
            +
                  - run-specs-with-mysql
         
     | 
| 
      
 25 
     | 
    
         
            +
              "Weekly run specs against master":
         
     | 
| 
      
 26 
     | 
    
         
            +
                triggers:
         
     | 
| 
      
 27 
     | 
    
         
            +
                  - schedule:
         
     | 
| 
      
 28 
     | 
    
         
            +
                      cron: "0 0 * * 4" # every Thursday
         
     | 
| 
      
 29 
     | 
    
         
            +
                      filters:
         
     | 
| 
      
 30 
     | 
    
         
            +
                        branches:
         
     | 
| 
      
 31 
     | 
    
         
            +
                          only:
         
     | 
| 
      
 32 
     | 
    
         
            +
                            - master
         
     | 
| 
      
 33 
     | 
    
         
            +
                jobs:
         
     | 
| 
      
 34 
     | 
    
         
            +
                  - run-specs-with-postgres
         
     | 
| 
      
 35 
     | 
    
         
            +
                  - run-specs-with-mysql
         
     | 
    
        data/.github/stale.yml
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            _extends: .github
         
     | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -1,23 +1,33 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            source "https://rubygems.org"
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            branch = ENV.fetch('SOLIDUS_BRANCH', ' 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            branch = ENV.fetch('SOLIDUS_BRANCH', 'main')
         
     | 
| 
      
 4 
     | 
    
         
            +
            solidus_git, solidus_frontend_git = if (branch == 'main') || (branch >= 'v3.2')
         
     | 
| 
      
 5 
     | 
    
         
            +
                                                  %w[solidusio/solidus solidusio/solidus_frontend]
         
     | 
| 
      
 6 
     | 
    
         
            +
                                                else
         
     | 
| 
      
 7 
     | 
    
         
            +
                                                  %w[solidusio/solidus] * 2
         
     | 
| 
      
 8 
     | 
    
         
            +
                                                end
         
     | 
| 
      
 9 
     | 
    
         
            +
            gem 'solidus', github: solidus_git, branch: branch
         
     | 
| 
      
 10 
     | 
    
         
            +
            gem 'solidus_frontend', github: solidus_frontend_git, branch: branch
         
     | 
| 
       5 
11 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
              gem "rails", "~> 5.0.0"
         
     | 
| 
       11 
     | 
    
         
            -
              gem "rails-controller-testing", group: :test
         
     | 
| 
      
 12 
     | 
    
         
            +
            # Needed to help Bundler figure out how to resolve dependencies,
         
     | 
| 
      
 13 
     | 
    
         
            +
            # otherwise it takes forever to resolve them
         
     | 
| 
      
 14 
     | 
    
         
            +
            if branch == 'main' || Gem::Version.new(branch[1..-1]) >= Gem::Version.new('2.10.0')
         
     | 
| 
      
 15 
     | 
    
         
            +
              gem 'rails', '~> 6.0'
         
     | 
| 
       12 
16 
     | 
    
         
             
            else
         
     | 
| 
       13 
     | 
    
         
            -
              gem  
     | 
| 
       14 
     | 
    
         
            -
              gem "rails_test_params_backport", group: :test
         
     | 
| 
      
 17 
     | 
    
         
            +
              gem 'rails', '~> 5.0'
         
     | 
| 
       15 
18 
     | 
    
         
             
            end
         
     | 
| 
       16 
19 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
      
 20 
     | 
    
         
            +
            case ENV['DB']
         
     | 
| 
      
 21 
     | 
    
         
            +
            when 'mysql'
         
     | 
| 
      
 22 
     | 
    
         
            +
              gem 'mysql2'
         
     | 
| 
      
 23 
     | 
    
         
            +
            when 'postgres'
         
     | 
| 
      
 24 
     | 
    
         
            +
              gem 'pg'
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            gem "rails-controller-testing", group: :test
         
     | 
| 
       19 
28 
     | 
    
         | 
| 
       20 
29 
     | 
    
         
             
            group :development, :test do
         
     | 
| 
      
 30 
     | 
    
         
            +
              gem 'factory_bot', '> 4.10.0'
         
     | 
| 
       21 
31 
     | 
    
         
             
              gem "pry-rails"
         
     | 
| 
       22 
32 
     | 
    
         
             
            end
         
     | 
| 
       23 
33 
     | 
    
         | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Solidus Braintree
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            [](https://circleci.com/gh/solidusio/solidus_braintree)
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            `solidus_braintree` is a gem that adds [Braintree v.zero](https://www.braintreepayments.com/v-zero) support to the [solidus](http://solidus.io/) E-commerce platform.
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
         @@ -8,6 +8,10 @@ It provides support for credit card and Paypal payment methods via the `Spree::C 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            It will add the braintree-drop-in form for payment methods in the payment form of spree/backend. Spree front-end is currently unsupported.
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
      
 11 
     | 
    
         
            +
            ## DEPRECATION NOTICE :warning: :construction:
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            This extension is deprecated in favor of [Solidus Paypal Braintree](https://github.com/solidusio/solidus_paypal_braintree).
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       11 
15 
     | 
    
         
             
            ## Installation
         
     | 
| 
       12 
16 
     | 
    
         | 
| 
       13 
17 
     | 
    
         
             
            Add this line to your solidus application's Gemfile:
         
     | 
| 
         @@ -32,7 +36,7 @@ Control Panel. 
     | 
|
| 
       32 
36 
     | 
    
         | 
| 
       33 
37 
     | 
    
         
             
            This gem extends your solidus application by adding a `POST /api/payment_client_token` endpoint to you application to generate Braintree payment client token. This endpoint requires an authentication token in your request header.
         
     | 
| 
       34 
38 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
            It creates a new `PaymentMethod` class called `Solidus::Gateway::BraintreeGateway`. You can configure this payment method in the admin and add your Braintree public/private keys and  
     | 
| 
      
 39 
     | 
    
         
            +
            It creates a new `PaymentMethod` class called `Solidus::Gateway::BraintreeGateway`. You can configure this payment method in the admin and add your Braintree public/private keys, merchant id, and the proper environment. Please ensure that the environment value is included among the values listed [here](https://github.com/braintree/braintree_ruby/blob/7660ae6f6d228acee8eaedd1830afafbaf91820f/lib/braintree/configuration.rb#L235), otherwise you will encounter unexpected errors. The admin will render a Braintree dropin container when prompting you to create an order payment.
         
     | 
| 
       36 
40 
     | 
    
         | 
| 
       37 
41 
     | 
    
         
             
            It adds a json or text `data` field on `Spree::CreditCard` for storing additional information received from Braintree for addtional payment methods.
         
     | 
| 
       38 
42 
     | 
    
         | 
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module CreditCardDecorator
         
     | 
| 
      
 4 
     | 
    
         
            +
              def self.prepended(base)
         
     | 
| 
      
 5 
     | 
    
         
            +
                base.include SolidusBraintree::SkipRequireCardNumbersConcern
         
     | 
| 
      
 6 
     | 
    
         
            +
                base.include SolidusBraintree::AddNameValidationConcern
         
     | 
| 
      
 7 
     | 
    
         
            +
                base.include SolidusBraintree::UseDataFieldConcern
         
     | 
| 
      
 8 
     | 
    
         
            +
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              Spree::CreditCard.prepend(self)
         
     | 
| 
      
 11 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -5,7 +5,7 @@ 
     | 
|
| 
       5 
5 
     | 
    
         
             
                    <label><%= radio_button_tag :card, card.id, card == previous_cards.first %> <%= card.display_number %><br /></label>
         
     | 
| 
       6 
6 
     | 
    
         
             
                  <% end %>
         
     | 
| 
       7 
7 
     | 
    
         
             
                <% end %>
         
     | 
| 
       8 
     | 
    
         
            -
                <label><%= radio_button_tag :card, 'new', false, { id: "card_new#{payment_method.id}" } %> <%=  
     | 
| 
      
 8 
     | 
    
         
            +
                <label><%= radio_button_tag :card, 'new', false, { id: "card_new#{payment_method.id}" } %> <%= t('spree.use_new_cc') %></label>
         
     | 
| 
       9 
9 
     | 
    
         
             
              </div>
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
              <div id="card_form<%= payment_method.id %>" data-hook>
         
     | 
| 
         @@ -27,7 +27,7 @@ 
     | 
|
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
                <div class="clear"></div>
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
                <%= label_tag "card_address#{payment_method.id}",  
     | 
| 
      
 30 
     | 
    
         
            +
                <%= label_tag "card_address#{payment_method.id}", t('spree.billing_address') %>
         
     | 
| 
       31 
31 
     | 
    
         
             
                <% address = @order.bill_address || @order.ship_address || Spree::Address.build_default %>
         
     | 
| 
       32 
32 
     | 
    
         
             
                <%= fields_for "#{param_prefix}[address_attributes]", address do |f| %>
         
     | 
| 
       33 
33 
     | 
    
         
             
                  <%= render :partial => 'spree/admin/shared/address_form', :locals => { :f => f, :type => "billing" } %>
         
     | 
| 
         @@ -4,13 +4,13 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
              <div class="row">
         
     | 
| 
       5 
5 
     | 
    
         
             
                <div class="alpha six columns">
         
     | 
| 
       6 
6 
     | 
    
         
             
                  <dl>
         
     | 
| 
       7 
     | 
    
         
            -
                    <dt><%=  
     | 
| 
      
 7 
     | 
    
         
            +
                    <dt><%= t('spree.identifier') %>:</dt>
         
     | 
| 
       8 
8 
     | 
    
         
             
                    <dd><%= payment.number %></dd>
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                    <dt><%=  
     | 
| 
      
 10 
     | 
    
         
            +
                    <dt><%= t('spree.response_code') %>:</dt>
         
     | 
| 
       11 
11 
     | 
    
         
             
                    <dd><%= braintree_transaction_link(payment.response_code) %></dd>
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
                    <dt><%=  
     | 
| 
      
 13 
     | 
    
         
            +
                    <dt><%= t('spree.name_on_card') %>:</dt>
         
     | 
| 
       14 
14 
     | 
    
         
             
                    <dd><%= payment.source.name %></dd>
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                    <dt><%= Spree::CreditCard.human_attribute_name(:cc_type) %>:</dt>
         
     | 
| 
         @@ -7,7 +7,7 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
                </div>
         
     | 
| 
       8 
8 
     | 
    
         
             
                <div id="#braintree_paypal_container"></div>
         
     | 
| 
       9 
9 
     | 
    
         
             
              </div>
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       11 
11 
     | 
    
         
             
              <div class="braintree-cc-input">
         
     | 
| 
       12 
12 
     | 
    
         
             
                <div class="braintree-cc-header">
         
     | 
| 
       13 
13 
     | 
    
         
             
                  <%= t('solidus_braintree.creditcard_header_html') %>
         
     | 
| 
         @@ -16,31 +16,31 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
                <% param_prefix = "payment_source[#{payment_method.id}]" %>
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
                <p class="field">
         
     | 
| 
       19 
     | 
    
         
            -
                  <%= label_tag "name_on_card_#{payment_method.id}",  
     | 
| 
      
 19 
     | 
    
         
            +
                  <%= label_tag "name_on_card_#{payment_method.id}", t('spree.name_on_card') %><span class="required">*</span><br />
         
     | 
| 
       20 
20 
     | 
    
         
             
                  <%= text_field_tag "#{param_prefix}[name]", "#{@order.billing_firstname} #{@order.billing_lastname}", { id: "name_on_card_#{payment_method.id}", :autocomplete => "cc-name" } %>
         
     | 
| 
       21 
21 
     | 
    
         
             
                </p>
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                <p class="field" data-hook="card_number">
         
     | 
| 
       24 
     | 
    
         
            -
                  <%= label_tag "braintree_card_number",  
     | 
| 
      
 24 
     | 
    
         
            +
                  <%= label_tag "braintree_card_number", t('spree.card_number') %><span class="required">*</span><br />
         
     | 
| 
       25 
25 
     | 
    
         
             
                  <label for="braintree_card_number" id="braintree_card_number" class="braintree-hosted-field"></label>
         
     | 
| 
       26 
26 
     | 
    
         
             
                   
         
     | 
| 
       27 
27 
     | 
    
         
             
                  <span id="card_type" style="display:none;">
         
     | 
| 
       28 
     | 
    
         
            -
                    ( <span id="looks_like" ><%=  
     | 
| 
       29 
     | 
    
         
            -
                    <span id="unrecognized"><%=  
     | 
| 
      
 28 
     | 
    
         
            +
                    ( <span id="looks_like" ><%= t('spree.card_type_is') %> <span id="type"></span></span>
         
     | 
| 
      
 29 
     | 
    
         
            +
                    <span id="unrecognized"><%= t('spree.unrecognized_card_type') %></span>
         
     | 
| 
       30 
30 
     | 
    
         
             
                    )
         
     | 
| 
       31 
31 
     | 
    
         
             
                  </span>
         
     | 
| 
       32 
32 
     | 
    
         
             
                </p>
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
                <p class="field" data-hook="card_expiration">
         
     | 
| 
       35 
     | 
    
         
            -
                  <%= label_tag "braintree_card_expiry",  
     | 
| 
      
 35 
     | 
    
         
            +
                  <%= label_tag "braintree_card_expiry", t('spree.expiration') %><span class="required">*</span><br />
         
     | 
| 
       36 
36 
     | 
    
         
             
                  <label for="braintree_card_expiry" id="braintree_card_expiry" class="braintree-hosted-field"></label>
         
     | 
| 
       37 
37 
     | 
    
         
             
                </p>
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
                <p class="field" data-hook="card_code">
         
     | 
| 
       40 
     | 
    
         
            -
                  <%= label_tag "braintree_card_code",  
     | 
| 
      
 40 
     | 
    
         
            +
                  <%= label_tag "braintree_card_code", t('spree.card_code') %><span class="required">*</span><br />
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
                  <label for="braintree_card_code" id="braintree_card_code" class="braintree-hosted-field card-code"></label>
         
     | 
| 
       43 
     | 
    
         
            -
                  <%= link_to "(#{ 
     | 
| 
      
 43 
     | 
    
         
            +
                  <%= link_to "(#{t('spree.what_is_this')})", spree.cvv_path, :target => '_blank', "data-hook" => "cvv_link", :id => "cvv_link" %>
         
     | 
| 
       44 
44 
     | 
    
         
             
                </p>
         
     | 
| 
       45 
45 
     | 
    
         
             
              </div>
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            //= require "vendor/braintree"
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            Spree. 
     | 
| 
      
 3 
     | 
    
         
            +
            Spree.pathFor.payment_client_token_api = Spree.pathFor("api/payment_client_token")
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            var braintreeDropinIntegration;
         
     | 
| 
       6 
6 
     | 
    
         
             
            var paymentForm = "#new_payment";
         
     | 
| 
         @@ -8,7 +8,7 @@ var cardSelector = "#new_payment [name=card]"; 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            var getClientToken = function(onSuccess) {
         
     | 
| 
       10 
10 
     | 
    
         
             
              return Spree.ajax({
         
     | 
| 
       11 
     | 
    
         
            -
                url: Spree. 
     | 
| 
      
 11 
     | 
    
         
            +
                url: Spree.pathFor.payment_client_token_api,
         
     | 
| 
       12 
12 
     | 
    
         
             
                type: "POST",
         
     | 
| 
       13 
13 
     | 
    
         
             
                data: {
         
     | 
| 
       14 
14 
     | 
    
         
             
                  payment_method_id: $('form input[type=radio]:checked').val()
         
     | 
| 
         @@ -6,7 +6,7 @@ module SolidusBraintree 
     | 
|
| 
       6 
6 
     | 
    
         
             
                config.assets.precompile += %w( spree/backend/braintree/solidus_braintree.js )
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
                initializer "spree.gateway.payment_methods", after: "spree.register.payment_methods" do |app|
         
     | 
| 
       9 
     | 
    
         
            -
                  app.config.spree.payment_methods << Solidus::Gateway::BraintreeGateway
         
     | 
| 
      
 9 
     | 
    
         
            +
                  app.config.spree.payment_methods << 'Solidus::Gateway::BraintreeGateway'
         
     | 
| 
       10 
10 
     | 
    
         
             
                end
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                def self.activate
         
     | 
    
        data/solidus_braintree.gemspec
    CHANGED
    
    | 
         @@ -19,8 +19,8 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       19 
19 
     | 
    
         
             
              spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
         
     | 
| 
       20 
20 
     | 
    
         
             
              spec.require_paths = ["lib"]
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
              spec.add_dependency "solidus_api", [">= 1.0.0", "<  
     | 
| 
       23 
     | 
    
         
            -
              spec.add_dependency "solidus_core", [">= 1.0.0", "<  
     | 
| 
      
 22 
     | 
    
         
            +
              spec.add_dependency "solidus_api", [">= 1.0.0", "< 4"]
         
     | 
| 
      
 23 
     | 
    
         
            +
              spec.add_dependency "solidus_core", [">= 1.0.0", "< 4"]
         
     | 
| 
       24 
24 
     | 
    
         
             
              spec.add_dependency "solidus_support"
         
     | 
| 
       25 
25 
     | 
    
         
             
              spec.add_dependency "braintree", "~> 2.46"
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
         @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       30 
30 
     | 
    
         
             
              spec.add_development_dependency 'rspec-rails'
         
     | 
| 
       31 
31 
     | 
    
         
             
              spec.add_development_dependency 'capybara', '~> 2.18'
         
     | 
| 
       32 
32 
     | 
    
         
             
              spec.add_development_dependency 'capybara-screenshot'
         
     | 
| 
       33 
     | 
    
         
            -
              spec.add_development_dependency ' 
     | 
| 
      
 33 
     | 
    
         
            +
              spec.add_development_dependency 'webdrivers'
         
     | 
| 
       34 
34 
     | 
    
         
             
              spec.add_development_dependency 'ffaker'
         
     | 
| 
       35 
35 
     | 
    
         
             
              spec.add_development_dependency "rspec"
         
     | 
| 
       36 
36 
     | 
    
         
             
              spec.add_development_dependency "pry"
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: solidus_braintree
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.4.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Solidus Team
         
     | 
| 
       8 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-09-27 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: solidus_api
         
     | 
| 
         @@ -19,7 +19,7 @@ dependencies: 
     | 
|
| 
       19 
19 
     | 
    
         
             
                    version: 1.0.0
         
     | 
| 
       20 
20 
     | 
    
         
             
                - - "<"
         
     | 
| 
       21 
21 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       22 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 22 
     | 
    
         
            +
                    version: '4'
         
     | 
| 
       23 
23 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       24 
24 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       25 
25 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -29,7 +29,7 @@ dependencies: 
     | 
|
| 
       29 
29 
     | 
    
         
             
                    version: 1.0.0
         
     | 
| 
       30 
30 
     | 
    
         
             
                - - "<"
         
     | 
| 
       31 
31 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       32 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 32 
     | 
    
         
            +
                    version: '4'
         
     | 
| 
       33 
33 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       34 
34 
     | 
    
         
             
              name: solidus_core
         
     | 
| 
       35 
35 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -39,7 +39,7 @@ dependencies: 
     | 
|
| 
       39 
39 
     | 
    
         
             
                    version: 1.0.0
         
     | 
| 
       40 
40 
     | 
    
         
             
                - - "<"
         
     | 
| 
       41 
41 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       42 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 42 
     | 
    
         
            +
                    version: '4'
         
     | 
| 
       43 
43 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       44 
44 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       45 
45 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -49,7 +49,7 @@ dependencies: 
     | 
|
| 
       49 
49 
     | 
    
         
             
                    version: 1.0.0
         
     | 
| 
       50 
50 
     | 
    
         
             
                - - "<"
         
     | 
| 
       51 
51 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       52 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 52 
     | 
    
         
            +
                    version: '4'
         
     | 
| 
       53 
53 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       54 
54 
     | 
    
         
             
              name: solidus_support
         
     | 
| 
       55 
55 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -163,19 +163,19 @@ dependencies: 
     | 
|
| 
       163 
163 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       164 
164 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       165 
165 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       166 
     | 
    
         
            -
              name:  
     | 
| 
      
 166 
     | 
    
         
            +
              name: webdrivers
         
     | 
| 
       167 
167 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       168 
168 
     | 
    
         
             
                requirements:
         
     | 
| 
       169 
     | 
    
         
            -
                - - " 
     | 
| 
      
 169 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       170 
170 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       171 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 171 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       172 
172 
     | 
    
         
             
              type: :development
         
     | 
| 
       173 
173 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       174 
174 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       175 
175 
     | 
    
         
             
                requirements:
         
     | 
| 
       176 
     | 
    
         
            -
                - - " 
     | 
| 
      
 176 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       177 
177 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       178 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 178 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       179 
179 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       180 
180 
     | 
    
         
             
              name: ffaker
         
     | 
| 
       181 
181 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -309,15 +309,19 @@ executables: [] 
     | 
|
| 
       309 
309 
     | 
    
         
             
            extensions: []
         
     | 
| 
       310 
310 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       311 
311 
     | 
    
         
             
            files:
         
     | 
| 
      
 312 
     | 
    
         
            +
            - ".circleci/config.yml"
         
     | 
| 
      
 313 
     | 
    
         
            +
            - ".github/stale.yml"
         
     | 
| 
       312 
314 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
       313 
315 
     | 
    
         
             
            - ".rspec"
         
     | 
| 
       314 
     | 
    
         
            -
            - ".travis.yml"
         
     | 
| 
       315 
316 
     | 
    
         
             
            - CHANGELOG.md
         
     | 
| 
       316 
317 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       317 
318 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
       318 
319 
     | 
    
         
             
            - README.md
         
     | 
| 
       319 
320 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       320 
321 
     | 
    
         
             
            - app/controllers/spree/api/braintree_client_token_controller.rb
         
     | 
| 
      
 322 
     | 
    
         
            +
            - app/decorators/lib/solidus_braintree/spree/permitted_attributes_decorator.rb
         
     | 
| 
      
 323 
     | 
    
         
            +
            - app/decorators/models/solidus_braintree/spree/credit_card_decorator.rb
         
     | 
| 
      
 324 
     | 
    
         
            +
            - app/decorators/models/solidus_braintree/spree/payment_decorator.rb
         
     | 
| 
       321 
325 
     | 
    
         
             
            - app/helpers/braintree_view_helpers.rb
         
     | 
| 
       322 
326 
     | 
    
         
             
            - app/models/concerns/solidus_braintree/add_name_validation_concern.rb
         
     | 
| 
       323 
327 
     | 
    
         
             
            - app/models/concerns/solidus_braintree/inject_device_data_concern.rb
         
     | 
| 
         @@ -325,13 +329,11 @@ files: 
     | 
|
| 
       325 
329 
     | 
    
         
             
            - app/models/concerns/solidus_braintree/permitted_attributes_concern.rb
         
     | 
| 
       326 
330 
     | 
    
         
             
            - app/models/concerns/solidus_braintree/skip_require_card_numbers_concern.rb
         
     | 
| 
       327 
331 
     | 
    
         
             
            - app/models/concerns/solidus_braintree/use_data_field_concern.rb
         
     | 
| 
       328 
     | 
    
         
            -
            - app/models/credit_card_decorator.rb
         
     | 
| 
       329 
     | 
    
         
            -
            - app/models/payment_decorator.rb
         
     | 
| 
       330 
     | 
    
         
            -
            - app/models/permitted_attributes_decorator.rb
         
     | 
| 
       331 
332 
     | 
    
         
             
            - app/models/solidus/gateway/braintree_gateway.rb
         
     | 
| 
       332 
333 
     | 
    
         
             
            - app/overrides/spree/checkout/_confirm/braintree_security.html.erb.deface
         
     | 
| 
       333 
334 
     | 
    
         
             
            - app/views/spree/admin/payments/source_forms/_braintree.html.erb
         
     | 
| 
       334 
335 
     | 
    
         
             
            - app/views/spree/admin/payments/source_views/_braintree.html.erb
         
     | 
| 
      
 336 
     | 
    
         
            +
            - app/views/spree/api/payments/source_views/_braintree.json.jbuilder
         
     | 
| 
       335 
337 
     | 
    
         
             
            - app/views/spree/checkout/payment/_braintree.html.erb
         
     | 
| 
       336 
338 
     | 
    
         
             
            - app/views/spree/checkout/payment/_braintree_initialization.html.erb
         
     | 
| 
       337 
339 
     | 
    
         
             
            - bin/console
         
     | 
| 
         @@ -355,7 +357,7 @@ homepage: https://solidus.io 
     | 
|
| 
       355 
357 
     | 
    
         
             
            licenses:
         
     | 
| 
       356 
358 
     | 
    
         
             
            - MIT
         
     | 
| 
       357 
359 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       358 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 360 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       359 
361 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       360 
362 
     | 
    
         
             
            require_paths:
         
     | 
| 
       361 
363 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -370,9 +372,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       370 
372 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       371 
373 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       372 
374 
     | 
    
         
             
            requirements: []
         
     | 
| 
       373 
     | 
    
         
            -
             
     | 
| 
       374 
     | 
    
         
            -
             
     | 
| 
       375 
     | 
    
         
            -
            signing_key: 
         
     | 
| 
      
 375 
     | 
    
         
            +
            rubygems_version: 3.4.19
         
     | 
| 
      
 376 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       376 
377 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       377 
378 
     | 
    
         
             
            summary: Adds Solidus support for Braintree v.zero Gateway.
         
     | 
| 
       378 
379 
     | 
    
         
             
            test_files: []
         
     | 
    
        data/.travis.yml
    DELETED
    
    | 
         @@ -1,41 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            sudo: false
         
     | 
| 
       2 
     | 
    
         
            -
            language: ruby
         
     | 
| 
       3 
     | 
    
         
            -
            cache:
         
     | 
| 
       4 
     | 
    
         
            -
              directories:
         
     | 
| 
       5 
     | 
    
         
            -
                - travis_phantomjs
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
            before_install:
         
     | 
| 
       8 
     | 
    
         
            -
              - "export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH"
         
     | 
| 
       9 
     | 
    
         
            -
              - "if [ $(phantomjs --version) != '2.1.1' ]; then rm -rf $PWD/travis_phantomjs; mkdir -p $PWD/travis_phantomjs; fi"
         
     | 
| 
       10 
     | 
    
         
            -
              - "if [ $(phantomjs --version) != '2.1.1' ]; then wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2 -O $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2; fi"
         
     | 
| 
       11 
     | 
    
         
            -
              - "if [ $(phantomjs --version) != '2.1.1' ]; then tar -xvf $PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2 -C $PWD/travis_phantomjs; fi"
         
     | 
| 
       12 
     | 
    
         
            -
              - "phantomjs --version"
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            rvm:
         
     | 
| 
       15 
     | 
    
         
            -
              - 2.3.1
         
     | 
| 
       16 
     | 
    
         
            -
            env:
         
     | 
| 
       17 
     | 
    
         
            -
              matrix:
         
     | 
| 
       18 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.1 DB=postgres
         
     | 
| 
       19 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.2 DB=postgres
         
     | 
| 
       20 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.3 DB=postgres
         
     | 
| 
       21 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.4 DB=postgres
         
     | 
| 
       22 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.0 DB=postgres
         
     | 
| 
       23 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.1 DB=postgres
         
     | 
| 
       24 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.2 DB=postgres
         
     | 
| 
       25 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.3 DB=postgres
         
     | 
| 
       26 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.4 DB=postgres
         
     | 
| 
       27 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.5 DB=postgres
         
     | 
| 
       28 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.6 DB=postgres
         
     | 
| 
       29 
     | 
    
         
            -
                - SOLIDUS_BRANCH=master DB=postgres
         
     | 
| 
       30 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.1 DB=mysql
         
     | 
| 
       31 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.2 DB=mysql
         
     | 
| 
       32 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.3 DB=mysql
         
     | 
| 
       33 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v1.4 DB=mysql
         
     | 
| 
       34 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.0 DB=mysql
         
     | 
| 
       35 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.1 DB=mysql
         
     | 
| 
       36 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.2 DB=mysql
         
     | 
| 
       37 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.3 DB=mysql
         
     | 
| 
       38 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.4 DB=mysql
         
     | 
| 
       39 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.5 DB=mysql
         
     | 
| 
       40 
     | 
    
         
            -
                - SOLIDUS_BRANCH=v2.6 DB=mysql
         
     | 
| 
       41 
     | 
    
         
            -
                - SOLIDUS_BRANCH=master DB=mysql
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            Spree::PermittedAttributes.singleton_class.prepend SolidusBraintree::PermittedAttributesConcern
         
     |