spree_gateway 3.8.0 → 3.9.4

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -11
  3. data/Gemfile +3 -1
  4. data/README.md +2 -2
  5. data/Rakefile +2 -2
  6. data/app/models/spree/gateway/stripe_ach_gateway.rb +1 -1
  7. data/app/models/spree/gateway/stripe_elements_gateway.rb +54 -0
  8. data/app/models/spree/gateway/stripe_gateway.rb +5 -0
  9. data/app/models/{spree → spree_gateway}/apple_pay_order_decorator.rb +2 -2
  10. data/app/models/{spree → spree_gateway}/apple_pay_payment_decorator.rb +2 -2
  11. data/app/models/spree_gateway/credit_card_decorator.rb +10 -0
  12. data/app/models/spree_gateway/order_decorator.rb +28 -0
  13. data/app/models/{spree → spree_gateway}/payment_decorator.rb +9 -2
  14. data/app/views/spree/checkout/_payment_confirm.html.erb +39 -0
  15. data/config/locales/en.yml +4 -0
  16. data/config/routes.rb +12 -0
  17. data/db/migrate/20200422114908_add_intent_key_to_payment.rb +5 -0
  18. data/lib/controllers/spree/api/v2/storefront/intents_controller.rb +27 -0
  19. data/lib/spree_frontend/controllers/spree/checkout_controller_decorator.rb +19 -0
  20. data/lib/spree_gateway/engine.rb +10 -0
  21. data/lib/spree_gateway/version.rb +1 -1
  22. data/lib/views/frontend/spree/checkout/payment/_stripe_elements.html.erb +2 -1
  23. data/spec/features/admin/stripe_elements_payment_spec.rb +20 -29
  24. data/spec/features/stripe_checkout_spec.rb +37 -23
  25. data/spec/features/stripe_elements_3ds_checkout_spec.rb +225 -0
  26. data/spec/models/gateway/authorize_net_spec.rb +1 -1
  27. data/spec/models/gateway/balanced_gateway_spec.rb +1 -1
  28. data/spec/models/gateway/banwire_spec.rb +1 -1
  29. data/spec/models/gateway/beanstream_spec.rb +1 -1
  30. data/spec/models/gateway/braintree_gateway_spec.rb +24 -13
  31. data/spec/models/gateway/card_save_spec.rb +1 -1
  32. data/spec/models/gateway/{data_cache_spec.rb → data_cash_spec.rb} +1 -1
  33. data/spec/models/gateway/epay_spec.rb +1 -1
  34. data/spec/models/gateway/eway_rapid_spec.rb +1 -1
  35. data/spec/models/gateway/eway_spec.rb +1 -1
  36. data/spec/models/gateway/moneris_spec.rb +1 -1
  37. data/spec/models/gateway/pay_junction_spec.rb +1 -1
  38. data/spec/models/gateway/pay_pal_spec.rb +1 -1
  39. data/spec/models/gateway/payflow_pro_spec.rb +1 -1
  40. data/spec/models/gateway/paymill_spec.rb +1 -1
  41. data/spec/models/gateway/pin_gateway_spec.rb +1 -1
  42. data/spec/models/gateway/quickpay_spec.rb +1 -1
  43. data/spec/models/gateway/sage_pay_spec.rb +1 -1
  44. data/spec/models/gateway/secure_pay_au_spec.rb +1 -1
  45. data/spec/models/gateway/stripe_ach_gateway_spec.rb +2 -1
  46. data/spec/models/gateway/stripe_gateway_spec.rb +1 -0
  47. data/spec/models/gateway/usa_epay_transaction_spec.rb +2 -2
  48. data/spec/models/gateway/worldpay_spec.rb +1 -1
  49. data/spec/models/spree/order_spec.rb +4 -2
  50. data/spec/support/order_walktrough.rb +73 -0
  51. data/spec/support/within_stripe_3ds_popup.rb +10 -0
  52. data/spree_gateway.gemspec +9 -3
  53. metadata +34 -28
  54. data/Appraisals +0 -14
  55. data/gemfiles/spree_4_1.gemfile +0 -8
  56. data/gemfiles/spree_4_2.gemfile +0 -8
  57. data/gemfiles/spree_master.gemfile +0 -8
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::BalancedGateway do
4
- let(:gateway) { described_class.create!(name: 'Balanced') }
4
+ let(:gateway) { described_class.create!(name: 'Balanced', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Balanced gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Banwire do
4
- let(:gateway) { described_class.create!(name: 'Banwire') }
4
+ let(:gateway) { described_class.create!(name: 'Banwire', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Banwire gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Beanstream do
4
- let(:gateway) { described_class.create!(name: 'Beanstream') }
4
+ let(:gateway) { described_class.create!(name: 'Beanstream', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Beanstream gateway' do
@@ -2,13 +2,24 @@ require 'spec_helper'
2
2
  require 'pry'
3
3
 
4
4
  describe Spree::Gateway::BraintreeGateway do
5
- let!(:country) { create(:country, name: 'United States', iso_name: 'UNITED STATES', iso3: 'USA', iso: 'US', numcode: 840) }
6
- let!(:state) { create(:state, name: 'Maryland', abbr: 'MD', country: country) }
7
- let!(:address) { create(:address, firstname: 'John', lastname: 'Doe', address1: '1234 My Street', address2: 'Apt 1', city: 'Washington DC', zipcode: '20123', phone: '(555)555-5555', state: state, country: country) }
8
-
9
5
  before do
6
+ country = Spree::Country.find_by(name: 'United States of America')
7
+ country.update(name: 'United States', iso_name: 'UNITED STATES', iso3: 'USA', iso: 'US', numcode: 840)
8
+ state = create(:state, name: 'Maryland', abbr: 'MD', country: country)
9
+ @address = create(:address,
10
+ firstname: 'John',
11
+ lastname: 'Doe',
12
+ address1: '1234 My Street',
13
+ address2: 'Apt 1',
14
+ city: 'Washington DC',
15
+ zipcode: '20123',
16
+ phone: '(555)555-5555',
17
+ state: state,
18
+ country: country)
19
+
20
+
10
21
  Spree::Gateway.update_all(active: false)
11
- @gateway = Spree::Gateway::BraintreeGateway.create!(name: 'Braintree Gateway', active: true)
22
+ @gateway = Spree::Gateway::BraintreeGateway.create!(name: 'Braintree Gateway', active: true, stores: [::Spree::Store.default])
12
23
  @gateway.preferences = {
13
24
  environment: 'sandbox',
14
25
  merchant_id: 'zbn5yzq9t7wmwx42',
@@ -18,7 +29,7 @@ describe Spree::Gateway::BraintreeGateway do
18
29
  @gateway.save!
19
30
 
20
31
  with_payment_profiles_off do
21
- order = create(:order_with_totals, bill_address: address, ship_address: address)
32
+ order = create(:order_with_totals, bill_address: @address, ship_address: @address)
22
33
  order.update_with_updater!
23
34
 
24
35
  # Use a valid CC from braintree sandbox: https://www.braintreepayments.com/docs/ruby/reference/sandbox
@@ -37,7 +48,7 @@ describe Spree::Gateway::BraintreeGateway do
37
48
 
38
49
  describe 'payment profile creation' do
39
50
  before do
40
- order = create(:order_with_totals, bill_address: address, ship_address: address)
51
+ order = create(:order_with_totals, bill_address: @address, ship_address: @address)
41
52
  order.update_with_updater!
42
53
 
43
54
  @credit_card = create(:credit_card,
@@ -56,12 +67,12 @@ describe Spree::Gateway::BraintreeGateway do
56
67
  remote_customer = @gateway.provider.instance_variable_get(:@braintree_gateway).customer.find(@credit_card.gateway_customer_profile_id)
57
68
  remote_address = remote_customer.addresses.first rescue nil
58
69
  expect(remote_address).not_to be_nil
59
- expect(remote_address.street_address).to eq(address.address1)
60
- expect(remote_address.extended_address).to eq(address.address2)
61
- expect(remote_address.locality).to eq(address.city)
62
- expect(remote_address.region).to eq(address.state.name)
63
- expect(remote_address.country_code_alpha2).to eq(address.country.iso)
64
- expect(remote_address.postal_code).to eq(address.zipcode)
70
+ expect(remote_address.street_address).to eq(@address.address1)
71
+ expect(remote_address.extended_address).to eq(@address.address2)
72
+ expect(remote_address.locality).to eq(@address.city)
73
+ expect(remote_address.region).to eq(@address.state.name)
74
+ expect(remote_address.country_code_alpha2).to eq(@address.country.iso)
75
+ expect(remote_address.postal_code).to eq(@address.zipcode)
65
76
  end
66
77
  end
67
78
 
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::CardSave do
4
- let(:gateway) { described_class.create!(name: 'CardSave') }
4
+ let(:gateway) { described_class.create!(name: 'CardSave', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a CardSave gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::DataCash do
4
- let(:gateway) { described_class.create!(name: 'DataCash') }
4
+ let(:gateway) { described_class.create!(name: 'DataCash', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a DataCash gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Epay do
4
- let(:gateway) { described_class.create!(name: 'Epay') }
4
+ let(:gateway) { described_class.create!(name: 'Epay', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Epay gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::EwayRapid do
4
- let(:gateway) { described_class.create!(name: 'eWAY Rapid') }
4
+ let(:gateway) { described_class.create!(name: 'eWAY Rapid', stores: [::Spree::Store.default]) }
5
5
 
6
6
  describe '#provider_class' do
7
7
  it 'should be an eWAY Rapid gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Eway do
4
- let(:gateway) { described_class.create!(name: 'Eway') }
4
+ let(:gateway) { described_class.create!(name: 'Eway', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Eway gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Moneris do
4
- let(:gateway) { described_class.create!(name: 'Moneris') }
4
+ let(:gateway) { described_class.create!(name: 'Moneris', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Moneris gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::PayJunction do
4
- let(:gateway) { described_class.create!(name: 'PayJunction') }
4
+ let(:gateway) { described_class.create!(name: 'PayJunction', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a PayJunction gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::PayPalGateway do
4
- let(:gateway) { described_class.create!(name: 'PayPal') }
4
+ let(:gateway) { described_class.create!(name: 'PayPal', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a PayPal gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::PayflowPro do
4
- let(:gateway) { described_class.create!(name: 'PayflowPro') }
4
+ let(:gateway) { described_class.create!(name: 'PayflowPro', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Payflow gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Paymill do
4
- let(:gateway) { described_class.create!(name: 'Paymill') }
4
+ let(:gateway) { described_class.create!(name: 'Paymill', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Paymill gateway' do
@@ -4,7 +4,7 @@ describe Spree::Gateway::PinGateway do
4
4
 
5
5
  before do
6
6
  Spree::Gateway.update_all(active: false)
7
- @gateway = described_class.create!(name: 'Pin Gateway', active: true)
7
+ @gateway = described_class.create!(name: 'Pin Gateway', active: true, stores: [::Spree::Store.default])
8
8
  @gateway.set_preference(:api_key, 'W_VzkRCZSILiKWUS-dndUg')
9
9
  @gateway.save!
10
10
 
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Quickpay do
4
- let(:gateway) { described_class.create!(name: 'QuickpayGateway') }
4
+ let(:gateway) { described_class.create!(name: 'QuickpayGateway', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Quickpay gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::SagePay do
4
- let(:gateway) { described_class.create!(name: 'SagePay') }
4
+ let(:gateway) { described_class.create!(name: 'SagePay', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a SagePay gateway' do
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::SecurePayAU do
4
- let(:gateway) { described_class.create!(name: 'SecurePayAU') }
4
+ let(:gateway) { described_class.create!(name: 'SecurePayAU', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a SecurePayAU gateway' do
@@ -175,7 +175,8 @@ describe Spree::Gateway::StripeAchGateway do
175
175
  success?: true,
176
176
  authorization: '123',
177
177
  avs_result: { 'code' => 'avs-code' },
178
- cvv_result: { 'code' => 'cvv-code', 'message' => 'CVV Result' })
178
+ cvv_result: { 'code' => 'cvv-code', 'message' => 'CVV Result' },
179
+ params: {})
179
180
  end
180
181
 
181
182
  it 'gets correct amount' do
@@ -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"})
@@ -3,11 +3,11 @@ require 'spec_helper'
3
3
  describe Spree::Gateway::UsaEpayTransaction do
4
4
  before do
5
5
  Spree::Gateway.update_all(active: false)
6
- @gateway = Spree::Gateway::UsaEpayTransaction.create!(name: 'USA EPay Gateway', active: true)
6
+ @gateway = Spree::Gateway::UsaEpayTransaction.create!(name: 'USA EPay Gateway', active: true, stores: [::Spree::Store.default])
7
7
  @gateway.set_preference(:login, '0r19zQBdp5nS8i3t4hFxz0di13yf56q1')
8
8
  @gateway.save!
9
9
 
10
- country = create(:country, name: 'United States', iso_name: 'UNITED STATES', iso3: 'USA', iso: 'US', numcode: 840)
10
+ country = Spree::Country.find_by(name: 'United States of America')
11
11
  state = create(:state, name: 'Maryland', abbr: 'MD', country: country)
12
12
  address = create(:address,
13
13
  firstname: 'John',
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Spree::Gateway::Worldpay do
4
- let(:gateway) { described_class.create!(name: 'Worldpay') }
4
+ let(:gateway) { described_class.create!(name: 'Worldpay', stores: [::Spree::Store.default]) }
5
5
 
6
6
  context '.provider_class' do
7
7
  it 'is a Worldpay gateway' do
@@ -6,14 +6,16 @@ describe Spree::Order do
6
6
  let(:stripe_apple_pay_payment_method) do
7
7
  Spree::Gateway::StripeApplePayGateway.create!(
8
8
  name: 'ApplePay',
9
- preferred_domain_verification_certificate: FFaker::Lorem.characters(20)
9
+ preferred_domain_verification_certificate: FFaker::Lorem.characters(20),
10
+ stores: [::Spree::Store.default]
10
11
  )
11
12
  end
12
13
  let(:stripe_credit_card_payment_method) do
13
14
  Spree::Gateway::StripeGateway.create!(
14
15
  name: 'CreditCard',
15
16
  preferred_secret_key: FFaker::Lorem.characters(20),
16
- preferred_publishable_key: FFaker::Lorem.characters(20)
17
+ preferred_publishable_key: FFaker::Lorem.characters(20),
18
+ stores: [::Spree::Store.default]
17
19
  )
18
20
  end
19
21
 
@@ -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,16 +16,22 @@ 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'
25
- s.add_dependency 'spree_core', spree_version
31
+ s.add_dependency 'spree_core', '>= 3.7.0'
26
32
  s.add_dependency 'spree_extension'
27
33
 
28
- s.add_development_dependency 'braintree'
34
+ s.add_development_dependency 'braintree', '~> 3.0.0'
29
35
  s.add_development_dependency 'rspec-activemodel-mocks'
30
36
  s.add_development_dependency 'spree_dev_tools'
31
37
  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.8.0
4
+ version: 3.9.4
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-09-07 00:00:00.000000000 Z
11
+ date: 2021-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.0
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '5.0'
19
+ version: 3.7.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 3.1.0
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '5.0'
26
+ version: 3.7.0
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: spree_extension
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -48,16 +42,16 @@ dependencies:
48
42
  name: braintree
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - ">="
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: 3.0.0
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - ">="
52
+ - - "~>"
59
53
  - !ruby/object:Gem::Version
60
- version: '0'
54
+ version: 3.0.0
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: rspec-activemodel-mocks
63
57
  requirement: !ruby/object:Gem::Requirement
@@ -95,14 +89,11 @@ files:
95
89
  - ".gitignore"
96
90
  - ".rspec"
97
91
  - ".travis.yml"
98
- - Appraisals
99
92
  - Gemfile
100
93
  - Guardfile
101
94
  - LICENSE.md
102
95
  - README.md
103
96
  - Rakefile
104
- - app/models/spree/apple_pay_order_decorator.rb
105
- - app/models/spree/apple_pay_payment_decorator.rb
106
97
  - app/models/spree/billing_integration.rb
107
98
  - app/models/spree/check.rb
108
99
  - app/models/spree/gateway/authorize_net.rb
@@ -135,7 +126,12 @@ files:
135
126
  - app/models/spree/gateway/stripe_gateway.rb
136
127
  - app/models/spree/gateway/usa_epay_transaction.rb
137
128
  - app/models/spree/gateway/worldpay.rb
138
- - app/models/spree/payment_decorator.rb
129
+ - app/models/spree_gateway/apple_pay_order_decorator.rb
130
+ - app/models/spree_gateway/apple_pay_payment_decorator.rb
131
+ - app/models/spree_gateway/credit_card_decorator.rb
132
+ - app/models/spree_gateway/order_decorator.rb
133
+ - app/models/spree_gateway/payment_decorator.rb
134
+ - app/views/spree/checkout/_payment_confirm.html.erb
139
135
  - config/initializers/inflections.rb
140
136
  - config/initializers/spree_permitted_attributes.rb
141
137
  - config/locales/bg.yml
@@ -149,12 +145,12 @@ files:
149
145
  - db/migrate/20131008221012_update_paypal_payment_method_type.rb
150
146
  - db/migrate/20131112133401_migrate_stripe_preferences.rb
151
147
  - db/migrate/20200317135551_add_spree_check_payment_source.rb
152
- - gemfiles/spree_4_1.gemfile
153
- - gemfiles/spree_4_2.gemfile
154
- - gemfiles/spree_master.gemfile
148
+ - db/migrate/20200422114908_add_intent_key_to_payment.rb
155
149
  - lib/active_merchant/billing/stripe_gateway_decorator.rb
150
+ - lib/controllers/spree/api/v2/storefront/intents_controller.rb
156
151
  - lib/controllers/spree/apple_pay_domain_verification_controller.rb
157
152
  - lib/generators/spree_gateway/install/install_generator.rb
153
+ - lib/spree_frontend/controllers/spree/checkout_controller_decorator.rb
158
154
  - lib/spree_gateway.rb
159
155
  - lib/spree_gateway/engine.rb
160
156
  - lib/spree_gateway/version.rb
@@ -179,6 +175,7 @@ files:
179
175
  - spec/factories/check_factory.rb
180
176
  - spec/features/admin/stripe_elements_payment_spec.rb
181
177
  - spec/features/stripe_checkout_spec.rb
178
+ - spec/features/stripe_elements_3ds_checkout_spec.rb
182
179
  - spec/models/gateway/authorize_net_cim_spec.rb
183
180
  - spec/models/gateway/authorize_net_spec.rb
184
181
  - spec/models/gateway/balanced_gateway_spec.rb
@@ -187,7 +184,7 @@ files:
187
184
  - spec/models/gateway/braintree_gateway_spec.rb
188
185
  - spec/models/gateway/card_save_spec.rb
189
186
  - spec/models/gateway/cyber_source_spec.rb
190
- - spec/models/gateway/data_cache_spec.rb
187
+ - spec/models/gateway/data_cash_spec.rb
191
188
  - spec/models/gateway/epay_spec.rb
192
189
  - spec/models/gateway/eway_rapid_spec.rb
193
190
  - spec/models/gateway/eway_spec.rb
@@ -208,13 +205,19 @@ files:
208
205
  - spec/models/spree/order_spec.rb
209
206
  - spec/requests/apple_pay_domain_verification.rb
210
207
  - spec/spec_helper.rb
208
+ - spec/support/order_walktrough.rb
211
209
  - spec/support/wait_for_stripe.rb
210
+ - spec/support/within_stripe_3ds_popup.rb
212
211
  - spree_gateway.gemspec
213
212
  homepage: https://spreecommerce.org
214
213
  licenses:
215
214
  - BSD-3-Clause
216
- metadata: {}
217
- post_install_message:
215
+ metadata:
216
+ bug_tracker_uri: https://github.com/spree/spree_gateway/issues
217
+ changelog_uri: https://github.com/spree/spree_gateway/releases/tag/v3.9.4
218
+ documentation_uri: https://guides.spreecommerce.org/
219
+ source_code_uri: https://github.com/spree/spree_gateway/tree/v3.9.4
220
+ post_install_message:
218
221
  rdoc_options: []
219
222
  require_paths:
220
223
  - lib
@@ -230,14 +233,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
233
  version: '0'
231
234
  requirements:
232
235
  - none
233
- rubygems_version: 3.1.2
234
- signing_key:
236
+ rubygems_version: 3.2.3
237
+ signing_key:
235
238
  specification_version: 4
236
239
  summary: Additional Payment Gateways for Spree Commerce
237
240
  test_files:
238
241
  - spec/factories/check_factory.rb
239
242
  - spec/features/admin/stripe_elements_payment_spec.rb
240
243
  - spec/features/stripe_checkout_spec.rb
244
+ - spec/features/stripe_elements_3ds_checkout_spec.rb
241
245
  - spec/models/gateway/authorize_net_cim_spec.rb
242
246
  - spec/models/gateway/authorize_net_spec.rb
243
247
  - spec/models/gateway/balanced_gateway_spec.rb
@@ -246,7 +250,7 @@ test_files:
246
250
  - spec/models/gateway/braintree_gateway_spec.rb
247
251
  - spec/models/gateway/card_save_spec.rb
248
252
  - spec/models/gateway/cyber_source_spec.rb
249
- - spec/models/gateway/data_cache_spec.rb
253
+ - spec/models/gateway/data_cash_spec.rb
250
254
  - spec/models/gateway/epay_spec.rb
251
255
  - spec/models/gateway/eway_rapid_spec.rb
252
256
  - spec/models/gateway/eway_spec.rb
@@ -267,4 +271,6 @@ test_files:
267
271
  - spec/models/spree/order_spec.rb
268
272
  - spec/requests/apple_pay_domain_verification.rb
269
273
  - spec/spec_helper.rb
274
+ - spec/support/order_walktrough.rb
270
275
  - spec/support/wait_for_stripe.rb
276
+ - spec/support/within_stripe_3ds_popup.rb