spree_mollie_gateway 2.1.1 → 2.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8ef5b2f0a14dc6aba9f5efb47027ebb3ef06713139df9fff7ba31023a35b80d
4
- data.tar.gz: 24fc965a4f1e2d7d5436cb7630c7848dc6e36f75ad49f523c76e9afa3da05d5d
3
+ metadata.gz: 9f6749beb7795bf09ac3127a8cb795b6a614441ca70713d4ff253df8907c5a46
4
+ data.tar.gz: e104df4591e9cdd0f89e34b8922c2f1c49aafa694a7aa6564b5da3dad0764fbe
5
5
  SHA512:
6
- metadata.gz: 228957c8173ada1278620058d29a909bca67056fa3b60b67e1e6ebc9a48cf6089f11e619f05f5bb1452e9ecef262e89f909f81e246412ccf02edff3ad8ce8edb
7
- data.tar.gz: f9eb642b1d9325db6230d06be1b77bd25706068c001ef4559fa281f147f40d23a586cb3f0a4323420ccc44a901d520672bd4bced95cf40de38e86091d9ae9d2d
6
+ metadata.gz: 71ddd793c5e0391bfce434d18b6bb2f91cbd56daa9aa33882d9641b344a527096f8fa82ef578643c91f899cd05a9fd76bbc15bb0cb27708fe0211c0e6221554c
7
+ data.tar.gz: 35ba15747c8c489ec7a7452d08b2343c790a4a4cc171a1ce5481f34be6f57b0584367cbcc39bbeaa349da4da27ddd40e5cab50bac523eb8d3dfc2d422acb24e0
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.0.0'
5
+ gem 'mollie-api-ruby', '~> 4.1.1'
6
6
 
7
7
  # Specify your gem's dependencies in spree_mollie_gateway.gemspec
8
8
  gemspec
@@ -75,7 +75,7 @@ module Spree
75
75
  customer = Mollie::Customer.create(
76
76
  email: user.email,
77
77
  api_key: get_preference(:api_key),
78
- )
78
+ )
79
79
  MollieLogger.debug("Created a Mollie Customer for Spree user with ID #{customer.id}")
80
80
  customer
81
81
  end
@@ -167,6 +167,20 @@ module Spree
167
167
  end
168
168
  end
169
169
 
170
+ def cancel(transaction_id)
171
+ begin
172
+ mollie_payment = ::Mollie::Payment.get(
173
+ transaction_id,
174
+ api_key: get_preference(:api_key)
175
+ )
176
+ mollie_payment.delete(transaction_id) if mollie_payment.cancelable?
177
+ ActiveMerchant::Billing::Response.new(true, 'Payment canceled successful')
178
+ rescue Mollie::Exception => e
179
+ MollieLogger.debug("Payment could not be canceled #{transaction_id}: #{e.message}")
180
+ ActiveMerchant::Billing::Response.new(false, 'Payment cancellation unsuccessful')
181
+ end
182
+ end
183
+
170
184
  def available_methods(params = nil)
