bs2_api 1.6.1 → 1.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59736f9f1623eef9e49ae6c34ff8813f904cc19c5ec81d4c7a5304f2b87ab293
4
- data.tar.gz: b11851a61ae03a4ed8d7ed774a64f031dec7d0f5deb56cf1a69310a6dffbce8d
3
+ metadata.gz: 8449060cc6217780e2b9a1e3698d79c998e141d919765b2c9573d5f350594f66
4
+ data.tar.gz: c045fd2971f93c19b18fc764dd6328c1e08d3fe430e7c5505d1afc24ecb7db2d
5
5
  SHA512:
6
- metadata.gz: f4b772eec846ce0685c7f5ba6ede0aa5536c774df29e9ad8e30f323924bee092e746e6ab3c76abf33833e9d81761c720b32a8559140f0fc82b8a6d6885aac758
7
- data.tar.gz: e6595f66602e060c539c1f3aaab260ea7fd98994ebb04b1d16ea7d2807a1563414d53d2d94d8710ce3bbcb48fee9114075ba985646f861b9b777f71c19cf96f2
6
+ metadata.gz: 6929c953e3ff67fee1d6b118b72f611eee5e23b1172d47afdd209cd121616ab6b5468249e2e71e267830206a2f918b3171163d56ac025f8d119c18134ccd888f
7
+ data.tar.gz: 89fe2992dc08bcf58adfc42f9f4d7ac3ba8c97a344e6f61e35905794a279d695c6cc4d5d5c78e865263b5c92b855e1d8404b4072563e9d2f4f4693d3a0588e50
data/.gitignore CHANGED
@@ -20,3 +20,4 @@
20
20
  *.swp
21
21
  *.swo
22
22
  .byebug_history
23
+ .vscode
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 2.7.2
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bs2_api (1.6.0)
4
+ bs2_api (1.7.0)
5
5
  activesupport
6
6
  builder
7
7
  bundler
data/bs2_api.gemspec CHANGED
@@ -40,4 +40,4 @@ Gem::Specification.new do |spec|
40
40
  spec.add_development_dependency("webmock", "~> 3.13")
41
41
  spec.add_development_dependency("vcr", "~> 6.0")
42
42
  spec.add_development_dependency("dotenv", "~> 2.7", ">= 2.7.6")
43
- end
43
+ end
@@ -68,6 +68,14 @@ module Bs2Api
68
68
  def error?
69
69
  @status == :error
70
70
  end
71
+
72
+ def awaiting_validation?
73
+ @status == :awaiting_validation
74
+ end
75
+
76
+ def in_process?
77
+ @status == :in_process
78
+ end
71
79
  end
72
80
  end
73
81
  end
@@ -3,7 +3,7 @@
3
3
  module Bs2Api
4
4
  module Entities
5
5
  class Payment
6
- attr_accessor :payment_id, :end_to_end_id, :receiver, :payer, :status
6
+ attr_accessor :payment_id, :end_to_end_id, :receiver, :payer, :status, :error_message, :error_code
7
7
 
8
8
  def initialize(args = {})
9
9
  @payment_id = args.fetch(:payment_id, nil)
@@ -11,13 +11,17 @@ module Bs2Api
11
11
  @receiver = args.fetch(:receiver, nil)
12
12
  @payer = args.fetch(:payer, nil)
13
13
  @status = args.fetch(:status, nil)
14
+ @error_code = args.fetch(:error_code, nil)
15
+ @error_message = args.fetch(:error_message, nil)
14
16
  end
15
17
 
16
18
  def to_hash
17
19
  hash_data = {
18
- "pagamentoId": @payment_id,
19
- "endToEndId": @end_to_end_id,
20
- "status": @status
20
+ "pagamentoId": @payment_id,
21
+ "endToEndId": @end_to_end_id,
22
+ "status": @status,
23
+ "error_code": @error_code,
24
+ "error_message": @error_message
21
25
  }
22
26
 
23
27
  hash_data.merge!({ "recebedor": @receiver.to_hash } ) if @receiver.present?
@@ -33,7 +37,9 @@ module Bs2Api
33
37
  end_to_end_id: hash["endToEndId"],
34
38
  receiver: Bs2Api::Entities::Bank.from_response(hash["recebedor"]),
35
39
  payer: Bs2Api::Entities::Bank.from_response(hash["pagador"]),
36
- status: hash["status"]
40
+ status: hash["status"],
41
+ error_code: hash.dig('erro', 'erroCodigo'),
42
+ error_message: hash.dig('erro', 'erroDescricao')
37
43
  )
38
44
  end
39
45
  end
@@ -21,15 +21,28 @@ module Bs2Api
21
21
  def check_payment_status(
22
22
  request_id,
23
23
  client_id: Bs2Api.configuration.client_id,
24
- client_secret: Bs2Api.configuration.client_secret
24
+ client_secret: Bs2Api.configuration.client_secret,
25
+ proxy: nil
25
26
  )
26
- url = request_status_url(request_id)
27
+
27
28
  bearer_token = Bs2Api::Request::Auth.token(
28
29
  client_id: client_id,
29
30
  client_secret: client_secret
30
31
  )
31
- headers = { 'Authorization': "Bearer #{bearer_token}" }
32
- response = HTTParty.get(url, headers: headers)
32
+
33
+ response = HTTParty.get(
34
+ request_status_url(request_id),
35
+ http_proxyaddr: proxy&.host,
36
+ http_proxyport: proxy&.port,
37
+ http_proxyuser: proxy&.user,
38
+ http_proxypass: proxy&.password,
39
+ headers: {
40
+ 'Authorization': "Bearer #{bearer_token}"
41
+ }
42
+ )
43
+
44
+ raise Bs2Api::Errors::Base, response.body.to_s unless response.success?
45
+
33
46
  Bs2Api::Entities::AsyncStatus.from_response response.parsed_response
34
47
  end
35
48
 
@@ -6,7 +6,7 @@ module Bs2Api
6
6
  'EM_PROCESSAMENTO' => :processing,
7
7
  'DEVOLVIDO' => :refunded,
8
8
  'NAO_REALIZADO' => :not_achieved,
9
- }.transform_keys(&:downcase).freeze
9
+ }.freeze
10
10
 
11
11
  def initialize(
12
12
  client_id:,
@@ -46,7 +46,7 @@ module Bs2Api
46
46
 
47
47
  raise response.body unless response.success?
48
48
 
49
- response.body
49
+ JSON.parse(response.body)
50
50
  end
51
51
 
52
52
  def status
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bs2Api
4
- VERSION = '1.6.1'
4
+ VERSION = '1.8.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bs2_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kim Pastro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-02 00:00:00.000000000 Z
11
+ date: 2022-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -188,6 +188,7 @@ files:
188
188
  - ".gitignore"
189
189
  - ".rspec"
190
190
  - ".ruby-version"
191
+ - ".tool-versions"
191
192
  - CHANGELOG.md
192
193
  - Gemfile
193
194
  - Gemfile.lock