spree_mollie_gateway 3.0.4 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c069e4bd370bef6757ea00e6831b4a1505501547407f0ecb9367952ea9b8095
4
- data.tar.gz: 1694c20563b96d5825ed22e1e54f6528a8572fce50ed53eb1ab8b8f86ca7c9b4
3
+ metadata.gz: b16e49392bd3a160b2d95e61bea9144eb0a0dbe6ae90fd1c0538a5c0044fbb2a
4
+ data.tar.gz: 06a98f8d219b1ac08234e7a47f2b573fd6a36de87007014d6f597532e3aabfd5
5
5
  SHA512:
6
- metadata.gz: 4e14424f2951612a4397f81d8ad029741b4923eee1295e50c4d169cb71cdf5cc43442609eea6680bc4a6c5dab724c672a97ce3530f170b71a71e624fbc00cb6c
7
- data.tar.gz: 277ef361f5467f758e8585ea1f8ebf79d07200c6eec038986bd22db14a9279db4697a6ccb3106a91677dc371ca7f8886b4cbbf86a567de1b60ad786d64441804
6
+ metadata.gz: b2966a823fec59efdaa8286329e4df43b25a414e51f7b8b38098b4402880c9fd77088056924e1f668e722f7f335ecf06abd32d9e38d8c6f2859a0c523df156fd
7
+ data.tar.gz: 1b946e26dc6053ac1a8a9662fbfe3cdcc16f189e90fa34f1fb0c7c124400ec7912e052dd8b3696d0d6760892a7867a01a14172d7697e8e1cb82879d169b527ad
@@ -1,10 +1,27 @@
1
1
  sudo: false
2
2
  dist: trusty
3
-
4
3
  language: ruby
4
+ cache: bundler
5
5
 
6
6
  rvm:
7
- - 2.5.0
7
+ - 2.3.8
8
+ - 2.4.4
9
+ - 2.5.1
10
+
11
+ gemfile:
12
+ - gemfiles/spree_3_5.gemfile
13
+ - gemfiles/spree_3_6.gemfile
14
+ - gemfiles/spree_3_7.gemfile
15
+
16
+ # Use legacy bundler (1.x) when using Ruby 2.3.x
17
+ before_install:
18
+ - if [ "USE_LEGACY_BUNDLER" != "false" ]; then gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true; fi
19
+ - if [ "USE_LEGACY_BUNDLER" != "false" ]; then gem install bundler -v '< 2'; fi
20
+
21
+ # Allow failing tests against Spree 3.7.x for now
22
+ matrix:
23
+ allow_failures:
24
+ - gemfile: gemfiles/spree_3_7.gemfile
8
25
 
9
26
  script:
10
27
  - bundle exec rake test_app
@@ -16,6 +33,8 @@ deploy:
16
33
  on:
17
34
  tags: true
18
35
  repo: mollie/spree-mollie-gateway
36
+ rvm: 2.5.1
37
+ gemfile: gemfiles/spree_3_6.gemfile
19
38
  api_key:
20
39
  secure: N3+LevY4HZd57cmwfIy6a+E/wX/jCD9Pnqq41/kr6I6iLIMz5xWoU0iDEZEXGhTWmId5O0zxTl2o3w4PiVkH4Onmufv3oLOONexrJeIF5cx/TdWpY36RycA2euVvOGVYMNWGIhslCern4zc8pOTwGpmm8DD8qPTQAV1JPXzbPEiXkxJX0KYm1Vb6v4GTW0q2ghvqY3fzgNaJKVQoEXVrOaXMd/dJDQRjBzbzfF8V2Z779kfOfV5PV/jqheq4bXQYMDBKQUHuTvRMNx0tF4mGgHANp1AXMS4GVbYNyAQNmyd3QnkJHSdKthTTe6nwQoH7oloY4Dbd89fG7Yx7I/kt2Aip3pHMts+4/oVN6QPqe0xe11TeC6yRhi/357I+DCzIk1aRGJ9lkpGQnM+oB54N0yw+htvsd7WE2ac57ixVG0ni39IQciQJ4p3aJzho8z3ui3CNj0p3Y4B4moEIJ3JV3Gg+TEXbzViu9G8j7YIlqw0OpGaaczavfuRSTYkE0QKA4BSqGOG+qsY8ArdvW3KgVohSxHzFR6ubhgT81JvzF6hpS7h7PalOUKA5cr7ha/dB0qL1PYNU6xHQFWiM/ILW5eF6ttQDgzA294U8FoRykG6T9swdVZA5Vd6DZafcu6ofqgyRFGQXzlhq/Hdkocb2W60l5BR4BSq4uoIvmMHXd+8=
