spree_gateway 3.7.4 → 3.9.3

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +36 -37
  3. data/Appraisals +3 -8
  4. data/app/models/spree/check.rb +41 -0
  5. data/app/models/spree/credit_card_decorator.rb +10 -0
  6. data/app/models/spree/gateway/stripe_ach_gateway.rb +60 -0
  7. data/app/models/spree/gateway/stripe_elements_gateway.rb +50 -0
  8. data/app/models/spree/gateway/stripe_gateway.rb +1 -0
  9. data/app/models/spree/order_decorator.rb +28 -0
  10. data/app/models/spree/payment_decorator.rb +36 -0
  11. data/app/views/spree/checkout/_payment_confirm.html.erb +39 -0
  12. data/config/initializers/spree_permitted_attributes.rb +5 -0
  13. data/config/locales/en.yml +23 -0
  14. data/config/routes.rb +12 -0
  15. data/db/migrate/20200317135551_add_spree_check_payment_source.rb +22 -0
  16. data/db/migrate/20200422114908_add_intent_key_to_payment.rb +5 -0
  17. data/gemfiles/{spree_3_5.gemfile → spree_4_1.gemfile} +1 -1
  18. data/lib/active_merchant/billing/stripe_gateway_decorator.rb +13 -0
  19. data/lib/controllers/spree/api/v2/storefront/intents_controller.rb +27 -0
  20. data/lib/spree_frontend/controllers/spree/checkout_controller_decorator.rb +19 -0
  21. data/lib/spree_gateway/engine.rb +8 -0
  22. data/lib/spree_gateway/version.rb +1 -1
  23. data/lib/views/backend/spree/admin/payments/source_forms/_stripe_ach.html.erb +86 -0
  24. data/lib/views/backend/spree/admin/payments/source_forms/_stripe_apple_pay.html.erb +0 -0
  25. data/lib/views/backend/spree/admin/payments/source_views/_stripe_ach.html.erb +21 -0
  26. data/lib/views/backend/spree/admin/payments/source_views/_stripe_apple_pay.html.erb +1 -0
  27. data/lib/views/frontend/spree/checkout/payment/_stripe_ach.html.erb +81 -0
  28. data/lib/views/frontend/spree/checkout/payment/_stripe_ach_verify.html.erb +16 -0
  29. data/lib/views/frontend/spree/checkout/payment/_stripe_apple_pay.html.erb +10 -1
  30. data/lib/views/frontend/spree/checkout/payment/_stripe_elements.html.erb +2 -1
  31. data/spec/factories/check_factory.rb +10 -0
  32. data/spec/features/admin/stripe_elements_payment_spec.rb +32 -32
  33. data/spec/features/stripe_checkout_spec.rb +30 -19
  34. data/spec/features/stripe_elements_3ds_checkout_spec.rb +224 -0
  35. data/spec/models/gateway/stripe_ach_gateway_spec.rb +186 -0
  36. data/spec/models/gateway/stripe_gateway_spec.rb +1 -0
  37. data/spec/spec_helper.rb +7 -65
  38. data/spec/support/order_walktrough.rb +73 -0
  39. data/spec/support/within_stripe_3ds_popup.rb +10 -0
  40. data/spree_gateway.gemspec +10 -22
  41. metadata +44 -282
  42. data/gemfiles/spree_4_0.gemfile +0 -8
  43. data/spec/support/capybara_helper.rb +0 -15
@@ -182,6 +182,7 @@ describe Spree::Gateway::StripeGateway do
182
182
 
183
183
  let!(:success_response) do
184
184
  double('success_response', :success? => true,
185
+ :params => {},
185
186
  :authorization => '123',
186
187
  :avs_result => { 'code' => 'avs-code' },
187
188
  :cvv_result => { 'code' => 'cvv-code', 'message' => "CVV Result"})
@@ -1,68 +1,10 @@
1
- require 'simplecov'
2
- SimpleCov.start 'rails'
1
+ # Configure Rails Environment
2
+ ENV['RAILS_ENV'] = 'test'
3
3
 
4
- ENV["RAILS_ENV"] = "test"
4
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
5
5
 
6
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
6
+ require 'spree_dev_tools/rspec/spec_helper'
7
7
 
