spree_gateway 3.4.1 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +13 -3
- data/Appraisals +3 -2
- data/README.md +1 -1
- data/app/models/spree/apple_pay_order_decorator.rb +20 -0
- data/app/models/spree/{payment_decorator.rb → apple_pay_payment_decorator.rb} +2 -2
- data/gemfiles/{spree_3_6.gemfile → spree_3_7.gemfile} +2 -1
- data/lib/views/backend/spree/admin/payments/source_forms/_stripe.html.erb +75 -1
- data/spree_gateway.gemspec +4 -4
- metadata +16 -17
- data/app/models/spree/order_decorator.rb +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a46b08f61300dc52d37b71bd1bc6357f9f0d28ce952ed6885c73a1f176d228d
|
4
|
+
data.tar.gz: 6fd7292e92776ad777132602e67b4d9711dac6668fc72105177af6e71a113bb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2d0959d8367e402e3a7245a80bb00d5d13fb1da36c97d09089750e3f5740ee3231fccaede466f15d37dfe9b524a70b0842886f95a0b24e5ed842baa9b13d284
|
7
|
+
data.tar.gz: facedd67685ede7e306d8e3a46f57f1d07c8f39371ab8b771ab82b92bf509d8c7efe1d6cbe3459c2571c9a2a05abd1c46d491e407aa4473017ae6ba1130b6b44
|
data/.travis.yml
CHANGED
@@ -5,15 +5,16 @@ language: ruby
|
|
5
5
|
|
6
6
|
addons:
|
7
7
|
chrome: stable
|
8
|
+
postgresql: 9.4
|
8
9
|
|
9
10
|
env:
|
10
11
|
- DB=postgres
|
11
12
|
- DB=mysql
|
12
13
|
|
13
14
|
gemfile:
|
14
|
-
- gemfiles/spree_3_2.gemfile
|
15
|
+
# - gemfiles/spree_3_2.gemfile
|
15
16
|
- gemfiles/spree_3_5.gemfile
|
16
|
-
- gemfiles/
|
17
|
+
- gemfiles/spree_3_7.gemfile
|
17
18
|
- gemfiles/spree_master.gemfile
|
18
19
|
|
19
20
|
script:
|
@@ -27,7 +28,16 @@ rvm:
|
|
27
28
|
|
28
29
|
matrix:
|
29
30
|
allow_failures:
|
30
|
-
|
31
|
+
- gemfile: gemfiles/spree_master.gemfile
|
32
|
+
exclude:
|
33
|
+
- rvm: 2.3.7
|
34
|
+
gemfile: gemfiles/spree_master.gemfile
|
35
|
+
- rvm: 2.4.4
|
36
|
+
gemfile: gemfiles/spree_master.gemfile
|
37
|
+
- rvm: 2.5.1
|
38
|
+
gemfile: gemfiles/spree_3_2.gemfile
|
39
|
+
- rvm: 2.4.4
|
40
|
+
gemfile: gemfiles/spree_3_2.gemfile
|
31
41
|
|
32
42
|
before_install:
|
33
43
|
- mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
|
data/Appraisals
CHANGED
data/README.md
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
module Spree
|
2
|
+
module ApplePayOrderDecorator
|
3
|
+
def confirmation_required?
|
4
|
+
return false if paid_with_apple_pay?
|
5
|
+
|
6
|
+
# Little hacky fix for #4117
|
7
|
+
# If this wasn't here, order would transition to address state on confirm failure
|
8
|
+
# because there would be no valid payments any more.
|
9
|
+
Spree::Config[:always_include_confirm_step] ||
|
10
|
+
payments.valid.map(&:payment_method).compact.any?(&:payment_profiles_supported?) ||
|
11
|
+
confirm?
|
12
|
+
end
|
13
|
+
|
14
|
+
def paid_with_apple_pay?
|
15
|
+
payments.valid.any?(&:apple_pay?)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
Spree::Order.prepend Spree::ApplePayOrderDecorator
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Spree
|
2
2
|
module ApplePayPaymentDecorator
|
3
3
|
def apple_pay?
|
4
4
|
payment_method.is_a? Spree::Gateway::StripeApplePayGateway
|
@@ -6,4 +6,4 @@ module SpreeGateway
|
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
|
-
Spree::Payment.prepend
|
9
|
+
Spree::Payment.prepend Spree::ApplePayPaymentDecorator
|
@@ -1 +1,75 @@
|
|
1
|
-
<%= render "spree/admin/payments/source_forms/gateway", payment_method: payment_method, previous_cards: payment_method.reusable_sources(@order) %>
|
1
|
+
<%= render "spree/admin/payments/source_forms/gateway", payment_method: payment_method, previous_cards: payment_method.reusable_sources(@order) %>
|
2
|
+
|
3
|
+
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
|
4
|
+
<script type="text/javascript">
|
5
|
+
Stripe.setPublishableKey("<%= payment_method.preferred_publishable_key %>");
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script>
|
9
|
+
Spree.stripePaymentMethod = $('#payment_method_' + <%= payment_method.id %>);
|
10
|
+
var mapCC, stripeResponseHandler;
|
11
|
+
mapCC = function(ccType) {
|
12
|
+
if (ccType === 'MasterCard') {
|
13
|
+
return 'mastercard';
|
14
|
+
} else if (ccType === 'Visa') {
|
15
|
+
return 'visa';
|
16
|
+
} else if (ccType === 'American Express') {
|
17
|
+
return 'amex';
|
18
|
+
} else if (ccType === 'Discover') {
|
19
|
+
return 'discover';
|
20
|
+
} else if (ccType === 'Diners Club') {
|
21
|
+
return 'dinersclub';
|
22
|
+
} else if (ccType === 'JCB') {
|
23
|
+
return 'jcb';
|
24
|
+
}
|
25
|
+
};
|
26
|
+
stripeResponseHandler = function(status, response) {
|
27
|
+
var paymentMethodId, token;
|
28
|
+
if (response.error) {
|
29
|
+
$('#stripeError').html(response.error.message);
|
30
|
+
var param_map = {
|
31
|
+
number: '#card_number',
|
32
|
+
exp_month: '#card_expiry',
|
33
|
+
exp_year: '#card_expiry',
|
34
|
+
cvc: '#card_code'
|
35
|
+
}
|
36
|
+
if (response.error.param) {
|
37
|
+
errorField = Spree.stripePaymentMethod.find(param_map[response.error.param])
|
38
|
+
errorField.addClass('error');
|
39
|
+
errorField.parent().addClass('has-error');
|
40
|
+
}
|
41
|
+
return $('#stripeError').show();
|
42
|
+
} else {
|
43
|
+
Spree.stripePaymentMethod.find('#card_number<%= payment_method.id %>, #card_expiry<%= payment_method.id %>, #card_code<%= payment_method.id %>').prop("disabled", true);
|
44
|
+
Spree.stripePaymentMethod.find(".ccType").prop("disabled", false);
|
45
|
+
Spree.stripePaymentMethod.find(".ccType").val(mapCC(response.card.brand));
|
46
|
+
token = response['id'];
|
47
|
+
paymentMethodId = Spree.stripePaymentMethod.prop('id').split("_")[2];
|
48
|
+
Spree.stripePaymentMethod.append("<input type='hidden' class='stripeToken' name='payment_source[" + paymentMethodId + "][gateway_payment_profile_id]' value='" + token + "'/>");
|
49
|
+
Spree.stripePaymentMethod.append("<input type='hidden' class='stripeToken' name='payment_source[" + paymentMethodId + "][last_digits]' value='" + response.card.last4 + "'/>");
|
50
|
+
Spree.stripePaymentMethod.append("<input type='hidden' class='stripeToken' name='payment_source[" + paymentMethodId + "][month]' value='" + response.card.exp_month + "'/>");
|
51
|
+
Spree.stripePaymentMethod.append("<input type='hidden' class='stripeToken' name='payment_source[" + paymentMethodId + "][year]' value='" + response.card.exp_year + "'/>");
|
52
|
+
return Spree.stripePaymentMethod.parents("form").trigger('submit');
|
53
|
+
}
|
54
|
+
};
|
55
|
+
|
56
|
+
Spree.ready(function() {
|
57
|
+
Spree.stripePaymentMethod.prepend("<div id='stripeError' class='errorExplanation alert alert-danger' style='display:none'></div>");
|
58
|
+
return $('#new_payment [data-hook=buttons]').click(function() {
|
59
|
+
var expiration, params;
|
60
|
+
$('#stripeError').hide();
|
61
|
+
Spree.stripePaymentMethod.find('#card_number, #card_expiry, #card_code').removeClass('error');
|
62
|
+
if (Spree.stripePaymentMethod.is(':visible')) {
|
63
|
+
expiration = $('.cardExpiry:visible').payment('cardExpiryVal');
|
64
|
+
params = $.extend({
|
65
|
+
number: $('.cardNumber:visible').val(),
|
66
|
+
cvc: $('.cardCode:visible').val(),
|
67
|
+
exp_month: expiration.month || 0,
|
68
|
+
exp_year: expiration.year || 0
|
69
|
+
}, Spree.stripeAdditionalInfo);
|
70
|
+
Stripe.card.createToken(params, stripeResponseHandler);
|
71
|
+
return false;
|
72
|
+
}
|
73
|
+
});
|
74
|
+
});
|
75
|
+
</script>
|
data/spree_gateway.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.platform = Gem::Platform::RUBY
|
4
4
|
s.name = 'spree_gateway'
|
5
|
-
s.version = '3.
|
5
|
+
s.version = '3.6.0'
|
6
6
|
s.summary = 'Additional Payment Gateways for Spree Commerce'
|
7
7
|
s.description = s.summary
|
8
8
|
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.require_path = 'lib'
|
17
17
|
s.requirements << 'none'
|
18
18
|
|
19
|
-
spree_version = '>= 3.1.0', '<
|
19
|
+
spree_version = '>= 3.1.0', '< 5.0'
|
20
20
|
s.add_dependency 'spree_core', spree_version
|
21
21
|
s.add_dependency 'spree_extension'
|
22
22
|
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.add_development_dependency 'capybara-screenshot'
|
28
28
|
s.add_development_dependency 'coffee-rails'
|
29
29
|
s.add_development_dependency 'database_cleaner'
|
30
|
-
s.add_development_dependency 'factory_bot'
|
30
|
+
s.add_development_dependency 'factory_bot', '~> 4.7'
|
31
31
|
s.add_development_dependency 'ffaker'
|
32
32
|
s.add_development_dependency 'guard-rspec'
|
33
33
|
s.add_development_dependency 'launchy'
|
@@ -40,5 +40,5 @@ Gem::Specification.new do |s|
|
|
40
40
|
s.add_development_dependency 'sass-rails'
|
41
41
|
s.add_development_dependency 'selenium-webdriver'
|
42
42
|
s.add_development_dependency 'simplecov'
|
43
|
-
s.add_development_dependency 'sqlite3'
|
43
|
+
s.add_development_dependency 'sqlite3', '~> 1.4.1'
|
44
44
|
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.
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Spree Commerce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: 3.1.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '5.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: 3.1.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '5.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: spree_extension
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,16 +146,16 @@ dependencies:
|
|
146
146
|
name: factory_bot
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- - "
|
149
|
+
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
151
|
+
version: '4.7'
|
152
152
|
type: :development
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
|
-
- - "
|
156
|
+
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
158
|
+
version: '4.7'
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: ffaker
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -328,16 +328,16 @@ dependencies:
|
|
328
328
|
name: sqlite3
|
329
329
|
requirement: !ruby/object:Gem::Requirement
|
330
330
|
requirements:
|
331
|
-
- - "
|
331
|
+
- - "~>"
|
332
332
|
- !ruby/object:Gem::Version
|
333
|
-
version:
|
333
|
+
version: 1.4.1
|
334
334
|
type: :development
|
335
335
|
prerelease: false
|
336
336
|
version_requirements: !ruby/object:Gem::Requirement
|
337
337
|
requirements:
|
338
|
-
- - "
|
338
|
+
- - "~>"
|
339
339
|
- !ruby/object:Gem::Version
|
340
|
-
version:
|
340
|
+
version: 1.4.1
|
341
341
|
description: Additional Payment Gateways for Spree Commerce
|
342
342
|
email: gems@spreecommerce.com
|
343
343
|
executables: []
|
@@ -353,6 +353,8 @@ files:
|
|
353
353
|
- LICENSE.md
|
354
354
|
- README.md
|
355
355
|
- Rakefile
|
356
|
+
- app/models/spree/apple_pay_order_decorator.rb
|
357
|
+
- app/models/spree/apple_pay_payment_decorator.rb
|
356
358
|
- app/models/spree/billing_integration.rb
|
357
359
|
- app/models/spree/gateway/authorize_net.rb
|
358
360
|
- app/models/spree/gateway/authorize_net_cim.rb
|
@@ -383,8 +385,6 @@ files:
|
|
383
385
|
- app/models/spree/gateway/stripe_gateway.rb
|
384
386
|
- app/models/spree/gateway/usa_epay_transaction.rb
|
385
387
|
- app/models/spree/gateway/worldpay.rb
|
386
|
-
- app/models/spree/order_decorator.rb
|
387
|
-
- app/models/spree/payment_decorator.rb
|
388
388
|
- config/locales/bg.yml
|
389
389
|
- config/locales/de.yml
|
390
390
|
- config/locales/en.yml
|
@@ -397,7 +397,7 @@ files:
|
|
397
397
|
- db/migrate/20131112133401_migrate_stripe_preferences.rb
|
398
398
|
- gemfiles/spree_3_2.gemfile
|
399
399
|
- gemfiles/spree_3_5.gemfile
|
400
|
-
- gemfiles/
|
400
|
+
- gemfiles/spree_3_7.gemfile
|
401
401
|
- gemfiles/spree_master.gemfile
|
402
402
|
- lib/controllers/spree/apple_pay_domain_verification_controller.rb
|
403
403
|
- lib/generators/spree_gateway/install/install_generator.rb
|
@@ -464,8 +464,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
464
464
|
version: '0'
|
465
465
|
requirements:
|
466
466
|
- none
|
467
|
-
|
468
|
-
rubygems_version: 2.7.8
|
467
|
+
rubygems_version: 3.0.2
|
469
468
|
signing_key:
|
470
469
|
specification_version: 4
|
471
470
|
summary: Additional Payment Gateways for Spree Commerce
|
@@ -1,16 +0,0 @@
|
|
1
|
-
Spree::Order.class_eval do
|
2
|
-
def confirmation_required?
|
3
|
-
return false if paid_with_apple_pay?
|
4
|
-
|
5
|
-
Spree::Config[:always_include_confirm_step] ||
|
6
|
-
payments.valid.map(&:payment_method).compact.any?(&:payment_profiles_supported?) ||
|
7
|
-
# Little hacky fix for #4117
|
8
|
-
# If this wasn't here, order would transition to address state on confirm failure
|
9
|
-
# because there would be no valid payments any more.
|
10
|
-
confirm?
|
11
|
-
end
|
12
|
-
|
13
|
-
def paid_with_apple_pay?
|
14
|
-
payments.valid.any?(&:apple_pay?)
|
15
|
-
end
|
16
|
-
end
|