braspag-rest 0.5.2 → 0.6.1
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/README.md +9 -0
- data/lib/braspag-rest.rb +2 -0
- data/lib/braspag-rest/address.rb +12 -0
- data/lib/braspag-rest/customer.rb +2 -0
- data/lib/braspag-rest/payment.rb +11 -0
- data/lib/braspag-rest/refund.rb +15 -0
- data/lib/braspag-rest/request.rb +3 -3
- data/lib/braspag-rest/sale.rb +5 -5
- data/lib/braspag-rest/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6c0cb58e4c3410f84a3656bd16112c302020180
|
4
|
+
data.tar.gz: 0fdd64300cfdbd2429494744559e25f876609c00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dbea53957bdc35de7f16e1c437b0eab08b7f23869b9233def76cd08dcbce6205b9cf9520de6d3db93beac5b864f0243d1b5d1982a928d4b36b86cff184dd0794
|
7
|
+
data.tar.gz: c7a7d2d0d45eb1f4d69357df539b30e7282dd2ce9a2c8e1d1b9774b7aaecc2cf18bf53f483bb5c2f12c54f37fc98c28942b82fa531851942f757892231f1d2e5
|
data/README.md
CHANGED
@@ -210,6 +210,15 @@ sales.map { |sale| sale.customer.name }
|
|
210
210
|
```rb
|
211
211
|
sale = BraspagRest::Sale.find('REQUEST_ID', 'PAYMENT_ID')
|
212
212
|
sale.cancel
|
213
|
+
|
214
|
+
sale.voided_amount
|
215
|
+
=> 30017
|
216
|
+
|
217
|
+
sale.voided_date
|
218
|
+
=> "2017-09-11 16:53:03"
|
219
|
+
|
220
|
+
sale.payment.refunds
|
221
|
+
=> [{:amount=>30017, :status=>3, :received_date=>"2017-09-11T16:53:03.407"}]
|
213
222
|
```
|
214
223
|
|
215
224
|
### Capture a sale
|
data/lib/braspag-rest.rb
CHANGED
@@ -17,5 +17,7 @@ require 'braspag-rest/customer'
|
|
17
17
|
require 'braspag-rest/credit_card'
|
18
18
|
require 'braspag-rest/fraud_analyses'
|
19
19
|
require 'braspag-rest/fraud_analysis'
|
20
|
+
require 'braspag-rest/refund'
|
20
21
|
require 'braspag-rest/payment'
|
21
22
|
require 'braspag-rest/sale'
|
23
|
+
require 'braspag-rest/address'
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module BraspagRest
|
2
|
+
class Address < Hashie::IUTrash
|
3
|
+
property :street, from: 'Street'
|
4
|
+
property :number, from: 'Number'
|
5
|
+
property :complement, from: 'Complement'
|
6
|
+
property :zip_code, from: 'ZipCode'
|
7
|
+
property :city, from: 'City'
|
8
|
+
property :state, from: 'State'
|
9
|
+
property :country, from: 'Country'
|
10
|
+
property :district, from: 'District'
|
11
|
+
end
|
12
|
+
end
|
@@ -2,5 +2,7 @@ module BraspagRest
|
|
2
2
|
class Customer < Hashie::IUTrash
|
3
3
|
property :name, from: 'Name'
|
4
4
|
property :identity, from: 'Identity'
|
5
|
+
property :identity_type, from: 'IdentityType'
|
6
|
+
property :address, from: 'Address', with: ->(values) { BraspagRest::Address.new(values) }
|
5
7
|
end
|
6
8
|
end
|
data/lib/braspag-rest/payment.rb
CHANGED
@@ -5,10 +5,12 @@ module BraspagRest
|
|
5
5
|
STATUS_AUTHORIZED = 1
|
6
6
|
STATUS_CONFIRMED = 2
|
7
7
|
STATUS_VOIDED = 10
|
8
|
+
STATUS_REFUNDED = 11
|
8
9
|
|
9
10
|
property :id, from: 'PaymentId'
|
10
11
|
property :type, from: 'Type'
|
11
12
|
property :amount, from: 'Amount'
|
13
|
+
property :boleto_number, from: 'BoletoNumber'
|
12
14
|
property :captured_amount, from: 'CapturedAmount'
|
13
15
|
property :status, from: 'Status'
|
14
16
|
property :provider, from: 'Provider'
|
@@ -20,12 +22,16 @@ module BraspagRest
|
|
20
22
|
property :reason_code, from: 'ReasonCode'
|
21
23
|
property :reason_message, from: 'ReasonMessage'
|
22
24
|
property :voided_amount, from: 'VoidedAmount'
|
25
|
+
property :voided_date, from: 'VoidedDate'
|
26
|
+
|
27
|
+
property :refunds, from: 'Refunds'
|
23
28
|
|
24
29
|
property :digitable_line, from: 'DigitableLine'
|
25
30
|
property :barcode_number, from: 'BarCodeNumber'
|
26
31
|
property :expiration_date, from: 'ExpirationDate'
|
27
32
|
property :instructions, from: 'Instructions'
|
28
33
|
property :printable_page_url, from: 'Url'
|
34
|
+
property :boleto_number, from: 'BoletoNumber'
|
29
35
|
|
30
36
|
property :currency, from: 'Currency'
|
31
37
|
property :country, from: 'Country'
|
@@ -44,6 +50,7 @@ module BraspagRest
|
|
44
50
|
|
45
51
|
coerce_key :fraud_analysis, BraspagRest::FraudAnalysis
|
46
52
|
coerce_key :credit_card, BraspagRest::CreditCard
|
53
|
+
coerce_key :refunds, Array[BraspagRest::Refund]
|
47
54
|
|
48
55
|
def authorized?
|
49
56
|
status.to_i.eql?(STATUS_AUTHORIZED)
|
@@ -56,5 +63,9 @@ module BraspagRest
|
|
56
63
|
def cancelled?
|
57
64
|
status.to_i.eql?(STATUS_VOIDED)
|
58
65
|
end
|
66
|
+
|
67
|
+
def refunded?
|
68
|
+
status.to_i.eql?(STATUS_REFUNDED)
|
69
|
+
end
|
59
70
|
end
|
60
71
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module BraspagRest
|
2
|
+
class Refund < Hashie::IUTrash
|
3
|
+
include Hashie::Extensions::Coercion
|
4
|
+
|
5
|
+
STATUS_REFUNDED = 11
|
6
|
+
|
7
|
+
property :status, from: 'Status'
|
8
|
+
property :amount, from: 'Amount'
|
9
|
+
property :received_date, from: 'ReceivedDate'
|
10
|
+
|
11
|
+
def success?
|
12
|
+
status.to_i.eql?(STATUS_REFUNDED)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/braspag-rest/request.rb
CHANGED
@@ -77,9 +77,9 @@ module BraspagRest
|
|
77
77
|
def execute_braspag_request(&block)
|
78
78
|
gateway_response = block.call
|
79
79
|
|
80
|
-
|
81
|
-
|
82
|
-
|
80
|
+
BraspagRest::Response.new(gateway_response).tap do |response|
|
81
|
+
config.logger.info("[BraspagRest][Response] gateway_response: #{response.parsed_body}") if config.log_enabled?
|
82
|
+
end
|
83
83
|
rescue RestClient::ResourceNotFound => e
|
84
84
|
# Explicitly message due to Rest Client RestClient::NotFound normalization:
|
85
85
|
# https://github.com/rest-client/rest-client/blob/v2.0.0/lib/restclient/exceptions.rb#L90
|
data/lib/braspag-rest/sale.rb
CHANGED
@@ -41,8 +41,7 @@ module BraspagRest
|
|
41
41
|
response = BraspagRest::Request.void(request_id, payment.id, amount)
|
42
42
|
|
43
43
|
if response.success?
|
44
|
-
|
45
|
-
self.payment.initialize_attributes(voided_amount: voided_amount)
|
44
|
+
reload
|
46
45
|
else
|
47
46
|
initialize_errors(response.parsed_body)
|
48
47
|
end
|
@@ -64,10 +63,11 @@ module BraspagRest
|
|
64
63
|
|
65
64
|
def reload
|
66
65
|
if !request_id.nil? && payment && !payment.id.nil?
|
67
|
-
self.class.find(request_id, payment.id)
|
68
|
-
|
69
|
-
self
|
66
|
+
reloaded_reference = self.class.find(request_id, payment.id)
|
67
|
+
self.initialize_attributes(reloaded_reference.inverse_attributes)
|
70
68
|
end
|
69
|
+
|
70
|
+
self
|
71
71
|
end
|
72
72
|
|
73
73
|
private
|
data/lib/braspag-rest/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: braspag-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dinda Dev Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- bin/setup
|
143
143
|
- braspag-rest.gemspec
|
144
144
|
- lib/braspag-rest.rb
|
145
|
+
- lib/braspag-rest/address.rb
|
145
146
|
- lib/braspag-rest/configuration.rb
|
146
147
|
- lib/braspag-rest/credit_card.rb
|
147
148
|
- lib/braspag-rest/customer.rb
|
@@ -160,6 +161,7 @@ files:
|
|
160
161
|
- lib/braspag-rest/hashie/iudash.rb
|
161
162
|
- lib/braspag-rest/hashie/iutrash.rb
|
162
163
|
- lib/braspag-rest/payment.rb
|
164
|
+
- lib/braspag-rest/refund.rb
|
163
165
|
- lib/braspag-rest/request.rb
|
164
166
|
- lib/braspag-rest/response.rb
|
165
167
|
- lib/braspag-rest/sale.rb
|
@@ -184,7 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
184
186
|
version: '0'
|
185
187
|
requirements: []
|
186
188
|
rubyforge_project:
|
187
|
-
rubygems_version: 2.
|
189
|
+
rubygems_version: 2.5.2
|
188
190
|
signing_key:
|
189
191
|
specification_version: 4
|
190
192
|
summary: Gem to use Braspag gateway in his REST version
|