8
- require 'rspec/rails'
9
- require 'rspec/active_model/mocks'
10
- require 'capybara/rspec'
11
- require 'capybara/rails'
12
- require 'capybara-screenshot/rspec'
13
- require "selenium-webdriver"
14
- require 'webdrivers'
15
- require 'database_cleaner'
16
- require 'ffaker'
17
- require 'rspec/active_model/mocks'
18
- require 'pry'
19
-
20
- Dir[File.join(File.dirname(__FILE__), "support", "**", "*.rb")].each { |f| require f }
21
-
22
- require 'spree/testing_support/factories'
23
- require 'spree/testing_support/order_walkthrough'
24
- require 'spree/testing_support/preferences'
25
- require 'spree/testing_support/capybara_ext'
26
- require 'spree/testing_support/authorization_helpers'
27
-
28
- FactoryBot.find_definitions
29
-
30
- RSpec.configure do |config|
31
- config.infer_spec_type_from_file_location!
32
- config.mock_with :rspec do |mock|
33
- mock.syntax = [:should, :expect]
34
- end
35
- config.raise_errors_for_deprecations!
36
- config.use_transactional_fixtures = false
37
- #config.filter_run focus: true
38
- #config.filter_run_excluding slow: true
39
-
40
- config.include FactoryBot::Syntax::Methods
41
- config.include Spree::TestingSupport::Preferences
42
-
43
- config.before :suite do
44
- DatabaseCleaner.strategy = :transaction
45
- DatabaseCleaner.clean_with :truncation
46
- end
47
-
48
- config.before do
49
- DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction
50
- DatabaseCleaner.start
51
- reset_spree_preferences
52
- create(:store)
53
- end
54
-
55
- config.after do
56
- DatabaseCleaner.clean
57
- end
58
-
59
- Capybara.register_driver :chrome do |app|
60
- Capybara::Selenium::Driver.new app,
61
- browser: :chrome,
62
- options: Selenium::WebDriver::Chrome::Options.new(
63
- args: %w[no-sandbox disable-dev-shm-usage disable-popup-blocking headless disable-gpu window-size=1920,1080 --enable-features=NetworkService,NetworkServiceInProcess --disable-features=VizDisplayCompositor],
64
- log_level: :error
65
- )
66
- end
67
- Capybara.javascript_driver = :chrome
68
- end
8
+ # Requires supporting ruby files with custom matchers and macros, etc,
9
+ # in spec/support/ and its subdirectories.
10
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].sort.each { |f| require f }
@@ -0,0 +1,73 @@
1
+ class OrderWalkthrough
2
+ def self.up_to(state)
3
+ # A default store must exist to provide store settings
4
+ store = Spree::Store.default || FactoryBot.create(:store, default: true)
5
+
6
+ # A payment method must exist for an order to proceed through the Address state
7
+ unless Spree::PaymentMethod.exists?
8
+ FactoryBot.create(:check_payment_method)
9
+ end
10
+
11
+ # Need to create a valid zone too...
12
+ zone = FactoryBot.create(:zone)
13
+ country = FactoryBot.create(:country)
14
+ zone.members << Spree::ZoneMember.create(zoneable: country)
15
+ country.states << FactoryBot.create(:state, country: country)
16
+
17
+ # A shipping method must exist for rates to be displayed on checkout page
18
+ unless Spree::ShippingMethod.exists?
19
+ FactoryBot.create(:shipping_method).tap do |sm|
20
+ sm.calculator.preferred_amount = 10
21
+ sm.calculator.preferred_currency = store.default_currency
22
+ sm.calculator.save
23
+ end
24
+ end
25
+
26
+ order = Spree::Order.create!(email: 'spree@example.com')
27
+ add_line_item!(order)
28
+ order.next!
29
+
30
+ end_state_position = states.index(state.to_sym)
31
+ states[0...end_state_position].each do |state|
32
+ send(state, order)
33
+ end
34
+
35
+ order
36
+ end
37
+
38
+ private
39
+
40
+ def self.add_line_item!(order)
41
+ FactoryBot.create(:line_item, order: order)
42
+ order.reload
43
+ end
44
+
45
+ def self.address(order)
46
+ order.bill_address = FactoryBot.create(:address, country_id: Spree::Zone.global.members.first.zoneable.id)
47
+ order.ship_address = FactoryBot.create(:address, country_id: Spree::Zone.global.members.first.zoneable.id)
48
+ order.next!
49
+ end
50
+
51
+ def self.delivery(order)
52
+ order.next!
53
+ end
54
+
55
+ def self.payment(order)
56
+ FactoryBot.create :payment,
57
+ order: order,
58
+ payment_method: Spree::PaymentMethod.first,
59
+ amount: order.total
60
+
61
+ # TODO: maybe look at some way of making this payment_state change automatic
62
+ order.payment_state = 'paid'
63
+ order.next!
64
+ end
65
+
66
+ def self.complete(_order)
67
+ # noop?
68
+ end
69
+
70
+ def self.states
71
+ [:address, :delivery, :payment, :complete]
72
+ end
73
+ end
@@ -0,0 +1,10 @@
1
+ def within_stripe_3ds_popup
2
+ using_wait_time(10) do
3
+ within_frame 0 do
4
+ within_frame 0 do
5
+ expect(page).to have_text('3D Secure 2 Test Page', normalize_ws: true)
6
+ yield
7
+ end
8
+ end
9
+ end
10
+ end
@@ -16,35 +16,23 @@ Gem::Specification.new do |s|
16
16
  s.homepage = 'https://spreecommerce.org'
