spree_paypal_api_checkout 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/Gemfile +5 -0
  4. data/README.md +55 -0
  5. data/Rakefile +21 -0
  6. data/app/assets/javascripts/spree/backend/spree_paypal_checkout.js +25 -0
  7. data/app/assets/javascripts/spree/frontend/spree_paypal_checkout.js +31 -0
  8. data/app/assets/stylesheets/spree/backend/spree_paypal_checkout.css +3 -0
  9. data/app/assets/stylesheets/spree/frontend/spree_paypal_checkout.css +3 -0
  10. data/app/controllers/spree/admin/payments_controller_decorator.rb +21 -0
  11. data/app/controllers/spree/admin/paypal_checkout_payments_controller.rb +15 -0
  12. data/app/controllers/spree/paypal_checkout_controller.rb +110 -0
  13. data/app/models/spree/gateway/pay_pal_checkout.rb +141 -0
  14. data/app/models/spree/paypal_api_checkout.rb +3 -0
  15. data/app/views/spree/admin/payments/_paypal_complete.html.erb +20 -0
  16. data/app/views/spree/admin/payments/paypal_refund.html.erb +38 -0
  17. data/app/views/spree/admin/payments/source_forms/_paypal.html.erb +6 -0
  18. data/app/views/spree/admin/payments/source_views/_paypal.html.erb +35 -0
  19. data/app/views/spree/checkout/payment/_paypal_checkout.html.erb +33 -0
  20. data/config/locales/de.yml +21 -0
  21. data/config/locales/en.yml +21 -0
  22. data/config/locales/es.yml +21 -0
  23. data/config/locales/it.yml +21 -0
  24. data/config/locales/pl.yml +21 -0
  25. data/config/locales/pt.yml +21 -0
  26. data/config/routes.rb +8 -0
  27. data/db/migrate/20220620042734_create_spree_paypal_api_checkouts.rb +15 -0
  28. data/lib/generators/spree_paypal_checkout/install/install_generator.rb +35 -0
  29. data/lib/spree_paypal_api_checkout.rb +5 -0
  30. data/lib/spree_paypal_checkout/engine.rb +26 -0
  31. data/lib/spree_paypal_checkout/version.rb +3 -0
  32. data/script/rails +7 -0
  33. data/spree_paypal_api_checkout.gemspec +74 -0
  34. metadata +408 -0