21
40
 
data/Appraisals CHANGED
@@ -1,11 +1,13 @@
1
- appraise 'spree-3-2' do
2
- gem 'spree', '~> 3.2.0'
3
- end
4
-
5
1
  appraise 'spree-3-5' do
2
+ ENV['USE_LEGACY_BUNDLER'] = 'true'
3
+
6
4
  gem 'spree', '~> 3.5.0'
7
5
  end
8
6
 
9
7
  appraise 'spree-3-6' do
10
- gem 'spree', '~> 3.6.1'
8
+ gem 'spree', '~> 3.6.5'
11
9
  end
10
+
11
+ appraise 'spree-3-7' do
12
+ gem 'spree', '~> 3.7.2'
13
+ end
@@ -1,7 +1,5 @@
1
1
  # Contributing
2
2
 
3
- In the spirit of [free software][1], **everyone** is encouraged to help improve this project.
4
-
5
3
  Here are some ways *you* can contribute:
6
4
 
7
5
  * by using prerelease versions
@@ -25,4 +23,4 @@ Starting point:
25
23
  * Submit your pull request
26
24
 
27
25
  [1]: http://www.fsf.org/licensing/essays/free-sw.html
28
- [2]: https://github.com/mollie/spree-mollie-gateway/issues
26
+ [2]: https://github.com/mollie/spree-mollie-gateway/issues
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
- gem 'mollie-api-ruby', '~> 4.1.3'
5
+ gem 'mollie-api-ruby', '~> 4.2.0'
6
6
 
7
7
  # Specify your gem's dependencies in spree_mollie_gateway.gemspec
8
8
  gemspec
