spree_mollie_gateway 2.1.1 → 2.1.2

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: 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