@@ -0,0 +1,21 @@
1
+ ---
2
+ es:
3
+ spree:
4
+ paypal:
5
+ already_refunded: "Este pago ha sido reembolsado y ahora no acción puede ser ejecutado en ello."
6
+ no_payment_via_admin_backend: "No se puede cobrar cuentas de PayPal por medio del admin en este momento."
7
+ transaction: "Transacción de PayPal"
8
+ payer_id: "Payer ID (identificación del comprador)"
9
+ transaction_id: "Transaction ID (identificación de la transacción)"
10
+ token: "Token"
11
+ refund: "Reembolso"
12
+ refund_amount: "Cantidad"
13
+ original_amount: "Cantidad original: %{amount}"
14
+ refund_successful: "Reembolso de PayPal exitoso"
15
+ refund_unsuccessful: "No se pudo rembolsar el pago de PayPal"
16
+ actions:
17
+ refund: "Reembolso"
18
+ flash:
19
+ cancel: "No quieres usar PayPal? No hay problema."
20
+ connection_failed: "No se pudo conectar con PayPal."
21
+ generic_error: "PayPal no funcionó. %{reasons}"
@@ -0,0 +1,21 @@
1
+ ---
2
+ it:
3
+ spree:
4
+ paypal:
5
+ already_refunded: "Questo pagamento è già stato rimborsato e non sono possibili altre azioni."
6
+ no_payment_via_admin_backend: "Al momento non è possibile pagare account PayPal dall'interfaccia admin."
7
+ transaction: "Transazione PayPal"
8
+ payer_id: "ID Payer"
9
+ transaction_id: "ID Transazione"
10
+ token: "Token"
11
+ refund: "Rimborso"
12
+ refund_amount: "Importo"
13
+ original_amount: "Importo originale: %{amount}"
14
+ refund_successful: "Rimborso PayPal completato"
15
+ refund_unsuccessful: "Rimborso PayPal non completato"
16
+ actions:
17
+ refund: "Rimborso"
18
+ flash:
19
+ cancel: "Non vuoi usare PayPal? Nessun problema."
20
+ connection_failed: "Impossibile connettersi a PayPal."
21
+ generic_error: "Errore PayPal. %{reasons}"
@@ -0,0 +1,21 @@
1
+ ---
2
+ pl:
3
+ spree:
4
+ paypal:
5
+ already_refunded: "Ta płatność została zwrócona i nie można wykonywać na niej kolejnych akcji"
6
+ no_payment_via_admin_backend: "Aktualnie nie można obciążać konto PayPal z poziomu panelu administracyjnego."
7
+ transaction: "Transakcja PayPal"
8
+ payer_id: "Identyfikator Płatnika"
9
+ transaction_id: "Identyfikator Transakcji"
10
+ token: "Token"
11
+ refund: "Zwrot"
12
+ refund_amount: "Kwota zwrotu"
13
+ original_amount: "Oryginalna kwota: %{amount}"
14
+ refund_successful: "Zwrot PayPal zakończony sukcesem"
15
+ refund_unsuccessful: "Błąd podczas wykonywania zwrotu PayPal"
16
+ actions:
17
+ refund: "Zwróć Płatność"
18
+ flash:
19
+ cancel: "Nie chcesz użyć PayPal? Nie ma problemu."
20
+ connection_failed: "Nie można było połączyć się z usługą PayPal."
21
+ generic_error: "Transakcja PayPal nie powiodła się. %{reasons}"
@@ -0,0 +1,21 @@
1
+ ---
2
+ pt:
3
+ spree:
4
+ paypal:
5
+ already_refunded: "Este pagamento já foi reembolsado pelo que nenhuma acção pode ser executada sobre este."
6
+ no_payment_via_admin_backend: "Não é possível cobrar contas de PayPal através do administrador neste momento."
7
+ transaction: "Transacção de PayPal"
8
+ payer_id: "Payer ID (identificação do comprador)"
9
+ transaction_id: "Transaction ID (identificação da transacção)"
10
+ token: "Token"
11
+ refund: "Reembolso"
12
+ refund_amount: "Quantidade"
13
+ original_amount: "Quantidade original: %{amount}"
14
+ refund_successful: "Reembolso de PayPal efectuado com sucesso"
15
+ refund_unsuccessful: "Não foi possível reembolsar o pagamento de PayPal"
16
+ actions:
17
+ refund: "Reembolso"
18
+ flash:
19
+ cancel: "Não pretende usar PayPal? Não há problema."
20
+ connection_failed: "Não foi possível estabelecer ligação com o PayPal."
21
+ generic_error: "PayPal não funcionou. %{reasons}"
data/config/routes.rb ADDED
@@ -0,0 +1,8 @@
1
+ Spree::Core::Engine.add_routes do
2
+ post '/paypal_checkout', :to => "paypal_checkout#express", :as => :paypal_checkout
3
+ post '/paypal_checkout/authorize', :to => "paypal_checkout#authorize", :as => :authorize_paypal_checkout
4
+ post '/paypal_checkout/confirm', :to => "paypal_checkout#confirm", :as => :confirm_paypal_checkout
5
+ get '/paypal_checkout/cancel', :to => "paypal_checkout#cancel", :as => :cancel_paypal_checkout
6
+ get '/paypal_checkout/notify', :to => "paypal_checkout#notify", :as => :notify_paypal_checkout
7
+ get '/paypal_checkout/proceed', :to => "paypal_checkout#proceed", :as => :proceed_paypal_checkout
8
+ end
@@ -0,0 +1,15 @@
1
+ class CreateSpreePaypalApiCheckouts < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :spree_paypal_api_checkouts do |t|
4
+ t.string :token
5
+ t.string :payer_id
6
+ t.string :transaction_id
7
+ t.string :state
8
+ t.string :refund_transaction_id
9
+ t.datetime :refunded_at
10
+ t.string :refund_type
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,35 @@
1
+ module SpreePaypalCheckout
2
+ module Generators
3
+ class InstallGenerator < Rails::Generators::Base
4
+ class_option :auto_run_migrations, type: :boolean, default: false
5
+
6
+ def add_javascripts
7
+ append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/spree_paypal_checkout\n"
8
+ append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/spree_paypal_checkout\n"
9
+ end
10
+
11
+ def add_stylesheets
12
+ frontend_css_file = "vendor/assets/stylesheets/spree/frontend/all.css"
13
+ backend_css_file = "vendor/assets/stylesheets/spree/backend/all.css"
14
+
15
+ if File.exist?(backend_css_file) && File.exist?(frontend_css_file)
16
+ inject_into_file frontend_css_file, " *= require spree/frontend/spree_paypal_checkout\n", :before => /\*\//, :verbose => true
17
+ inject_into_file backend_css_file, " *= require spree/backend/spree_paypal_checkout\n", :before => /\*\//, :verbose => true
18
+ end
19
+ end
20
+
21
+ def add_migrations
22
+ run 'bundle exec rake railties:install:migrations FROM=spree_paypal_checkout'
23
+ end
24
+
25
+ def run_migrations
26
+ run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask 'Would you like to run the migrations now? [Y/n]')
27
+ if run_migrations
28
+ run 'bundle exec rake db:migrate'
29
+ else
30
+ puts 'Skipping rake db:migrate, don\'t forget to run it!'
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,5 @@
1
+ require 'spree_core'
2
+ require 'spree_extension'
3
+ require 'spree_paypal_checkout/version'
4
+ require 'spree_paypal_checkout/engine'
5
+ require 'sass/rails'
@@ -0,0 +1,26 @@
1
+ module SpreePaypalCheckout
2
+ class Engine < Rails::Engine
3
+ require 'spree/core'
4
+ isolate_namespace Spree
5
+ engine_name 'spree_paypal_checkout'
6
+
7
+ config.autoload_paths += %W(#{config.root}/lib)
8
+
9
+ # use rspec for tests
10
+ config.generators do |g|
11
+ g.test_framework :rspec
12
+ end
13
+
14
+ def self.activate
15
+ Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
16
+ Rails.configuration.cache_classes ? require(c) : load(c)
17
+ end
18
+ end
19
+
20
+ config.to_prepare &method(:activate).to_proc
21
+
22
+ initializer "spree.paypal_checkout.payment_methods", :after => "spree.register.payment_methods" do |app|
23
+ app.config.spree.payment_methods << Spree::Gateway::PayPalCheckout
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ module SpreePayPalCheckout
2
+ VERSION = '1.0.0'
3
+ end
data/script/rails ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
4
+ ENGINE_PATH = File.expand_path('../../lib/spree_paypal_express/engine', __FILE__)
5
+
6
+ require 'rails/all'
7
+ require 'rails/engine/commands'
@@ -0,0 +1,74 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "spree_paypal_api_checkout".freeze
3
+ s.version = "0.0.0"
4
+
5
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
6
+ s.require_paths = ["lib".freeze]
7
+ s.authors = ["Spree Commerce".freeze]
8
+ s.date = "2022-02-22"
9
+ s.description = "Adds PayPal Express as a Payment Method to Spree Commerce".freeze
10
+ s.email = "gems@spreecommerce.com".freeze
11
+ s.files = [".gitignore".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "app/assets/javascripts/spree/backend/spree_paypal_checkout.js".freeze, "app/assets/javascripts/spree/frontend/spree_paypal_checkout.js".freeze, "app/assets/stylesheets/spree/backend/spree_paypal_checkout.css".freeze, "app/assets/stylesheets/spree/frontend/spree_paypal_checkout.css".freeze, "app/controllers/spree/admin/payments_controller_decorator.rb".freeze, "app/controllers/spree/admin/paypal_checkout_payments_controller.rb".freeze, "app/controllers/spree/paypal_checkout_controller.rb".freeze, "app/models/spree/gateway/pay_pal_checkout.rb".freeze, "app/models/spree/paypal_api_checkout.rb".freeze, "app/views/spree/admin/payments/_paypal_complete.html.erb".freeze, "app/views/spree/admin/payments/paypal_refund.html.erb".freeze, "app/views/spree/admin/payments/source_forms/_paypal.html.erb".freeze, "app/views/spree/admin/payments/source_views/_paypal.html.erb".freeze, "app/views/spree/checkout/payment/_paypal_checkout.html.erb".freeze, "config/locales/de.yml".freeze, "config/locales/en.yml".freeze, "config/locales/es.yml".freeze, "config/locales/it.yml".freeze, "config/locales/pl.yml".freeze, "config/locales/pt.yml".freeze, "config/routes.rb".freeze, "db/migrate/20220620042734_create_spree_paypal_api_checkouts.rb".freeze, "lib/generators/spree_paypal_checkout/install/install_generator.rb".freeze, "lib/spree_paypal_api_checkout.rb".freeze, "lib/spree_paypal_checkout/engine.rb".freeze, "lib/spree_paypal_checkout/version.rb".freeze, "script/rails".freeze, "spree_paypal_api_checkout.gemspec".freeze]
12
+ s.homepage = "http://www.spreecommerce.com".freeze
13
+ s.required_ruby_version = Gem::Requirement.new(">= 2.2.2".freeze)
14
+ s.requirements = ["none".freeze]
15
+ s.rubygems_version = "3.2.3".freeze
16
+ s.summary = "Adds PayPal API Checkout as a Payment Method to Spree Commerce".freeze
17
+ # s.test_files = ["spec/controllers/paypal_controller_spec.rb".freeze, "spec/features/paypal_spec.rb".freeze, "spec/models/pay_pal_express_spec.rb".freeze, "spec/spec_helper.rb".freeze, "spec/support/capybara.rb".freeze, "spec/support/capybara_ext.rb".freeze]
18
+
19
+ s.installed_by_version = "3.2.3" if s.respond_to? :installed_by_version
20
+
21
+ if s.respond_to? :specification_version then
22
+ s.specification_version = 4
23
+ end
24
+
25
+ if s.respond_to? :add_runtime_dependency then
26
+ s.add_runtime_dependency(%q<spree_core>.freeze, [">= 3.1.0", "< 5.0"])
27
+ s.add_runtime_dependency(%q<spree_auth_devise>.freeze, [">= 3.1.0", "< 5.0"])
28
+ s.add_runtime_dependency(%q<paypal-sdk-merchant>.freeze, [">= 0"])
29
+ s.add_runtime_dependency(%q<spree_extension>.freeze, [">= 0"])
30
+ s.add_development_dependency(%q<capybara>.freeze, [">= 0"])
31
+ s.add_development_dependency(%q<capybara-screenshot>.freeze, [">= 0"])
32
+ s.add_development_dependency(%q<selenium-webdriver>.freeze, [">= 0"])
33
+ s.add_development_dependency(%q<webdrivers>.freeze, ["~> 4.1"])
34
+ s.add_development_dependency(%q<coffee-rails>.freeze, [">= 0"])
35
+ s.add_development_dependency(%q<database_cleaner>.freeze, [">= 0"])
36
+ s.add_development_dependency(%q<factory_bot>.freeze, ["~> 4.7"])
37
+ s.add_development_dependency(%q<ffaker>.freeze, [">= 0"])
38
+ s.add_development_dependency(%q<rspec-rails>.freeze, ["~> 4.0.0.beta2"])
39
+ s.add_development_dependency(%q<rspec-activemodel-mocks>.freeze, [">= 0"])
40
+ s.add_development_dependency(%q<sass-rails>.freeze, [">= 0"])
41
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
42
+ s.add_development_dependency(%q<pry>.freeze, [">= 0"])
43
+ s.add_development_dependency(%q<require_all>.freeze, [">= 0"])
44
+ s.add_development_dependency(%q<pg>.freeze, [">= 0"])
45
+ s.add_development_dependency(%q<puma>.freeze, [">= 0"])
46
+ s.add_development_dependency(%q<mysql2>.freeze, [">= 0"])
47
+ s.add_development_dependency(%q<sqlite3>.freeze, [">= 0"])
48
+ s.add_development_dependency(%q<appraisal>.freeze, [">= 0"])
49
+ else
50
+ s.add_dependency(%q<spree_core>.freeze, [">= 3.1.0", "< 5.0"])
51
+ s.add_dependency(%q<spree_auth_devise>.freeze, [">= 3.1.0", "< 5.0"])
52
+ s.add_dependency(%q<paypal-sdk-merchant>.freeze, [">= 0"])
53
+ s.add_dependency(%q<spree_extension>.freeze, [">= 0"])
54
+ s.add_dependency(%q<capybara>.freeze, [">= 0"])
55
+ s.add_dependency(%q<capybara-screenshot>.freeze, [">= 0"])
56
+ s.add_dependency(%q<selenium-webdriver>.freeze, [">= 0"])
57
+ s.add_dependency(%q<webdrivers>.freeze, ["~> 4.1"])
58
+ s.add_dependency(%q<coffee-rails>.freeze, [">= 0"])
59
+ s.add_dependency(%q<database_cleaner>.freeze, [">= 0"])
60
+ s.add_dependency(%q<factory_bot>.freeze, ["~> 4.7"])
61
+ s.add_dependency(%q<ffaker>.freeze, [">= 0"])
62
+ s.add_dependency(%q<rspec-rails>.freeze, ["~> 4.0.0.beta2"])
63
+ s.add_dependency(%q<rspec-activemodel-mocks>.freeze, [">= 0"])
64
+ s.add_dependency(%q<sass-rails>.freeze, [">= 0"])
65
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
66
+ s.add_dependency(%q<pry>.freeze, [">= 0"])
67
+ s.add_dependency(%q<require_all>.freeze, [">= 0"])
68
+ s.add_dependency(%q<pg>.freeze, [">= 0"])
69
+ s.add_dependency(%q<puma>.freeze, [">= 0"])
70
+ s.add_dependency(%q<mysql2>.freeze, [">= 0"])
71
+ s.add_dependency(%q<sqlite3>.freeze, [">= 0"])
72
+ s.add_dependency(%q<appraisal>.freeze, [">= 0"])
73
+ end
74
+ end
metadata ADDED
@@ -0,0 +1,408 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spree_paypal_api_checkout
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Spree Commerce
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-02-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: spree_core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.1.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 3.1.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: spree_auth_devise
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 3.1.0
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '5.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 3.1.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '5.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: paypal-sdk-merchant
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ - !ruby/object:Gem::Dependency
68
+ name: spree_extension
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: capybara
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: capybara-screenshot
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: selenium-webdriver
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ - !ruby/object:Gem::Dependency
124
+ name: webdrivers
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '4.1'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '4.1'
137
+ - !ruby/object:Gem::Dependency
138
+ name: coffee-rails
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ - !ruby/object:Gem::Dependency
152
+ name: database_cleaner
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ - !ruby/object:Gem::Dependency
166
+ name: factory_bot
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '4.7'
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '4.7'
179
+ - !ruby/object:Gem::Dependency
180
+ name: ffaker
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ - !ruby/object:Gem::Dependency
194
+ name: rspec-rails
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: 4.0.0.beta2
200
+ type: :development
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: 4.0.0.beta2
207
+ - !ruby/object:Gem::Dependency
208
+ name: rspec-activemodel-mocks
209
+ requirement: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ - !ruby/object:Gem::Dependency
222
+ name: sass-rails
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ type: :development
229
+ prerelease: false
230
+ version_requirements: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ - !ruby/object:Gem::Dependency
236
+ name: simplecov
237
+ requirement: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ type: :development
243
+ prerelease: false
244
+ version_requirements: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - ">="
247
+ - !ruby/object:Gem::Version
248
+ version: '0'
249
+ - !ruby/object:Gem::Dependency
250
+ name: pry
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ version: '0'
263
+ - !ruby/object:Gem::Dependency
264
+ name: require_all
265
+ requirement: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - ">="
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
270
+ type: :development
271
+ prerelease: false
272
+ version_requirements: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ version: '0'
277
+ - !ruby/object:Gem::Dependency
278
+ name: pg
279
+ requirement: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - ">="
282
+ - !ruby/object:Gem::Version
283
+ version: '0'
284
+ type: :development
285
+ prerelease: false
286
+ version_requirements: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ version: '0'
291
+ - !ruby/object:Gem::Dependency
292
+ name: puma
293
+ requirement: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: '0'
298
+ type: :development
299
+ prerelease: false
300
+ version_requirements: !ruby/object:Gem::Requirement
301
+ requirements:
302
+ - - ">="
303
+ - !ruby/object:Gem::Version
304
+ version: '0'
305
+ - !ruby/object:Gem::Dependency
306
+ name: mysql2
307
+ requirement: !ruby/object:Gem::Requirement
308
+ requirements:
309
+ - - ">="
310
+ - !ruby/object:Gem::Version
311
+ version: '0'
312
+ type: :development
313
+ prerelease: false
314
+ version_requirements: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: '0'
319
+ - !ruby/object:Gem::Dependency
320
+ name: sqlite3
321
+ requirement: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - ">="
324
+ - !ruby/object:Gem::Version
325
+ version: '0'
326
+ type: :development
327
+ prerelease: false
328
+ version_requirements: !ruby/object:Gem::Requirement
329
+ requirements:
330
+ - - ">="
331
+ - !ruby/object:Gem::Version
332
+ version: '0'
333
+ - !ruby/object:Gem::Dependency
334
+ name: appraisal
335
+ requirement: !ruby/object:Gem::Requirement
336
+ requirements:
337
+ - - ">="
338
+ - !ruby/object:Gem::Version
339
+ version: '0'
340
+ type: :development
341
+ prerelease: false
342
+ version_requirements: !ruby/object:Gem::Requirement
343
+ requirements:
344
+ - - ">="
345
+ - !ruby/object:Gem::Version
346
+ version: '0'
347
+ description: Adds PayPal Express as a Payment Method to Spree Commerce
348
+ email: gems@spreecommerce.com
349
+ executables: []
350
+ extensions: []
351
+ extra_rdoc_files: []
352
+ files:
353
+ - ".gitignore"
354
+ - Gemfile
355
+ - README.md
356
+ - Rakefile
357
+ - app/assets/javascripts/spree/backend/spree_paypal_checkout.js
358
+ - app/assets/javascripts/spree/frontend/spree_paypal_checkout.js
359
+ - app/assets/stylesheets/spree/backend/spree_paypal_checkout.css
360
+ - app/assets/stylesheets/spree/frontend/spree_paypal_checkout.css
361
+ - app/controllers/spree/admin/payments_controller_decorator.rb
362
+ - app/controllers/spree/admin/paypal_checkout_payments_controller.rb
363
+ - app/controllers/spree/paypal_checkout_controller.rb
364
+ - app/models/spree/gateway/pay_pal_checkout.rb
365
+ - app/models/spree/paypal_api_checkout.rb
366
+ - app/views/spree/admin/payments/_paypal_complete.html.erb
367
+ - app/views/spree/admin/payments/paypal_refund.html.erb
368
+ - app/views/spree/admin/payments/source_forms/_paypal.html.erb
369
+ - app/views/spree/admin/payments/source_views/_paypal.html.erb
370
+ - app/views/spree/checkout/payment/_paypal_checkout.html.erb
371
+ - config/locales/de.yml
372
+ - config/locales/en.yml
373
+ - config/locales/es.yml
374
+ - config/locales/it.yml
375
+ - config/locales/pl.yml
376
+ - config/locales/pt.yml
377
+ - config/routes.rb
378
+ - db/migrate/20220620042734_create_spree_paypal_api_checkouts.rb
379
+ - lib/generators/spree_paypal_checkout/install/install_generator.rb
380
+ - lib/spree_paypal_api_checkout.rb
381
+ - lib/spree_paypal_checkout/engine.rb
382
+ - lib/spree_paypal_checkout/version.rb
383
+ - script/rails
384
+ - spree_paypal_api_checkout.gemspec
385
+ homepage: http://www.spreecommerce.com
386
+ licenses: []
387
+ metadata: {}
388
+ post_install_message:
389
+ rdoc_options: []
390
+ require_paths:
391
+ - lib
392
+ required_ruby_version: !ruby/object:Gem::Requirement
393
+ requirements:
394
+ - - ">="
395
+ - !ruby/object:Gem::Version
396
+ version: 2.2.2
397
+ required_rubygems_version: !ruby/object:Gem::Requirement
398
+ requirements:
399
+ - - ">="
400
+ - !ruby/object:Gem::Version
401
+ version: '0'
402
+ requirements:
403
+ - none
404
+ rubygems_version: 3.0.3
405
+ signing_key:
406
+ specification_version: 4
407
+ summary: Adds PayPal API Checkout as a Payment Method to Spree Commerce
408
+ test_files: []