spree_mollie_gateway 2.1.2 → 2.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/app/models/spree/gateway/mollie_gateway.rb +35 -16
- data/lib/spree_mollie_gateway/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32d7000b5df3e9c1692a377c76a02eb027f5a23c327caab3501ed33738e53b41
|
4
|
+
data.tar.gz: 264ac25b2cabd240940ef786fdf1ce073ba5123f474a404317c85d5e34ec3413
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b05f422beb1c93fd37666ee8623da192ad579ea47a4c4d4d17ab14a7c8e732f9732b05e469c0ce777eabfef681558aff500b8f1fb980fc7070492268a16fad6d
|
7
|
+
data.tar.gz: feafb23e5e1071e06c5136685192f979da76749b5e780dfd3388f099188867cd3f186d06950a2291cb4c53a94d90c72897d9c36fcecc4be154096fa805613fbf
|
data/.travis.yml
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
|
@@ -168,15 +168,22 @@ module Spree
|
|
168
168
|
end
|
169
169
|
|
170
170
|
def cancel(transaction_id)
|
171
|
+
MollieLogger.debug("Starting cancelation for #{transaction_id}")
|
172
|
+
|
171
173
|
begin
|
172
174
|
mollie_payment = ::Mollie::Payment.get(
|
173
175
|
transaction_id,
|
174
176
|
api_key: get_preference(:api_key)
|
175
177
|
)
|
176
|
-
|
177
|
-
|
178
|
+
if mollie_payment.cancelable?
|
179
|
+
mollie_payment.delete(transaction_id)
|
180
|
+
ActiveMerchant::Billing::Response.new(true, 'Mollie payment has been cancelled')
|
181
|
+
else
|
182
|
+
MollieLogger.debug("Molie payment #{transaction_id} is not cancelable. Skipping any further updates.")
|
183
|
+
ActiveMerchant::Billing::Response.new(true, 'Mollie payment has not been cancelled because it is not cancelable')
|
184
|
+
end
|
178
185
|
rescue Mollie::Exception => e
|
179
|
-
MollieLogger.debug("Payment could not be canceled
|
186
|
+
MollieLogger.debug("Payment #{transaction_id} could not be canceled: #{e.message}")
|
180
187
|
ActiveMerchant::Billing::Response.new(false, 'Payment cancellation unsuccessful')
|
181
188
|
end
|
182
189
|
end
|
@@ -215,23 +222,35 @@ module Spree
|
|
215
222
|
api_key: get_preference(:api_key)
|
216
223
|
)
|
217
224
|
|
218
|
-
MollieLogger.debug("
|
219
|
-
|
225
|
+
MollieLogger.debug("Checking Mollie payment status. Mollie payment has status #{mollie_payment.status}")
|
220
226
|
update_by_mollie_status!(mollie_payment, payment)
|
221
227
|
end
|
222
228
|
|
223
229
|
def update_by_mollie_status!(mollie_payment, payment)
|
224
230
|
case mollie_payment.status
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
MollieLogger.debug('
|
234
|
-
|
231
|
+
when 'paid'
|
232
|
+
# If Mollie payment is already paid and refunded amount is more than 0, don't update payment
|
233
|
+
if mollie_payment.paid? && mollie_payment.amount_refunded.value > 0
|
234
|
+
MollieLogger.debug('Payment is refunded. Not updating the payment status within Spree.')
|
235
|
+
return
|
236
|
+
end
|
237
|
+
|
238
|
+
if payment.completed?
|
239
|
+
MollieLogger.debug('Payment is already completed. Not updating the payment status within Spree.')
|
240
|
+
return
|
241
|
+
end
|
242
|
+
|
243
|
+
# If order is already paid for, don't mark it as complete again.
|
244
|
+
payment.complete!
|
245
|
+
payment.order.finalize!
|
246
|
+
payment.order.update_attributes(:state => 'complete', :completed_at => Time.now)
|
247
|
+
MollieLogger.debug('Payment is paid and will transition to completed. Order will be finalized.')
|
248
|
+
when 'canceled', 'expired', 'failed'
|
249
|
+
payment.failure! unless payment.failed?
|
250
|
+
payment.order.update_attributes(:state => 'payment', :completed_at => nil)
|
251
|
+
else
|
252
|
+
MollieLogger.debug('Unhandled Mollie payment state received. Therefore we did not update the payment state.')
|
253
|
+
payment.order.update_attributes(state: 'payment', completed_at: nil)
|
235
254
|
end
|
236
255
|
|
237
256
|
payment.source.update(status: payment.state)
|
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: 2.1.
|
4
|
+
version: 2.1.3
|
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-10-
|
11
|
+
date: 2018-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|