spree_gateway 3.3.3 → 3.3.5
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 +5 -5
- data/.travis.yml +9 -0
- data/app/models/spree/gateway/stripe_gateway.rb +15 -6
- data/lib/active_merchant/billing/gateways/stripe_decorator.rb +17 -0
- data/lib/spree_gateway.rb +1 -0
- data/lib/spree_gateway/engine.rb +3 -0
- data/lib/spree_gateway/version.rb +5 -0
- data/spec/spec_helper.rb +13 -4
- data/spree_gateway.gemspec +11 -4
- metadata +40 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 648d40901742451fde4132f84a47a1cb6cd87da368e231026bd43bc0de827317
|
4
|
+
data.tar.gz: a7074f7a84f7f59e91302d2fa40d939d074df09665a6c5187cf2282104a5d934
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab2a9999f550f7c983f74fd4d373e5283e8b4c851c51db219358c8003f3d0c24fef1436ee259fc872399e40c8660c843d3edb589f6371739ed92379dc869473e
|
7
|
+
data.tar.gz: 03dfc59510f180067067e29cdd37cbd4a545c1b172c0a096ede0a9a3f1ff8006be49b35ac93755c15eeede25a94bff3f9016f0a887505d21b71f87b9183d75ed
|
data/.travis.yml
CHANGED
@@ -3,6 +3,9 @@ dist: trusty
|
|
3
3
|
|
4
4
|
language: ruby
|
5
5
|
|
6
|
+
addons:
|
7
|
+
chrome: stable
|
8
|
+
|
6
9
|
env:
|
7
10
|
- DB=postgres
|
8
11
|
- DB=mysql
|
@@ -26,3 +29,9 @@ matrix:
|
|
26
29
|
|
27
30
|
before_install:
|
28
31
|
- mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
|
32
|
+
- wget -N https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip -P ~/
|
33
|
+
- unzip ~/chromedriver_linux64.zip -d ~/
|
34
|
+
- rm ~/chromedriver_linux64.zip
|
35
|
+
- sudo mv -f ~/chromedriver /usr/local/share/
|
36
|
+
- sudo chmod +x /usr/local/share/chromedriver
|
37
|
+
- sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
|
@@ -40,16 +40,16 @@ module Spree
|
|
40
40
|
provider.capture(money, response_code, gateway_options)
|
41
41
|
end
|
42
42
|
|
43
|
-
def credit(money, creditcard, response_code, gateway_options)
|
44
|
-
provider.refund(money, response_code, {})
|
43
|
+
def credit(money, creditcard, response_code, gateway_options)tes
|
44
|
+
provider.refund(money, response_code, {}, gateway_options)
|
45
45
|
end
|
46
46
|
|
47
47
|
def void(response_code, creditcard, gateway_options)
|
48
|
-
provider.void(response_code, {})
|
48
|
+
provider.void(response_code, {}, gateway_options)
|
49
49
|
end
|
50
50
|
|
51
51
|
def cancel(response_code)
|
52
|
-
provider.void(response_code, {})
|
52
|
+
provider.void(response_code, {}, gateway_options)
|
53
53
|
end
|
54
54
|
|
55
55
|
def create_profile(payment)
|
@@ -87,14 +87,17 @@ module Spree
|
|
87
87
|
|
88
88
|
# In this gateway, what we call 'secret_key' is the 'login'
|
89
89
|
def options
|
90
|
-
|
91
|
-
|
90
|
+
super.merge(
|
91
|
+
login: preferred_secret_key,
|
92
|
+
application: app_info
|
93
|
+
)
|
92
94
|
end
|
93
95
|
|
94
96
|
def options_for_purchase_or_auth(money, creditcard, gateway_options)
|
95
97
|
options = {}
|
96
98
|
options[:description] = "Spree Order ID: #{gateway_options[:order_id]}"
|
97
99
|
options[:currency] = gateway_options[:currency]
|
100
|
+
options[:application] = app_info
|
98
101
|
|
99
102
|
if customer = creditcard.gateway_customer_profile_id
|
100
103
|
options[:customer] = customer
|
@@ -133,5 +136,11 @@ module Spree
|
|
133
136
|
source.cc_type = CARD_TYPE_MAPPING[source.cc_type] if CARD_TYPE_MAPPING.include?(source.cc_type)
|
134
137
|
source
|
135
138
|
end
|
139
|
+
|
140
|
+
def app_info
|
141
|
+
name_with_version = "SpreeGateway/#{SpreeGateway.version}"
|
142
|
+
url = 'https://spreecommerce.org'
|
143
|
+
"#{name_with_version} #{url}"
|
144
|
+
end
|
136
145
|
end
|
137
146
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
ActiveMerchant::Billing::StripeGateway.class_eval do
|
2
|
+
private
|
3
|
+
|
4
|
+
alias_method :original_headers, :headers
|
5
|
+
alias_method :original_add_customer_data, :add_customer_data
|
6
|
+
|
7
|
+
def headers(options = {})
|
8
|
+
headers = original_headers(options)
|
9
|
+
headers['User-Agent'] = headers['X-Stripe-Client-User-Agent']
|
10
|
+
headers
|
11
|
+
end
|
12
|
+
|
13
|
+
def add_customer_data(post, options)
|
14
|
+
original_add_customer_data(post, options)
|
15
|
+
post[:payment_user_agent] = "SpreeGateway/#{SpreeGateway.version}"
|
16
|
+
end
|
17
|
+
end
|
data/lib/spree_gateway.rb
CHANGED
data/lib/spree_gateway/engine.rb
CHANGED
@@ -44,6 +44,9 @@ module SpreeGateway
|
|
44
44
|
Rails.configuration.cache_classes ? require(c) : load(c)
|
45
45
|
end
|
46
46
|
end
|
47
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../../lib/active_merchant/**/*_decorator*.rb')) do |c|
|
48
|
+
Rails.application.config.cache_classes ? require(c) : load(c)
|
49
|
+
end
|
47
50
|
end
|
48
51
|
|
49
52
|
def self.backend_available?
|
data/spec/spec_helper.rb
CHANGED
@@ -9,8 +9,9 @@ require 'rspec/rails'
|
|
9
9
|
require 'rspec/active_model/mocks'
|
10
10
|
require 'capybara/rspec'
|
11
11
|
require 'capybara/rails'
|
12
|
-
require 'capybara/poltergeist'
|
13
12
|
require 'capybara-screenshot/rspec'
|
13
|
+
require "selenium-webdriver"
|
14
|
+
require 'webdrivers'
|
14
15
|
require 'database_cleaner'
|
15
16
|
require 'ffaker'
|
16
17
|
require 'rspec/active_model/mocks'
|
@@ -22,7 +23,7 @@ require 'spree/testing_support/order_walkthrough'
|
|
22
23
|
require 'spree/testing_support/preferences'
|
23
24
|
require 'spree/testing_support/capybara_ext'
|
24
25
|
|
25
|
-
|
26
|
+
FactoryGirl.find_definitions
|
26
27
|
|
27
28
|
RSpec.configure do |config|
|
28
29
|
config.infer_spec_type_from_file_location!
|
@@ -34,7 +35,7 @@ RSpec.configure do |config|
|
|
34
35
|
#config.filter_run focus: true
|
35
36
|
#config.filter_run_excluding slow: true
|
36
37
|
|
37
|
-
config.include
|
38
|
+
config.include FactoryGirl::Syntax::Methods
|
38
39
|
config.include Spree::TestingSupport::Preferences
|
39
40
|
|
40
41
|
config.before :suite do
|
@@ -52,5 +53,13 @@ RSpec.configure do |config|
|
|
52
53
|
DatabaseCleaner.clean
|
53
54
|
end
|
54
55
|
|
55
|
-
Capybara.
|
56
|
+
Capybara.register_driver :chrome do |app|
|
57
|
+
Capybara::Selenium::Driver.new app,
|
58
|
+
browser: :chrome,
|
59
|
+
options: Selenium::WebDriver::Chrome::Options.new(
|
60
|
+
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],
|
61
|
+
log_level: :error
|
62
|
+
)
|
63
|
+
end
|
64
|
+
Capybara.javascript_driver = :chrome
|
56
65
|
end
|
data/spree_gateway.gemspec
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib/', __FILE__)
|
3
|
+
$LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
require 'spree_gateway/version'
|
6
|
+
|
2
7
|
Gem::Specification.new do |s|
|
3
8
|
s.platform = Gem::Platform::RUBY
|
4
9
|
s.name = 'spree_gateway'
|
5
|
-
s.version =
|
10
|
+
s.version = SpreeGateway.version
|
6
11
|
s.summary = 'Additional Payment Gateways for Spree Commerce'
|
7
12
|
s.description = s.summary
|
8
13
|
|
@@ -25,20 +30,22 @@ Gem::Specification.new do |s|
|
|
25
30
|
s.add_development_dependency 'capybara-screenshot'
|
26
31
|
s.add_development_dependency 'coffee-rails'
|
27
32
|
s.add_development_dependency 'database_cleaner'
|
28
|
-
s.add_development_dependency '
|
33
|
+
s.add_development_dependency 'factory_girl'
|
34
|
+
s.add_development_dependency 'factory_bot', '~> 4.7'
|
29
35
|
s.add_development_dependency 'ffaker'
|
30
36
|
s.add_development_dependency 'guard-rspec'
|
31
37
|
s.add_development_dependency 'launchy'
|
32
38
|
s.add_development_dependency 'mysql2'
|
33
39
|
s.add_development_dependency 'pg', '~> 0.18'
|
34
|
-
s.add_development_dependency 'poltergeist'
|
35
40
|
s.add_development_dependency 'pry'
|
41
|
+
s.add_development_dependency 'puma'
|
36
42
|
s.add_development_dependency 'rspec-activemodel-mocks'
|
37
43
|
s.add_development_dependency 'rspec-rails'
|
38
44
|
s.add_development_dependency 'bootstrap-sass', '>= 3.3.5.1'
|
39
45
|
s.add_development_dependency 'sass-rails', '>= 3.2'
|
40
46
|
s.add_development_dependency 'selenium-webdriver'
|
47
|
+
s.add_development_dependency 'webdrivers', '~> 3.9.0'
|
41
48
|
s.add_development_dependency 'simplecov'
|
42
|
-
s.add_development_dependency 'sqlite3'
|
49
|
+
s.add_development_dependency 'sqlite3', '~> 1.3.6'
|
43
50
|
s.add_development_dependency 'appraisal'
|
44
51
|
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.3.
|
4
|
+
version: 3.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Spree Commerce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -115,7 +115,7 @@ dependencies:
|
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
118
|
+
name: factory_girl
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - ">="
|
@@ -128,6 +128,20 @@ dependencies:
|
|
128
128
|
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: factory_bot
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '4.7'
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '4.7'
|
131
145
|
- !ruby/object:Gem::Dependency
|
132
146
|
name: ffaker
|
133
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -199,7 +213,7 @@ dependencies:
|
|
199
213
|
- !ruby/object:Gem::Version
|
200
214
|
version: '0.18'
|
201
215
|
- !ruby/object:Gem::Dependency
|
202
|
-
name:
|
216
|
+
name: pry
|
203
217
|
requirement: !ruby/object:Gem::Requirement
|
204
218
|
requirements:
|
205
219
|
- - ">="
|
@@ -213,7 +227,7 @@ dependencies:
|
|
213
227
|
- !ruby/object:Gem::Version
|
214
228
|
version: '0'
|
215
229
|
- !ruby/object:Gem::Dependency
|
216
|
-
name:
|
230
|
+
name: puma
|
217
231
|
requirement: !ruby/object:Gem::Requirement
|
218
232
|
requirements:
|
219
233
|
- - ">="
|
@@ -296,6 +310,20 @@ dependencies:
|
|
296
310
|
- - ">="
|
297
311
|
- !ruby/object:Gem::Version
|
298
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: 3.9.0
|
320
|
+
type: :development
|
321
|
+
prerelease: false
|
322
|
+
version_requirements: !ruby/object:Gem::Requirement
|
323
|
+
requirements:
|
324
|
+
- - "~>"
|
325
|
+
- !ruby/object:Gem::Version
|
326
|
+
version: 3.9.0
|
299
327
|
- !ruby/object:Gem::Dependency
|
300
328
|
name: simplecov
|
301
329
|
requirement: !ruby/object:Gem::Requirement
|
@@ -314,16 +342,16 @@ dependencies:
|
|
314
342
|
name: sqlite3
|
315
343
|
requirement: !ruby/object:Gem::Requirement
|
316
344
|
requirements:
|
317
|
-
- - "
|
345
|
+
- - "~>"
|
318
346
|
- !ruby/object:Gem::Version
|
319
|
-
version:
|
347
|
+
version: 1.3.6
|
320
348
|
type: :development
|
321
349
|
prerelease: false
|
322
350
|
version_requirements: !ruby/object:Gem::Requirement
|
323
351
|
requirements:
|
324
|
-
- - "
|
352
|
+
- - "~>"
|
325
353
|
- !ruby/object:Gem::Version
|
326
|
-
version:
|
354
|
+
version: 1.3.6
|
327
355
|
- !ruby/object:Gem::Dependency
|
328
356
|
name: appraisal
|
329
357
|
requirement: !ruby/object:Gem::Requirement
|
@@ -393,11 +421,13 @@ files:
|
|
393
421
|
- gemfiles/spree_3_1.gemfile
|
394
422
|
- gemfiles/spree_3_2.gemfile
|
395
423
|
- gemfiles/spree_master.gemfile
|
424
|
+
- lib/active_merchant/billing/gateways/stripe_decorator.rb
|
396
425
|
- lib/assets/javascripts/spree/frontend/spree_gateway.js
|
397
426
|
- lib/assets/stylesheets/spree/frontend/spree_gateway.css
|
398
427
|
- lib/generators/spree_gateway/install/install_generator.rb
|
399
428
|
- lib/spree_gateway.rb
|
400
429
|
- lib/spree_gateway/engine.rb
|
430
|
+
- lib/spree_gateway/version.rb
|
401
431
|
- lib/views/backend/spree/admin/log_entries/_braintree.html.erb
|
402
432
|
- lib/views/backend/spree/admin/log_entries/_stripe.html.erb
|
403
433
|
- lib/views/backend/spree/admin/payments/source_forms/_quickcheckout.html.erb
|
@@ -454,8 +484,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
454
484
|
version: '0'
|
455
485
|
requirements:
|
456
486
|
- none
|
457
|
-
|
458
|
-
rubygems_version: 2.6.10
|
487
|
+
rubygems_version: 3.0.2
|
459
488
|
signing_key:
|
460
489
|
specification_version: 4
|
461
490
|
summary: Additional Payment Gateways for Spree Commerce
|