spree_zaez_cielo 3.0.7 → 3.0.8
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/spree/payment_method/cielo_credit.rb +24 -0
- data/app/models/spree/payment_method/cielo_debt.rb +24 -0
- data/config/locales/en.yml +2 -0
- data/config/locales/pt-br.yml +2 -0
- data/spec/models/spree/payment_method/cielo_credit_spec.rb +46 -0
- data/spec/models/spree/payment_method/cielo_debt_spec.rb +46 -0
- data/spree_zaez_cielo.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4c956cee52731767f017f1d52a98826568ab6515
|
|
4
|
+
data.tar.gz: 899b706f8c760e7bb31c4aa068ee15b649473fb5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 884c097c616f8c09cbda89f73b01cd8eb13cf44b887c9c8751f40348f286e2360716e25ea8d1158557abfa67349cd9fd6683090080c41e1ed98bfb23dc197855
|
|
7
|
+
data.tar.gz: 571032b330e6072ca0d0763b924a751313676ea25399290d4672fdcbe24681ff53f24bb5e76576e519d03f0991be60307296051f3e4f61119339a7a29190ce22
|
|
@@ -137,6 +137,30 @@ module Spree
|
|
|
137
137
|
verify_error 'void', ret
|
|
138
138
|
end
|
|
139
139
|
|
|
140
|
+
# Cancel the payment
|
|
141
|
+
#
|
|
142
|
+
# @author Isabella Santos
|
|
143
|
+
#
|
|
144
|
+
# @return [ActiveMerchant::Billing::Response]
|
|
145
|
+
#
|
|
146
|
+
def cancel(response_code)
|
|
147
|
+
transaction = Cielo::Transaction.new
|
|
148
|
+
response = transaction.verify!(response_code)
|
|
149
|
+
|
|
150
|
+
if response[:transacao][:status] == '4' or response[:transacao][:status] == '6'
|
|
151
|
+
response_cancel = transaction.cancel!(response_code)
|
|
152
|
+
if response_cancel[:transacao].present?
|
|
153
|
+
ActiveMerchant::Billing::Response.new(true, Spree.t('cielo.messages.cancel_success'), {}, authorization: response_cancel[:transacao][:tid])
|
|
154
|
+
else
|
|
155
|
+
verify_error 'cancel', response_cancel
|
|
156
|
+
end
|
|
157
|
+
else
|
|
158
|
+
ActiveMerchant::Billing::Response.new(true, Spree.t('cielo.messages.cancel_success'), {}, authorization: response[:transacao][:tid])
|
|
159
|
+
end
|
|
160
|
+
rescue
|
|
161
|
+
verify_error 'cancel', response
|
|
162
|
+
end
|
|
163
|
+
|
|
140
164
|
private
|
|
141
165
|
|
|
142
166
|
# Returns the credit type formatted
|
|
@@ -155,6 +155,30 @@ module Spree
|
|
|
155
155
|
verify_error 'void', ret
|
|
156
156
|
end
|
|
157
157
|
|
|
158
|
+
# Cancel the payment
|
|
159
|
+
#
|
|
160
|
+
# @author Isabella Santos
|
|
161
|
+
#
|
|
162
|
+
# @return [ActiveMerchant::Billing::Response]
|
|
163
|
+
#
|
|
164
|
+
def cancel(response_code)
|
|
165
|
+
transaction = Cielo::Transaction.new
|
|
166
|
+
response = transaction.verify!(response_code)
|
|
167
|
+
|
|
168
|
+
if response[:transacao][:status] == '4' or response[:transacao][:status] == '6'
|
|
169
|
+
response_cancel = transaction.cancel!(response_code)
|
|
170
|
+
if response_cancel[:transacao].present?
|
|
171
|
+
ActiveMerchant::Billing::Response.new(true, Spree.t('cielo.messages.cancel_success'), {}, authorization: response_cancel[:transacao][:tid])
|
|
172
|
+
else
|
|
173
|
+
verify_error 'cancel', response_cancel
|
|
174
|
+
end
|
|
175
|
+
else
|
|
176
|
+
ActiveMerchant::Billing::Response.new(true, Spree.t('cielo.messages.cancel_success'), {}, authorization: response[:transacao][:tid])
|
|
177
|
+
end
|
|
178
|
+
rescue
|
|
179
|
+
verify_error 'cancel', response
|
|
180
|
+
end
|
|
181
|
+
|
|
158
182
|
def auto_capture?
|
|
159
183
|
true
|
|
160
184
|
end
|
data/config/locales/en.yml
CHANGED
|
@@ -50,6 +50,8 @@ en:
|
|
|
50
50
|
capture_rescue: "Cielo: Error when try capture"
|
|
51
51
|
void_success: "Cielo: Voided successfully"
|
|
52
52
|
void_rescue: "Cielo: Error when try void"
|
|
53
|
+
cancel_success: "Cielo: Canceled successfully"
|
|
54
|
+
cancel_rescue: "Cielo: Error when try cancel"
|
|
53
55
|
create_rescue: "Cielo: Error when try create the transaction"
|
|
54
56
|
invalid_message: "Cielo: The message is invalid. Verify the information and try again."
|
|
55
57
|
invalid_portions: "Cielo: The number of portions is required"
|
data/config/locales/pt-br.yml
CHANGED
|
@@ -50,6 +50,8 @@ pt-BR:
|
|
|
50
50
|
capture_rescue: "Cielo: Ocorreu um erro ao tentar capturar o pagamento"
|
|
51
51
|
void_success: "Cielo: Pagamento cancelado com sucesso"
|
|
52
52
|
void_rescue: "Cielo: Ocorreu um erro ao tentar cancelar o pagamento"
|
|
53
|
+
cancel_success: "Cielo: Pagamento cancelado com sucesso"
|
|
54
|
+
cancel_rescue: "Cielo: Ocorreu um erro ao tentar cancelar o pagamento"
|
|
53
55
|
create_rescue: "Cielo: Ocorreu um erro ao tentar criar a transação"
|
|
54
56
|
invalid_message: "A mensagem enviada é inválida. Verifique as informações e tente novamente."
|
|
55
57
|
invalid_portions: "Cielo: O número de parcelas é requerido"
|
|
@@ -215,6 +215,52 @@ describe Spree::PaymentMethod::CieloCredit do
|
|
|
215
215
|
end
|
|
216
216
|
end
|
|
217
217
|
|
|
218
|
+
context 'cancel' do
|
|
219
|
+
|
|
220
|
+
context 'successfull canceled' do
|
|
221
|
+
|
|
222
|
+
it 'when transaction is authorized or captured' do
|
|
223
|
+
stub_cielo_request :verify!, 'authorize_success'
|
|
224
|
+
stub_cielo_request :cancel!, 'void_success'
|
|
225
|
+
|
|
226
|
+
response = cielo.cancel('123')
|
|
227
|
+
expect(response.success?).to be true
|
|
228
|
+
expect(response.message).to eq 'Cielo: Canceled successfully'
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
it 'when transaction is created' do
|
|
232
|
+
stub_cielo_request :verify!, 'create_success'
|
|
233
|
+
stub_cielo_request :cancel!, 'void_success'
|
|
234
|
+
|
|
235
|
+
response = cielo.cancel('123')
|
|
236
|
+
expect(response.success?).to be true
|
|
237
|
+
expect(response.message).to eq 'Cielo: Canceled successfully'
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
context 'error' do
|
|
243
|
+
|
|
244
|
+
it 'should return an invalid response when the request is invalid' do
|
|
245
|
+
stub_cielo_request :verify!, 'authorize_success'
|
|
246
|
+
stub_cielo_request :cancel!, 'void_error'
|
|
247
|
+
|
|
248
|
+
response = cielo.cancel('123')
|
|
249
|
+
expect(response.success?).to be false
|
|
250
|
+
expect(response.message).to eq "Cielo: 041 - O status 'Nao autorizada' não permite cancelamento."
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
it 'should return an invalid response when occurs an error on void' do
|
|
254
|
+
stub_cielo_request :verify!, 'authorize_success'
|
|
255
|
+
allow_any_instance_of(Cielo::Transaction).to receive(:cancel!).and_return(nil)
|
|
256
|
+
|
|
257
|
+
response = cielo.cancel('123')
|
|
258
|
+
expect(response.success?).to be false
|
|
259
|
+
expect(response.message).to eq 'Cielo: Error when try cancel'
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
end
|
|
263
|
+
|
|
218
264
|
def stub_cielo_request(method, filename)
|
|
219
265
|
cielo_response = JSON.parse File.read("spec/fixtures/cielo_returns/#{filename}.json"), symbolize_names: true
|
|
220
266
|
allow_any_instance_of(Cielo::Transaction).to receive(method).and_return(cielo_response)
|
|
@@ -159,6 +159,52 @@ describe Spree::PaymentMethod::CieloDebt do
|
|
|
159
159
|
end
|
|
160
160
|
end
|
|
161
161
|
|
|
162
|
+
context 'cancel' do
|
|
163
|
+
|
|
164
|
+
context 'successfull canceled' do
|
|
165
|
+
|
|
166
|
+
it 'when transaction is authorized or captured' do
|
|
167
|
+
stub_cielo_request :verify!, 'authorize_success'
|
|
168
|
+
stub_cielo_request :cancel!, 'void_success'
|
|
169
|
+
|
|
170
|
+
response = cielo.cancel('123')
|
|
171
|
+
expect(response.success?).to be true
|
|
172
|
+
expect(response.message).to eq 'Cielo: Canceled successfully'
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
it 'when transaction is created' do
|
|
176
|
+
stub_cielo_request :verify!, 'create_success'
|
|
177
|
+
stub_cielo_request :cancel!, 'void_success'
|
|
178
|
+
|
|
179
|
+
response = cielo.cancel('123')
|
|
180
|
+
expect(response.success?).to be true
|
|
181
|
+
expect(response.message).to eq 'Cielo: Canceled successfully'
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
context 'error' do
|
|
187
|
+
|
|
188
|
+
it 'should return an invalid response when the request is invalid' do
|
|
189
|
+
stub_cielo_request :verify!, 'authorize_success'
|
|
190
|
+
stub_cielo_request :cancel!, 'void_error'
|
|
191
|
+
|
|
192
|
+
response = cielo.cancel('123')
|
|
193
|
+
expect(response.success?).to be false
|
|
194
|
+
expect(response.message).to eq "Cielo: 041 - O status 'Nao autorizada' não permite cancelamento."
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
it 'should return an invalid response when occurs an error on void' do
|
|
198
|
+
stub_cielo_request :verify!, 'authorize_success'
|
|
199
|
+
allow_any_instance_of(Cielo::Transaction).to receive(:cancel!).and_return(nil)
|
|
200
|
+
|
|
201
|
+
response = cielo.cancel('123')
|
|
202
|
+
expect(response.success?).to be false
|
|
203
|
+
expect(response.message).to eq 'Cielo: Error when try cancel'
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
|
|
162
208
|
def stub_cielo_request(method, filename)
|
|
163
209
|
cielo_response = JSON.parse File.read("spec/fixtures/cielo_returns/#{filename}.json"), symbolize_names: true
|
|
164
210
|
allow_any_instance_of(Cielo::Transaction).to receive(method).and_return(cielo_response)
|
data/spree_zaez_cielo.gemspec
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Gem::Specification.new do |s|
|
|
3
3
|
s.platform = Gem::Platform::RUBY
|
|
4
4
|
s.name = 'spree_zaez_cielo'
|
|
5
|
-
s.version = '3.0.
|
|
5
|
+
s.version = '3.0.8'
|
|
6
6
|
s.summary = 'Adds Cielo as a Payment Method to Spree Commerce'
|
|
7
7
|
s.description = s.summary
|
|
8
8
|
s.required_ruby_version = '>= 2.0.0'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_zaez_cielo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Zaez Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-02-
|
|
11
|
+
date: 2016-02-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: spree_core
|