17
17
  s.license = 'BSD-3-Clause'
18
18
 
19
+ s.metadata = {
20
+ "bug_tracker_uri" => "https://github.com/spree/spree_gateway/issues",
21
+ "changelog_uri" => "https://github.com/spree/spree_gateway/releases/tag/v#{s.version}",
22
+ "documentation_uri" => "https://guides.spreecommerce.org/",
23
+ "source_code_uri" => "https://github.com/spree/spree_gateway/tree/v#{s.version}",
24
+ }
25
+
19
26
  s.files = `git ls-files`.split("\n")
20
27
  s.test_files = `git ls-files -- spec/*`.split("\n")
21
28
  s.require_path = 'lib'
22
29
  s.requirements << 'none'
23
30
 
24
- spree_version = '>= 3.1.0', '< 5.0'
31
+ spree_version = '>= 3.7.0', '< 5.0'
25
32
  s.add_dependency 'spree_core', spree_version
26
33
  s.add_dependency 'spree_extension'
27
34
 
28
- s.add_development_dependency 'appraisal'
29
- s.add_development_dependency 'bootstrap-sass'
30
- s.add_development_dependency 'braintree'
31
- s.add_development_dependency 'capybara'
32
- s.add_development_dependency 'capybara-screenshot'
33
- s.add_development_dependency 'coffee-rails'
34
- s.add_development_dependency 'database_cleaner'
35
- s.add_development_dependency 'factory_bot', '~> 4.7'
36
- s.add_development_dependency 'ffaker'
37
- s.add_development_dependency 'guard-rspec'
38
- s.add_development_dependency 'launchy'
39
- s.add_development_dependency 'mysql2'
40
- s.add_development_dependency 'pg'
41
- s.add_development_dependency 'pry'
42
- s.add_development_dependency 'puma'
35
+ s.add_development_dependency 'braintree', '~>2.78'
43
36
  s.add_development_dependency 'rspec-activemodel-mocks'
44
- s.add_development_dependency 'rspec-rails'
45
- s.add_development_dependency 'sass-rails'
46
- s.add_development_dependency 'selenium-webdriver'
47
- s.add_development_dependency 'webdrivers'
48
- s.add_development_dependency 'simplecov'
49
- s.add_development_dependency 'sqlite3'
37
+ s.add_development_dependency 'spree_dev_tools'
50
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_gateway
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.4
4
+ version: 3.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spree Commerce
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-09 00:00:00.000000000 Z
11
+ date: 2021-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.0
19
+ version: 3.7.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '5.0'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 3.1.0
29
+ version: 3.7.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '5.0'
@@ -44,216 +44,20 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
- - !ruby/object:Gem::Dependency
48
- name: appraisal
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- - !ruby/object:Gem::Dependency
62
- name: bootstrap-sass
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
47
  - !ruby/object:Gem::Dependency
76
48
  name: braintree
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: '0'
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- - !ruby/object:Gem::Dependency
90
- name: capybara
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- - !ruby/object:Gem::Dependency
104
- name: capybara-screenshot
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- - !ruby/object:Gem::Dependency
118
- name: coffee-rails
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: '0'
131
- - !ruby/object:Gem::Dependency
132
- name: database_cleaner
133
- requirement: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: '0'
138
- type: :development
139
- prerelease: false
140
- version_requirements: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: '0'
145
- - !ruby/object:Gem::Dependency
146
- name: factory_bot
147
49
  requirement: !ruby/object:Gem::Requirement
148
50
  requirements:
149
51
  - - "~>"