data/README.md CHANGED
@@ -37,7 +37,7 @@ Please go to the [signup page](https://www.mollie.com/signup) to create a new Mo
37
37
  * Allow returning customers to <a href="https://www.mollie.com/en/features/checkout" title="One-click payments">use their previous payment details</a> and pay instantly.
38
38
 
39
39
  ## Requirements
40
- - Spree 3.3.x or newer.
40
+ - Spree 3.5 or newer.
41
41
 
42
42
  ## Installation
43
43
 
@@ -97,7 +97,6 @@ Contact: [www.mollie.com](https://www.mollie.com) — info@mollie.com — +31 20
97
97
  + [More information about SOFORT Banking via Mollie](https://www.mollie.com/en/payments/sofort/)
98
98
  + [More information about SEPA Bank transfer via Mollie](https://www.mollie.com/en/payments/bank-transfer/)
99
99
  + [More information about SEPA Direct debit via Mollie](https://www.mollie.com/en/payments/direct-debit/)
100
- + [More information about Bitcoin via Mollie](https://www.mollie.com/en/payments/bitcoin/)
101
100
  + [More information about PayPal via Mollie](https://www.mollie.com/en/payments/paypal/)
102
101
  + [More information about KBC/CBC Payment Button via Mollie](https://www.mollie.com/en/payments/kbc-cbc/)
103
102
  + [More information about Belfius Direct Net via Mollie](https://www.mollie.com/en/payments/belfius)
@@ -97,7 +97,7 @@ module Spree
97
97
 
98
98
  def serialize_address(address)
99
99
  {
100
- streetAndNumber: address[:address1],
100
+ streetAndNumber: [address[:address1], address[:address2]].join(" "),
101
101
  city: address[:city],
102
102
  postalCode: address[:zip],
103
103
  country: address[:country],
@@ -28,8 +28,12 @@ module Spree
28
28
  @spree_payment.source.update(status: @spree_payment.state)
29
29
  else
30
30
  MollieLogger.debug("Unhandled Mollie payment state received: #{@mollie_order.status}. Therefore we did not update the payment state.")
31
- @spree_payment.order.update_attributes(state: 'payment', completed_at: nil)
31
+ unless @spree_payment.order.paid_or_authorized?
32
+ @spree_payment.order.update_attributes(state: 'payment', completed_at: nil)
33
+ end
32
34
  end
35
+
36
+ @spree_payment.order.update_with_updater!
33
37
  end
34
38
 
35
39
  private
@@ -48,7 +52,7 @@ module Spree
48
52
 
49
53
  def transition_to_failed!
50
54
  @spree_payment.failure! unless @spree_payment.failed?
51
- @spree_payment.order.update_attributes(state: 'payment', completed_at: nil)
55
+ @spree_payment.order.update_attributes(state: 'payment', completed_at: nil) unless @spree_payment.order.paid_or_authorized?
52
56
  MollieLogger.debug("Mollie order is #{@mollie_order.status} and will be marked as failed")
53
57
  end
54
58
 
@@ -27,8 +27,6 @@ module Spree
27
27
  'SOFORT Banking'
28
28
  when ::Mollie::Method::BANKTRANSFER then
29
29
  'Bank transfer'
30
- when ::Mollie::Method::BITCOIN then
31
- 'Bitcoin'
32
30
  when ::Mollie::Method::PAYPAL then
33
31
  'PayPal'
34
32
  when ::Mollie::Method::KBC then
@@ -51,8 +49,11 @@ module Spree
51
49
  'Klarna Slice it'
52
50
  when ::Mollie::Method::KLARNAPAYLATER then
53
51
  'Klarna Pay Later'
52
+ # As of May 1st 2019, Bitcoin is no longer supported.
53
+ when 'bitcoin' then
54
+ 'Bitcoin'
54
55
  else
55
- 'Mollie'
56
+ 'Mollie (Unknown method)'
56
57
  end
57
58
  end
58
59
 
@@ -26,10 +26,26 @@ Spree::Order.class_eval do
26
26
  consider_risk
27
27
  end
28
28
 
29
+ def is_paid_with_mollie?
30
+ payments.collect(&:payment_method).any? {|pm| pm.type == 'Spree::Gateway::MollieGateway'}
31
+ end
32
+
33
+ def send_confirmation_email!
34
+ if !confirmation_delivered? && (paid? || authorized?)
35
+ deliver_order_confirmation_email
36
+ end
37
+ end
38
+
29
39
  def mollie_order
30
40
  Spree::Mollie::Order.new(self)
31
41
  end
32
42
 
43
+ def successful_payment
44
+ paid? || payments.any? {|p| p.after_pay_method? && p.authorized?}
45
+ end
46
+
47
+ alias paid_or_authorized? successful_payment
48
+
33
49
  def authorized?
34
50
  payments.last.authorized?
35
51
  end
@@ -285,21 +285,6 @@ Content-Type: application/json; charset=utf-8
285
285
  }
286
286
  }
287
287
  },
288
- {
289
- "resource": "method",
290
- "id": "bitcoin",
291
- "description": "Bitcoin",
292
- "image": {
293
- "size1x": "https://www.mollie.com/images/payscreen/methods/bitcoin.png",
294
- "size2x": "https://www.mollie.com/images/payscreen/methods/bitcoin%402x.png"
295
- },
296
- "_links": {
297
- "self": {
298
- "href": "https://api.mollie.com/v2/methods/bitcoin",
299
- "type": "application/hal+json"
300
- }
301
- }
302
- }
303
288
  ]
304
289
 
305
290
  ```
@@ -1,8 +1,8 @@
1
1
  # This file was generated by Appraisal
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
- gem 'mollie-api-ruby', '~> 4.1.1'
6
- gem 'spree', '~> 3.5.0'
5
+ gem "mollie-api-ruby", "~> 4.2.0"
6
+ gem "spree", "~> 3.5.0"
7
7
 
8
- gemspec path: '../'
8
+ gemspec path: "../"
@@ -1,8 +1,8 @@
1
1
  # This file was generated by Appraisal
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
- gem 'mollie-api-ruby', '~> 4.1.1'
6
- gem 'spree', '~> 3.6.1'
5
+ gem "mollie-api-ruby", "~> 4.2.0"
6
+ gem "spree", "~> 3.6.5"
7
7
 
8
- gemspec path: '../'
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "mollie-api-ruby", "~> 4.2.0"
6
+ gem "spree", "~> 3.7.2"
7
+
8
+ gemspec path: "../"
@@ -1,3 +1,3 @@
1
1
  module SpreeMollieGateway
2
- VERSION = '3.0.4'.freeze
2
+ VERSION = '3.1.0'.freeze
3
3
  end
@@ -3,16 +3,16 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'spree_mollie_gateway/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'spree_mollie_gateway'
7
- spec.version = SpreeMollieGateway::VERSION
8
- spec.authors = ['Vernon de Goede']
9
- spec.email = ['vernon@mollie.com']
6
+ spec.name = 'spree_mollie_gateway'
7
+ spec.version = SpreeMollieGateway::VERSION
8
+ spec.authors = ['Vernon de Goede']
9
+ spec.email = ['vernon@mollie.com']
10
10
 
11
- spec.summary = 'Mollie payments for Spree Commerce.'
12
- spec.description = 'Mollie payment gateway for Spree Commerce.'
13
- spec.homepage = 'https://www.mollie.com'
11
+ spec.summary = 'Mollie payments for Spree Commerce.'
12
+ spec.description = 'Mollie payment gateway for Spree Commerce.'
13
+ spec.homepage = 'https://www.mollie.com'
14
14
 
15
- spec.licenses = ['BSD']
15
+ spec.licenses = ['BSD']
16
16
 
17
17
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
18
  # to allow pushing to a single host or delete this section to allow pushing to any host.
@@ -26,15 +26,16 @@ Gem::Specification.new do |spec|
26
26
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
27
  f.match(%r{^(test|spec|features)/})
28
28
  end
29
- spec.bindir = 'exe'
30
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
+ spec.bindir = 'exe'
30
+ spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f)}
31
31
  spec.require_paths = ['lib']
32
+ spec.required_ruby_version = '>= 2.3.8'
32
33
 
33
- spree_version = '>= 3.1.0'
34
+ spree_version = '>= 3.5.0', '< 5.0'
34
35
  spec.add_dependency 'spree_backend', spree_version
35
36
  spec.add_dependency 'spree_core', spree_version
36
- spec.add_dependency 'spree_extension'
37
37
  spec.add_dependency 'spree_frontend', spree_version
38
+ spec.add_dependency 'spree_extension'
38
39
 
39
40
  spec.add_development_dependency 'appraisal'
40
41
  spec.add_development_dependency 'bundler', '~> 1.16'
@@ -52,5 +53,5 @@ Gem::Specification.new do |spec|
52
53
  spec.add_development_dependency 'simplecov'
53
54
  spec.add_development_dependency 'sqlite3'
54
55
 
55
- spec.add_runtime_dependency 'mollie-api-ruby', '~> 4.1.3'
56
+ spec.add_runtime_dependency 'mollie-api-ruby', '~> 4.2.0'
56
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_mollie_gateway
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.4
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vernon de Goede
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-07 00:00:00.000000000 Z
11
+ date: 2019-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_backend
@@ -16,56 +16,74 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.0
19
+ version: 3.5.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: 3.1.0
29
+ version: 3.5.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: spree_core
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: 3.1.0
39
+ version: 3.5.0
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '5.0'
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
47
  - - ">="
39
48
  - !ruby/object:Gem::Version
40
- version: 3.1.0
49
+ version: 3.5.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '5.0'
41
53
  - !ruby/object:Gem::Dependency
42
- name: spree_extension
54
+ name: spree_frontend
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
57
  - - ">="
46
58
  - !ruby/object:Gem::Version
47
- version: '0'
59
+ version: 3.5.0
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '5.0'
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
52
67
  - - ">="
53
68
  - !ruby/object:Gem::Version
54
- version: '0'
69
+ version: 3.5.0
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '5.0'
55
73
  - !ruby/object:Gem::Dependency
56
- name: spree_frontend
74
+ name: spree_extension
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
59
77
  - - ">="
60
78
  - !ruby/object:Gem::Version
61
- version: 3.1.0
79
+ version: '0'
62
80
  type: :runtime
63
81
  prerelease: false
64
82
  version_requirements: !ruby/object:Gem::Requirement
65
83
  requirements:
66
84
  - - ">="
67
85
  - !ruby/object:Gem::Version
68
- version: 3.1.0
86
+ version: '0'
69
87
  - !ruby/object:Gem::Dependency
70
88
  name: appraisal
71
89
  requirement: !ruby/object:Gem::Requirement
@@ -282,14 +300,14 @@ dependencies:
282
300
  requirements:
283
301
  - - "~>"
284
302
  - !ruby/object:Gem::Version
285
- version: 4.1.3
303
+ version: 4.2.0
286
304
  type: :runtime
287
305
  prerelease: false
288
306
  version_requirements: !ruby/object:Gem::Requirement
289
307
  requirements:
290
308
  - - "~>"
291
309
  - !ruby/object:Gem::Version
292
- version: 4.1.3
310
+ version: 4.2.0
293
311
  description: Mollie payment gateway for Spree Commerce.
294
312
  email:
295
313
  - vernon@mollie.com
@@ -346,14 +364,9 @@ files:
346
364
  - docs/api/readme.md
347
365
  - docs/debugging.md
348
366
  - docs/migration_v1_x.md
349
- - gemfiles/spree_3_1.gemfile
350
- - gemfiles/spree_3_1.gemfile.lock
351
- - gemfiles/spree_3_2.gemfile
352
- - gemfiles/spree_3_2.gemfile.lock
353
367
  - gemfiles/spree_3_5.gemfile
354
- - gemfiles/spree_3_5.gemfile.lock
355
368
  - gemfiles/spree_3_6.gemfile
356
- - gemfiles/spree_3_6.gemfile.lock
369
+ - gemfiles/spree_3_7.gemfile
357
370
  - lib/generators/spree_mollie_gateway/install/install_generator.rb
358
371
  - lib/spree_mollie_gateway.rb
359
372
  - lib/spree_mollie_gateway/engine.rb
@@ -373,14 +386,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
373
386
  requirements:
374
387
  - - ">="
375
388
  - !ruby/object:Gem::Version
376
- version: '0'
389
+ version: 2.3.8
377
390
  required_rubygems_version: !ruby/object:Gem::Requirement
378
391
  requirements:
379
392
  - - ">="
380
393
  - !ruby/object:Gem::Version
381
394
  version: '0'
382
395
  requirements: []
383
- rubygems_version: 3.0.2
396
+ rubygems_version: 3.0.3
384
397
  signing_key:
385
398
  specification_version: 4
386
399
  summary: Mollie payments for Spree Commerce.