spree_mollie_gateway 2.1.2 → 2.1.3
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/.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
|