150
52
  - !ruby/object:Gem::Version
151
- version: '4.7'
53
+ version: '2.78'
152
54
  type: :development
153
55
  prerelease: false
154
56
  version_requirements: !ruby/object:Gem::Requirement
155
57
  requirements:
156
58
  - - "~>"
157
59
  - !ruby/object:Gem::Version
158
- version: '4.7'
159
- - !ruby/object:Gem::Dependency
160
- name: ffaker
161
- requirement: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- - !ruby/object:Gem::Dependency
174
- name: guard-rspec
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '0'
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: '0'
187
- - !ruby/object:Gem::Dependency
188
- name: launchy
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: '0'
194
- type: :development
195
- prerelease: false
196
- version_requirements: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- version: '0'
201
- - !ruby/object:Gem::Dependency
202
- name: mysql2
203
- requirement: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - ">="
206
- - !ruby/object:Gem::Version
207
- version: '0'
208
- type: :development
209
- prerelease: false
210
- version_requirements: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: '0'
215
- - !ruby/object:Gem::Dependency
216
- name: pg
217
- requirement: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- version: '0'
222
- type: :development
223
- prerelease: false
224
- version_requirements: !ruby/object:Gem::Requirement
225
- requirements:
226
- - - ">="
227
- - !ruby/object:Gem::Version
228
- version: '0'
229
- - !ruby/object:Gem::Dependency
230
- name: pry
231
- requirement: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- version: '0'
236
- type: :development
237
- prerelease: false
238
- version_requirements: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - ">="
241
- - !ruby/object:Gem::Version
242
- version: '0'
243
- - !ruby/object:Gem::Dependency
244
- name: puma
245
- requirement: !ruby/object:Gem::Requirement
246
- requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- version: '0'
250
- type: :development
251
- prerelease: false
252
- version_requirements: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- version: '0'
60
+ version: '2.78'
257
61
  - !ruby/object:Gem::Dependency
258
62
  name: rspec-activemodel-mocks
259
63
  requirement: !ruby/object:Gem::Requirement
@@ -269,77 +73,7 @@ dependencies:
269
73
  - !ruby/object:Gem::Version
270
74
  version: '0'
271
75
  - !ruby/object:Gem::Dependency
272
- name: rspec-rails
273
- requirement: !ruby/object:Gem::Requirement
274
- requirements:
275
- - - ">="
276
- - !ruby/object:Gem::Version
277
- version: '0'
278
- type: :development
279
- prerelease: false
280
- version_requirements: !ruby/object:Gem::Requirement
281
- requirements:
282
- - - ">="
283
- - !ruby/object:Gem::Version
284
- version: '0'
285
- - !ruby/object:Gem::Dependency
286
- name: sass-rails
287
- requirement: !ruby/object:Gem::Requirement
288
- requirements:
289
- - - ">="
290
- - !ruby/object:Gem::Version
291
- version: '0'
292
- type: :development
293
- prerelease: false
294
- version_requirements: !ruby/object:Gem::Requirement
295
- requirements:
296
- - - ">="
297
- - !ruby/object:Gem::Version
298
- version: '0'
299
- - !ruby/object:Gem::Dependency
300
- name: selenium-webdriver
301
- requirement: !ruby/object:Gem::Requirement
302
- requirements:
303
- - - ">="
304
- - !ruby/object:Gem::Version
305
- version: '0'
306
- type: :development
307
- prerelease: false
308
- version_requirements: !ruby/object:Gem::Requirement
309
- requirements:
310
- - - ">="
311
- - !ruby/object:Gem::Version
312
- version: '0'
313
- - !ruby/object:Gem::Dependency
314
- name: webdrivers
315
- requirement: !ruby/object:Gem::Requirement
316
- requirements:
317
- - - ">="
318
- - !ruby/object:Gem::Version
319
- version: '0'
320
- type: :development
321
- prerelease: false
322
- version_requirements: !ruby/object:Gem::Requirement
323
- requirements:
324
- - - ">="
325
- - !ruby/object:Gem::Version
326
- version: '0'
327
- - !ruby/object:Gem::Dependency
328
- name: simplecov
329
- requirement: !ruby/object:Gem::Requirement
330
- requirements:
331
- - - ">="
332
- - !ruby/object:Gem::Version
333
- version: '0'
334
- type: :development
335
- prerelease: false
336
- version_requirements: !ruby/object:Gem::Requirement
337
- requirements:
338
- - - ">="
339
- - !ruby/object:Gem::Version
340
- version: '0'
341
- - !ruby/object:Gem::Dependency
342
- name: sqlite3
76
+ name: spree_dev_tools
343
77
  requirement: !ruby/object:Gem::Requirement
