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 +4 -4
- data/Gemfile +1 -1
- data/app/models/spree/gateway/mollie_gateway.rb +25 -11
- data/app/models/spree/payment/processing_decorator.rb +18 -0
- data/lib/spree_mollie_gateway/version.rb +1 -1
- data/spree_mollie_gateway.gemspec +2 -2
- metadata +10 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f6749beb7795bf09ac3127a8cb795b6a614441ca70713d4ff253df8907c5a46
|
4
|
+
data.tar.gz: e104df4591e9cdd0f89e34b8922c2f1c49aafa694a7aa6564b5da3dad0764fbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71ddd793c5e0391bfce434d18b6bb2f91cbd56daa9aa33882d9641b344a527096f8fa82ef578643c91f899cd05a9fd76bbc15bb0cb27708fe0211c0e6221554c
|
7
|
+
data.tar.gz: 35ba15747c8c489ec7a7452d08b2343c790a4a4cc171a1ce5481f34be6f57b0584367cbcc39bbeaa349da4da27ddd40e5cab50bac523eb8d3dfc2d422acb24e0
|
data/Gemfile
CHANGED
@@ -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
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
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!
|
@@ -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 = '
|
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.
|
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.
|
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-
|
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.
|
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.
|
264
|
+
version: 4.1.1
|
283
265
|
description: Mollie payment gateway for Spree Commerce.
|
284
266
|
email:
|
285
267
|
- vernon@mollie.com
|