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