344
78
  requirements:
345
79
  - - ">="
@@ -370,6 +104,8 @@ files:
370
104
  - app/models/spree/apple_pay_order_decorator.rb
371
105
  - app/models/spree/apple_pay_payment_decorator.rb
372
106
  - app/models/spree/billing_integration.rb
107
+ - app/models/spree/check.rb
108
+ - app/models/spree/credit_card_decorator.rb
373
109
  - app/models/spree/gateway/authorize_net.rb
374
110
  - app/models/spree/gateway/authorize_net_cim.rb
375
111
  - app/models/spree/gateway/balanced_gateway.rb
@@ -394,12 +130,17 @@ files:
394
130
  - app/models/spree/gateway/sage_pay.rb
395
131
  - app/models/spree/gateway/secure_pay_au.rb
396
132
  - app/models/spree/gateway/spreedly_core_gateway.rb
133
+ - app/models/spree/gateway/stripe_ach_gateway.rb
397
134
  - app/models/spree/gateway/stripe_apple_pay_gateway.rb
398
135
  - app/models/spree/gateway/stripe_elements_gateway.rb
399
136
  - app/models/spree/gateway/stripe_gateway.rb
400
137
  - app/models/spree/gateway/usa_epay_transaction.rb
401
138
  - app/models/spree/gateway/worldpay.rb
139
+ - app/models/spree/order_decorator.rb
140
+ - app/models/spree/payment_decorator.rb
141
+ - app/views/spree/checkout/_payment_confirm.html.erb
402
142
  - config/initializers/inflections.rb
143
+ - config/initializers/spree_permitted_attributes.rb
403
144
  - config/locales/bg.yml
404
145
  - config/locales/de.yml
405
146
  - config/locales/en.yml
@@ -410,13 +151,16 @@ files:
410
151
  - db/migrate/20130415222802_update_balanced_payment_method_type.rb
411
152
  - db/migrate/20131008221012_update_paypal_payment_method_type.rb
412
153
  - db/migrate/20131112133401_migrate_stripe_preferences.rb
413
- - gemfiles/spree_3_5.gemfile
154
+ - db/migrate/20200317135551_add_spree_check_payment_source.rb
155
+ - db/migrate/20200422114908_add_intent_key_to_payment.rb
414
156
  - gemfiles/spree_3_7.gemfile
415
- - gemfiles/spree_4_0.gemfile
157
+ - gemfiles/spree_4_1.gemfile
416
158
  - gemfiles/spree_master.gemfile
417
159
  - lib/active_merchant/billing/stripe_gateway_decorator.rb
160
+ - lib/controllers/spree/api/v2/storefront/intents_controller.rb
418
161
  - lib/controllers/spree/apple_pay_domain_verification_controller.rb
419
162
  - lib/generators/spree_gateway/install/install_generator.rb
163
+ - lib/spree_frontend/controllers/spree/checkout_controller_decorator.rb
420
164
  - lib/spree_gateway.rb
421
165
  - lib/spree_gateway/engine.rb
422
166
  - lib/spree_gateway/version.rb
@@ -424,16 +168,24 @@ files:
424
168
  - lib/views/backend/spree/admin/log_entries/_stripe.html.erb
425
169
  - lib/views/backend/spree/admin/payments/source_forms/_quickcheckout.html.erb
426
170
  - lib/views/backend/spree/admin/payments/source_forms/_stripe.html.erb
171
+ - lib/views/backend/spree/admin/payments/source_forms/_stripe_ach.html.erb
172
+ - lib/views/backend/spree/admin/payments/source_forms/_stripe_apple_pay.html.erb
427
173
  - lib/views/backend/spree/admin/payments/source_forms/_stripe_elements.html.erb
428
174
  - lib/views/backend/spree/admin/payments/source_views/_stripe.html.erb
175
+ - lib/views/backend/spree/admin/payments/source_views/_stripe_ach.html.erb
176
+ - lib/views/backend/spree/admin/payments/source_views/_stripe_apple_pay.html.erb
429
177
  - lib/views/backend/spree/admin/payments/source_views/_stripe_elements.html.erb
430
178
  - lib/views/frontend/spree/checkout/payment/_stripe.html.erb
