solidus_mp_dois 3.0.2 → 3.1.0
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/app/models/solidus_mp_dois/mp_card.rb +15 -10
- data/app/models/solidus_mp_dois/mp_pix.rb +16 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44927e2980c46be7c5cdc7d57931c6e9300d46370f903d265ac906b16c04c094
|
4
|
+
data.tar.gz: 28533f9624bdfc9225f2cc8131445886fa6bbf5865580d4db7f652b8c5ea8fb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7294f4d3c0d25d3c1e82feebe64853a6c520a97c767b7bebd88128aef7be987b4c78594040c16e188d7707e41797776670e91e97fce3e65773804ff10ec0cff0
|
7
|
+
data.tar.gz: 9c3d71ee5ad8ab90e6bd9757402f2d8d96b7803614e6a3360601152cceb3f967baa524c35dd915632a900b9387a54700034182b9bfff4b1552312c7a0cde34b6
|
@@ -42,21 +42,27 @@ module SolidusMpDois
|
|
42
42
|
payment
|
43
43
|
end
|
44
44
|
|
45
|
-
def purchase(
|
46
|
-
|
45
|
+
def purchase(money, source, options = {})
|
46
|
+
mp_payment = source.retrieve_from_api
|
47
47
|
10.times do
|
48
|
-
mp_payment = find_payment(payment.source.external_id)
|
49
48
|
break if ["approved", "rejected"].include? mp_payment.status
|
49
|
+
mp_payment = source.retrieve_from_api
|
50
|
+
end
|
51
|
+
sync(source.payments.sole, mp_payment)
|
52
|
+
if mp_payment.status == "approved"
|
53
|
+
source.update(status: "approved")
|
54
|
+
successful_response("Pagamento aprovado", status: source.status, internal_detail: source.internal_details)
|
55
|
+
else
|
56
|
+
failure_response(internal_error(source.internal_details), status: source.status, internal_detail: source.internal_details)
|
50
57
|
end
|
51
|
-
mp_payment = find_payment(payment.source.external_id)
|
52
|
-
sync(payment, mp_payment)
|
53
58
|
end
|
54
59
|
|
55
60
|
def cancel!(payment)
|
56
61
|
external_id = payment.source&.external_id
|
57
62
|
return unless external_id
|
58
63
|
sleep(1)
|
59
|
-
|
64
|
+
mp_payment = find_payment(external_id)
|
65
|
+
sync(payment, mp_payment)
|
60
66
|
return false unless ["checkout", "pending"].include? payment.state
|
61
67
|
|
62
68
|
mp_payment = mp_client.update_payment(payment_id: external_id, status: "cancelled")
|
@@ -171,6 +177,7 @@ module SolidusMpDois
|
|
171
177
|
last_four_digits: mp_payment.card.last_four_digits
|
172
178
|
)
|
173
179
|
payment.order.update(email: payment.source.email)
|
180
|
+
payment.update(response_code: mp_payment.id)
|
174
181
|
sync(payment, mp_payment)
|
175
182
|
end
|
176
183
|
|
@@ -182,7 +189,7 @@ module SolidusMpDois
|
|
182
189
|
approve_payment(payment, paid_amount)
|
183
190
|
elsif mp_payment.status == "approved"
|
184
191
|
raise "Payment paid with value less than the created - #{mp_payment.id}"
|
185
|
-
elsif
|
192
|
+
elsif mp_payment.status == "pending" && mp_payment.status_detail == "pending_challenge"
|
186
193
|
pend_payment(payment)
|
187
194
|
else
|
188
195
|
invalid_payment(payment)
|
@@ -212,8 +219,7 @@ module SolidusMpDois
|
|
212
219
|
end
|
213
220
|
|
214
221
|
def pend_payment payment
|
215
|
-
payment.
|
216
|
-
payment.source.update!(status: payment.state)
|
222
|
+
payment.source.update!(status: "pending")
|
217
223
|
error_message = "Pagamento aguardando 3ds"
|
218
224
|
handle_payment_error(payment, error_message:)
|
219
225
|
end
|
@@ -274,6 +280,5 @@ module SolidusMpDois
|
|
274
280
|
full_message
|
275
281
|
)
|
276
282
|
end
|
277
|
-
|
278
283
|
end
|
279
284
|
end
|
@@ -49,25 +49,28 @@ module SolidusMpDois
|
|
49
49
|
payment
|
50
50
|
end
|
51
51
|
|
52
|
-
def purchase(
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
def purchase(money, source, options = {})
|
53
|
+
mp_payment = source.retrieve_from_api
|
54
|
+
sync(source.payments.sole, mp_payment)
|
55
|
+
if mp_payment.status == "approved"
|
56
|
+
source.update(status: "approved")
|
57
|
+
successful_response("Pagamento aprovado", status: source.status, internal_detail: source.internal_details)
|
58
|
+
else
|
59
|
+
failure_response(internal_error(source.internal_details), status: source.status, internal_detail: source.internal_details)
|
57
60
|
end
|
58
|
-
mp_payment = find_payment(payment.source.external_id)
|
59
|
-
sync(payment, mp_payment)
|
60
61
|
end
|
61
62
|
|
62
|
-
def
|
63
|
-
|
63
|
+
def pix_paid? payment
|
64
|
+
mp_payment = find_payment(payment.source.external_id)
|
65
|
+
sync(payment, mp_payment)
|
64
66
|
payment.completed?
|
65
67
|
end
|
66
68
|
|
67
69
|
def invalidate_payment payment
|
68
70
|
external_id = payment.source&.external_id
|
69
71
|
return false if external_id.nil?
|
70
|
-
|
72
|
+
mp_payment = find_payment(payment.source.external_id)
|
73
|
+
sync(payment, mp_payment)
|
71
74
|
return false unless ["checkout", "pending"].include? payment.state
|
72
75
|
mp_payment = mp_client.update_payment(payment_id: external_id, status: "cancelled")
|
73
76
|
sync(payment, mp_payment)
|
@@ -108,6 +111,7 @@ module SolidusMpDois
|
|
108
111
|
qr_code_base64: mp_payment.point_of_interaction.transaction_data.qr_code_base64,
|
109
112
|
ticket_url: mp_payment.point_of_interaction.transaction_data.ticket_url
|
110
113
|
)
|
114
|
+
payment.update(response_code: mp_payment.id)
|
111
115
|
sync(payment, mp_payment)
|
112
116
|
end
|
113
117
|
|
@@ -127,10 +131,10 @@ module SolidusMpDois
|
|
127
131
|
end
|
128
132
|
|
129
133
|
def approve_payment payment
|
130
|
-
payment.complete
|
134
|
+
payment.complete
|
131
135
|
payment_source = payment.source
|
132
136
|
payment_source.update!(status: payment.state)
|
133
|
-
response = successful_response("Pagamento aprovado", status: payment_source.status,
|
137
|
+
response = successful_response("Pagamento aprovado", status: payment_source.status, internal_detail: payment_source.internal_details)
|
134
138
|
payment.log_entries.create(parsed_payment_response_details_with_fallback: response)
|
135
139
|
end
|
136
140
|
|
@@ -149,7 +153,6 @@ module SolidusMpDois
|
|
149
153
|
end
|
150
154
|
|
151
155
|
def pend_payment payment
|
152
|
-
payment.pend! unless payment.pending?
|
153
156
|
payment.source.update!(status: payment.state)
|
154
157
|
error_message = "Aguardando pagamento"
|
155
158
|
handle_payment_error(payment, error_message:)
|