171
185
  method_params = {
172
186
  api_key: get_preference(:api_key),
@@ -208,16 +222,16 @@ module Spree
208
222
 
209
223
  def update_by_mollie_status!(mollie_payment, payment)
210
224
  case mollie_payment.status
211
- when 'paid'
212
- payment.complete! unless payment.completed?
213
- payment.order.finalize!
214
- payment.order.update_attributes(:state => 'complete', :completed_at => Time.now)
215
- when 'canceled', 'expired', 'failed'
216
- payment.failure! unless payment.failed?
217
- payment.order.update_attributes(:state => 'payment', :completed_at => nil)
218
- else
219
- MollieLogger.debug('Unhandled Mollie payment state received. Therefore we did not update the payment state.')
220
- payment.order.update_attributes(state: 'payment', completed_at: nil)
225
+ when 'paid'
226
+ payment.complete! unless payment.completed?
227
+ payment.order.finalize!
228
+ payment.order.update_attributes(:state => 'complete', :completed_at => Time.now)
229
+ when 'canceled', 'expired', 'failed'
230
+ payment.failure! unless payment.failed?
231
+ payment.order.update_attributes(:state => 'payment', :completed_at => nil)
232
+ else
233
+ MollieLogger.debug('Unhandled Mollie payment state received. Therefore we did not update the payment state.')
234
+ payment.order.update_attributes(state: 'payment', completed_at: nil)
221
235
  end
222
236
 
223
237
  payment.source.update(status: payment.state)
@@ -7,8 +7,26 @@ Spree::Payment::Processing.module_eval do
7
7
  end
8
8
  end
9
9
 
10
+ def cancel!
11
+ if payment_method.is_a? Spree::Gateway::MollieGateway
12
+ cancel_with_mollie
13
+ else
14
+ cancel_with_spree
15
+ end
16
+ end
17
+
10
18
  private
11
19
 
20
+ def cancel_with_spree
21
+ response = payment_method.cancel(response_code)
22
+ handle_response(response, :void, :failure)
23
+ end
24
+
25
+ def cancel_with_mollie
26
+ response = payment_method.cancel(transaction_id)
27
+ handle_response(response, :void, :failure)
28
+ end
29
+
12
30
  def process_with_spree
13
31
  if payment_method && payment_method.auto_capture?
14
32
  purchase!
@@ -1,3 +1,3 @@
1
1
  module SpreeMollieGateway
2
- VERSION = '2.1.1'
2
+ VERSION = '2.1.2'
3
3
  end
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ['lib']
32
32
 
33
- spree_version = '>= 3.6.3', '< 4.0'
33
+ spree_version = '~> 3.6.3'
34
34
  spec.add_dependency 'spree_core', spree_version
35
35
  spec.add_dependency 'spree_backend', spree_version
36
36
  spec.add_dependency 'spree_frontend', spree_version
@@ -50,5 +50,5 @@ Gem::Specification.new do |spec|
50
50
  spec.add_development_dependency 'coffee-rails'
51
51
  spec.add_development_dependency 'database_cleaner'
52
52
 
53
- spec.add_runtime_dependency 'mollie-api-ruby', '~> 4.0.0'
53
+ spec.add_runtime_dependency 'mollie-api-ruby', '~> 4.1.1'
54
54
  end
metadata CHANGED
@@ -1,75 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_mollie_gateway
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
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: 2018-09-27 00:00:00.000000000 Z
11
+ date: 2018-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.6.3
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '4.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
26
  version: 3.6.3
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '4.0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: spree_backend
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
31
+ - - "~>"
38
32
  - !ruby/object:Gem::Version
39
33
  version: 3.6.3
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '4.0'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
- - - ">="
38
+ - - "~>"
48
39
  - !ruby/object:Gem::Version
49
40
  version: 3.6.3
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '4.0'
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: spree_frontend
55
43
  requirement: !ruby/object:Gem::Requirement
56
44
  requirements:
57
- - - ">="
45
+ - - "~>"
58
46
  - !ruby/object:Gem::Version
59
47
  version: 3.6.3
60
- - - "<"
61
- - !ruby/object:Gem::Version
62
- version: '4.0'
63
48
  type: :runtime
64
49
  prerelease: false
65
50
  version_requirements: !ruby/object:Gem::Requirement
66
51
  requirements:
67
- - - ">="
52
+ - - "~>"
68
53
  - !ruby/object:Gem::Version
69
54
  version: 3.6.3
70
- - - "<"
71
- - !ruby/object:Gem::Version
72
- version: '4.0'
73
55
  - !ruby/object:Gem::Dependency
74
56
  name: spree_extension
75
57
  requirement: !ruby/object:Gem::Requirement
@@ -272,14 +254,14 @@ dependencies:
272
254
  requirements:
273
255
  - - "~>"
274
256
  - !ruby/object:Gem::Version
275
- version: 4.0.0
257
+ version: 4.1.1
276
258
  type: :runtime
277
259
  prerelease: false
278
260
  version_requirements: !ruby/object:Gem::Requirement
279
261
  requirements:
280
262
  - - "~>"
281
263
  - !ruby/object:Gem::Version
282
- version: 4.0.0
264
+ version: 4.1.1
283
265
  description: Mollie payment gateway for Spree Commerce.
284
266
  email:
285
267
  - vernon@mollie.com