179
+ - lib/views/frontend/spree/checkout/payment/_stripe_ach.html.erb
180
+ - lib/views/frontend/spree/checkout/payment/_stripe_ach_verify.html.erb
431
181
  - lib/views/frontend/spree/checkout/payment/_stripe_additional_info.html.erb
432
182
  - lib/views/frontend/spree/checkout/payment/_stripe_apple_pay.html.erb
433
183
  - lib/views/frontend/spree/checkout/payment/_stripe_elements.html.erb
434
184
  - script/rails
185
+ - spec/factories/check_factory.rb
435
186
  - spec/features/admin/stripe_elements_payment_spec.rb
436
187
  - spec/features/stripe_checkout_spec.rb
188
+ - spec/features/stripe_elements_3ds_checkout_spec.rb
437
189
  - spec/models/gateway/authorize_net_cim_spec.rb
438
190
  - spec/models/gateway/authorize_net_spec.rb
439
191
  - spec/models/gateway/balanced_gateway_spec.rb
@@ -456,20 +208,26 @@ files:
456
208
  - spec/models/gateway/quickpay_spec.rb
457
209
  - spec/models/gateway/sage_pay_spec.rb
458
210
  - spec/models/gateway/secure_pay_au_spec.rb
211
+ - spec/models/gateway/stripe_ach_gateway_spec.rb
459
212
  - spec/models/gateway/stripe_gateway_spec.rb
460
213
  - spec/models/gateway/usa_epay_transaction_spec.rb
461
214
  - spec/models/gateway/worldpay_spec.rb
462
215
  - spec/models/spree/order_spec.rb
463
216
  - spec/requests/apple_pay_domain_verification.rb
464
217
  - spec/spec_helper.rb
465
- - spec/support/capybara_helper.rb
218
+ - spec/support/order_walktrough.rb
466
219
  - spec/support/wait_for_stripe.rb
220
+ - spec/support/within_stripe_3ds_popup.rb
467
221
  - spree_gateway.gemspec
468
222
  homepage: https://spreecommerce.org
469
223
  licenses:
470
224
  - BSD-3-Clause
471
- metadata: {}
472
- post_install_message:
225
+ metadata:
226
+ bug_tracker_uri: https://github.com/spree/spree_gateway/issues
227
+ changelog_uri: https://github.com/spree/spree_gateway/releases/tag/v3.9.3
228
+ documentation_uri: https://guides.spreecommerce.org/
229
+ source_code_uri: https://github.com/spree/spree_gateway/tree/v3.9.3
230
+ post_install_message:
473
231
  rdoc_options: []
474
232
  require_paths:
475
233
  - lib
@@ -485,13 +243,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
485
243
  version: '0'
486
244
  requirements:
487
245
  - none
488
- rubygems_version: 3.0.2
489
- signing_key:
246
+ rubygems_version: 3.2.3
247
+ signing_key:
490
248
  specification_version: 4
491
249
  summary: Additional Payment Gateways for Spree Commerce
492
250
  test_files:
251
+ - spec/factories/check_factory.rb
493
252
  - spec/features/admin/stripe_elements_payment_spec.rb
494
253
  - spec/features/stripe_checkout_spec.rb
254
+ - spec/features/stripe_elements_3ds_checkout_spec.rb
495
255
  - spec/models/gateway/authorize_net_cim_spec.rb
496
256
  - spec/models/gateway/authorize_net_spec.rb
497
257
  - spec/models/gateway/balanced_gateway_spec.rb
@@ -514,11 +274,13 @@ test_files:
514
274
  - spec/models/gateway/quickpay_spec.rb
515
275
  - spec/models/gateway/sage_pay_spec.rb
516
276
  - spec/models/gateway/secure_pay_au_spec.rb
277
+ - spec/models/gateway/stripe_ach_gateway_spec.rb
517
278
  - spec/models/gateway/stripe_gateway_spec.rb
518
279
  - spec/models/gateway/usa_epay_transaction_spec.rb
519
280
  - spec/models/gateway/worldpay_spec.rb
520
281
  - spec/models/spree/order_spec.rb
521
282
  - spec/requests/apple_pay_domain_verification.rb
522
283
  - spec/spec_helper.rb
523
- - spec/support/capybara_helper.rb
284
+ - spec/support/order_walktrough.rb
524
285
  - spec/support/wait_for_stripe.rb
286
+ - spec/support/within_stripe_3ds_popup.rb