mundipagg_v1 0.0.3 → 0.0.4
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/lib/mundipagg_v1_sdk.rb +16 -0
- data/spec/mundipagg_v1_sdk_spec.rb +55 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6837534cd8bfc945b0b95f96c39db80fe8b24f60
|
4
|
+
data.tar.gz: '09606c7361068a1a6513bd2744fa22a0a8841289'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed42b4b7ccc0ec08b670fbddc24fff79ad48f41478cf64fa34fe08f1c33ca6300dfb33eafa598d60a4550c4b6db24c433d4c14aa6a6c27efc625b538f188b600
|
7
|
+
data.tar.gz: 44af9a25879c22769fb8031e7676bb3b60e95adbc041ea923bdc740f74d69ff31732883ab415ff8e7264c38600ee19ce8feed5205efe462d3418dc4f225c447b
|
data/lib/mundipagg_v1_sdk.rb
CHANGED
@@ -16,6 +16,7 @@ module MundipaggV1Sdk
|
|
16
16
|
def postRequest(payload, url)
|
17
17
|
begin
|
18
18
|
response = RestClient.post("#{@@end_point}#{url}", payload, headers=@@SERVICE_HEADERS)
|
19
|
+
handle_validation_error_response(response)
|
19
20
|
rescue RestClient::ExceptionWithResponse => err
|
20
21
|
handle_error_response(err)
|
21
22
|
response = err.response
|
@@ -95,6 +96,21 @@ module MundipaggV1Sdk
|
|
95
96
|
raise(::Exception.new( err_response["message"] ))
|
96
97
|
end
|
97
98
|
|
99
|
+
def handle_validation_error_response(response)
|
100
|
+
if !response["last_transaction"].nil? && !response["last_transaction"]["gateway_response"].nil? && !response["last_transaction"]["gateway_response"]["code"].to_i >= 400
|
101
|
+
err = response["last_transaction"]["gateway_response"]
|
102
|
+
elsif !response["last_transaction"].nil? && !response["last_transaction"]["success"] == false
|
103
|
+
err = response["last_transaction"]["acquirer_message"]
|
104
|
+
else
|
105
|
+
return
|
106
|
+
end
|
107
|
+
|
108
|
+
# MundipaggV1Sdk::AuthenticationError.new
|
109
|
+
err_response = JSON.load(err)
|
110
|
+
puts JSON.pretty_generate(err_response[:errors]) unless err_response[:errors].nil?
|
111
|
+
raise(::Exception.new( err_response[:last_transaction][:gateway_response][:errors][0][:message] ))
|
112
|
+
end
|
113
|
+
|
98
114
|
end
|
99
115
|
|
100
116
|
class MundipaggV1Sdk::Customer
|
@@ -13,12 +13,12 @@ describe MundipaggV1Sdk do
|
|
13
13
|
"name": "Luke Skywalker",
|
14
14
|
"email": "lskywalkder@r2d2.com",
|
15
15
|
"phones": {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
"home_phone": {
|
17
|
+
"country_code": "55",
|
18
|
+
"number": "000000000",
|
19
|
+
"area_code": "021"
|
20
|
+
}
|
21
|
+
},
|
22
22
|
"document": "26224451990",
|
23
23
|
"type": "individual",
|
24
24
|
"birthdate": "2000-09-09",
|
@@ -56,6 +56,39 @@ describe MundipaggV1Sdk do
|
|
56
56
|
}
|
57
57
|
end
|
58
58
|
|
59
|
+
let(:charge_voucher_failing) do
|
60
|
+
{
|
61
|
+
"amount": 5000,
|
62
|
+
"currency": "BRL",
|
63
|
+
"customer": {
|
64
|
+
"name": "Luke Skywalker",
|
65
|
+
"email": "lskywalkder@r2d2.com",
|
66
|
+
"document": "26224451990",
|
67
|
+
"type": "individual",
|
68
|
+
"metadata": {
|
69
|
+
"id": "my_customer_id"
|
70
|
+
}
|
71
|
+
},
|
72
|
+
"payment": {
|
73
|
+
"payment_method": "voucher",
|
74
|
+
"voucher": {
|
75
|
+
"installments": 1,
|
76
|
+
"retries": 0,
|
77
|
+
"capture": true,
|
78
|
+
"statement_descriptor": "VOUCHER CHARGE",
|
79
|
+
"card": {
|
80
|
+
"number": "6033890008549539",
|
81
|
+
"holder_name": "Luke Skywalker",
|
82
|
+
"exp_month": 1,
|
83
|
+
"exp_year": 2019,
|
84
|
+
"cvv": 753,
|
85
|
+
"holder_document": "12345623756"
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
end
|
91
|
+
|
59
92
|
describe "MundipaggV1Sdk::Customer" do
|
60
93
|
|
61
94
|
before do
|
@@ -221,6 +254,22 @@ describe MundipaggV1Sdk do
|
|
221
254
|
@listed_charges = MundipaggV1Sdk::Charge.list("123")
|
222
255
|
end
|
223
256
|
|
257
|
+
describe "#create" do
|
258
|
+
|
259
|
+
context "Voucher" do
|
260
|
+
|
261
|
+
context "Failing creation" do
|
262
|
+
|
263
|
+
it "should not create Charge" do
|
264
|
+
expect{ MundipaggV1Sdk::Charge.create(charge_voucher_failing) }.to raise_error(Exception)
|
265
|
+
end
|
266
|
+
|
267
|
+
end
|
268
|
+
|
269
|
+
end
|
270
|
+
|
271
|
+
end
|
272
|
+
|
224
273
|
describe "#list" do
|
225
274
|
|
226
275
|
context "Successful listing" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mundipagg_v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marmotex
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
109
|
version: '0'
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.
|
112
|
+
rubygems_version: 2.5.2
|
113
113
|
signing_key:
|
114
114
|
specification_version: 4
|
115
115
|
summary: New mundipagg api
|