mundipagg_v1 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: 063fb77125c50ad3b1c274022e9f88d2a9266ebd
4
- data.tar.gz: 4e6c9bc8c5df61bdb1785d6ee4df1f660ce935e2
3
+ metadata.gz: 6837534cd8bfc945b0b95f96c39db80fe8b24f60
4
+ data.tar.gz: '09606c7361068a1a6513bd2744fa22a0a8841289'
5
5
  SHA512:
6
- metadata.gz: 2d20e77ebf855a3e00b9d7e4381dadf07ce22bbbd76c6c821a55018fc7285d30b3c7cb6f9b28443fd4c208b3ba34d63a58dea9c254c5bf9ec9fc9c7ec7d8bd0c
7
- data.tar.gz: 9cdfd87192bf66eba98135113a0a0b7f0af44ed32510d54ea7205e5f5e05ddbfc804166f463ef2eb874a5a04a407eb471d489510ac7ead9b0ad188746792a4ed
6
+ metadata.gz: ed42b4b7ccc0ec08b670fbddc24fff79ad48f41478cf64fa34fe08f1c33ca6300dfb33eafa598d60a4550c4b6db24c433d4c14aa6a6c27efc625b538f188b600
7
+ data.tar.gz: 44af9a25879c22769fb8031e7676bb3b60e95adbc041ea923bdc740f74d69ff31732883ab415ff8e7264c38600ee19ce8feed5205efe462d3418dc4f225c447b
@@ -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
- "home_phone": {
17
- "country_code": "55",
18
- "number": "000000000",
19
- "area_code": "021"
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.3
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-05-19 00:00:00.000000000 Z
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.6.12
112
+ rubygems_version: 2.5.2
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: New mundipagg api