mp_api 0.3.1 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a77cbd351a3838728cbc5ef24aab99d7f27376856bd3175968e20c99262a35db
4
- data.tar.gz: cfdf6c3a0512aaba0f47a2c6de3365ac2acf6f4718eb433138e326f74dc84d73
3
+ metadata.gz: 7ef5ce1e7629dec0502dc357420093b7d839cf915040acd6acc7fcc78f0e7d59
4
+ data.tar.gz: 3642209f573836df569a5df2c1e97d4f57ce7e3593dc89bef91bf9afccca5a51
5
5
  SHA512:
6
- metadata.gz: a04392ee14dda763d30a07ab6fb4c16e02925f3510dbd4fedf566f9fd32e30b04b221cd1c35d74c5b92070268997381f1269ffb769f02e1ac970bcdd6b2c4de0
7
- data.tar.gz: 45dbb1dc44aeb78e60f1702d614149b73c3f51a2f05bd1a016371638a39023fd3cf1dbb31d20642492120abffcf38b85192b42f068b0d00819f8bcad5628240c
6
+ metadata.gz: '092cf8f0854dba266cdd79726e80913eec63f0f2ad4e81acec4baa5165498f740ea78024d47007c3d1fc8ece0862405f04619da096f582aa338b410fa8a081f7'
7
+ data.tar.gz: 8866700ae106af20bbd742921834f4a3413b117ea9dbe3aad26ebfb54ea9a78e9ff89d96bc18c917c1e8b39cdad379f7dcac133c6827ada892834591eb600f38
@@ -7,11 +7,32 @@ module MpApi
7
7
  end
8
8
 
9
9
  def errors
10
- return nil unless json_response['error']
11
- json_response['cause'].map {|cause| message_by_error_code(cause['code']) || cause['description']}
10
+ rejected_payment_error || failed_payment_error
12
11
  end
13
12
 
14
13
  private
14
+
15
+ def rejected_payment_error
16
+ return nil unless ['rejected'].include?(json_response['status'])
17
+ [message_by_status_detail(json_response['status_detail'])]
18
+ end
19
+
20
+ def failed_payment_error
21
+ return nil unless json_response['error']
22
+ json_response['cause']&.map {|cause| message_by_error_code(cause['code']) || cause['description']}
23
+ end
24
+
25
+ def message_by_status_detail(status_detail)
26
+ {
27
+ 'cc_rejected_bad_filled_other' => 'Recusado por erro no formulário.',
28
+ 'cc_rejected_bad_filled_date' => 'Recusado por problema com a data de vencimento',
29
+ 'cc_rejected_bad_filled_security_code' => 'Recusado por código de segurança inválido.',
30
+ 'cc_rejected_insufficient_amount' => 'Recusado por quantia insuficiente.',
31
+ 'cc_rejected_call_for_authorize' => 'Recusado, ligue para a administradora do cartão para autorizar.',
32
+ 'cc_rejected_other_reason' => 'Recusado por erro geral'
33
+ }
34
+ end
35
+
15
36
  def message_by_error_code(code)
16
37
  {
17
38
  1 => "Erro nos parâmetros.",
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MpApi
4
- VERSION = "0.3.1"
4
+ VERSION = "0.3.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mp_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - caio