bs2_api 0.1.0 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bs2Api
4
+ module Payment
5
+ class Key < Base
6
+ def initialize key
7
+ @key = key
8
+ end
9
+
10
+ private
11
+ def url
12
+ "#{Bs2Api.endpoint}/pix/direto/forintegration/v1/pagamentos/chave"
13
+ end
14
+
15
+ def payload
16
+ {
17
+ "chave": @key.to_hash
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bs2Api
4
+ module Payment
5
+ class Manual < Base
6
+ def initialize bank
7
+ raise Bs2Api::Errors::InvalidBank, 'Invalid Bank' unless bank.is_a?(Bs2Api::Entities::Bank)
8
+ @bank = bank
9
+ end
10
+
11
+ private
12
+ def url
13
+ "#{Bs2Api.endpoint}/pix/direto/forintegration/v1/pagamentos/manual"
14
+ end
15
+
16
+ def payload
17
+ {
18
+ "recebedor": @bank.to_hash
19
+ }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bs2Api
4
+ module Request
5
+ class Auth
6
+ class << self
7
+ def token
8
+ Bs2Api.configuration.valid?
9
+
10
+ response = create_session
11
+
12
+ raise Bs2Api::Errors::Unauthorized, response["error_description"] if response.unauthorized?
13
+ raise Bs2Api::Errors::BadRequest, response["error_description"] if response.bad_request?
14
+ raise Bs2Api::Errors::ServerError, response.body if !response.success?
15
+
16
+ response["access_token"]
17
+ end
18
+
19
+ private
20
+ def create_session
21
+ HTTParty.post(
22
+ auth_url,
23
+ headers: headers,
24
+ body: body,
25
+ basic_auth: {
26
+ username: Bs2Api.configuration.client_id,
27
+ password: Bs2Api.configuration.client_secret
28
+ }
29
+ )
30
+ end
31
+
32
+ def headers
33
+ {
34
+ "Content-Type": "application/x-www-form-urlencoded",
35
+ "Accept": "application/json"
36
+ }
37
+ end
38
+
39
+ def body
40
+ {
41
+ grant_type: "client_credentials",
42
+ scope: "pix.write%20pix.read"
43
+ }.queryfy
44
+ end
45
+
46
+ def auth_url
47
+ "#{Bs2Api.endpoint}/auth/oauth/v2/token"
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module Bs2Api
6
+ module Util
7
+ class BankService
8
+ class << self
9
+ def find_by_code code
10
+ bank = bank_list.find {|b| b["code"] == code }
11
+ raise Bs2Api::Errors::MissingBank, 'Bank not registered into util/banks.yml file' if bank.blank?
12
+ bank
13
+ end
14
+
15
+ private
16
+ def bank_list
17
+ @bank_list ||= YAML.load_file(File.join(__dir__, 'banks.yml'))
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,393 @@
1
+ - name: "Banco A.J. RENNER"
2
+ code: "654"
3
+ ispb: "92874270"
4
+ - name: "Banco ABC Brasil"
5
+ code: "246"
6
+ ispb: "28195667"
7
+ - name: "Banco ABN AMRO"
8
+ code: "75"
9
+ ispb: "3532415"
10
+ - name: "Banco ALFA"
11
+ code: "25"
12
+ ispb: "3323840"
13
+ - name: "Banco ARBI"
14
+ code: "213"
15
+ ispb: "54403563"
16
+ - name: "Banco AZTECA do Brasil"
17
+ code: "19"
18
+ ispb: "9391857"
19
+ - name: "Banco BARCLAYS"
20
+ code: "740"
21
+ ispb: "61146577"
22
+ - name: "Banco BBM"
23
+ code: "107"
24
+ ispb: "15114366"
25
+ - name: "Banco BMFBOVESPA"
26
+ code: "96"
27
+ ispb: "997185"
28
+ - name: "Banco BMG"
29
+ code: "318"
30
+ ispb: "61186680"
31
+ - name: "Banco BNP PARIBAS Brasil"
32
+ code: "752"
33
+ ispb: "1522368"
34
+ - name: "Banco BOA VISTA INTERATLANTICO"
35
+ code: "248"
36
+ ispb: "33485541"
37
+ - name: "Banco BONSUCESSO"
38
+ code: "218"
39
+ ispb: "71027866"
40
+ - name: "Banco BRACCE"
41
+ code: "65"
42
+ ispb: "48795256"
43
+ - name: "Banco BRADESCARD"
44
+ code: "63"
45
+ ispb: "4184779"
46
+ - name: "Banco BRADESCO"
47
+ code: "237"
48
+ ispb: "60746948"
49
+ - name: "Banco BRADESCO BBI"
50
+ code: "36"
51
+ ispb: "60746948"
52
+ - name: "Banco BRADESCO CARTÕES"
53
+ code: "204"
54
+ ispb: "59438325"
55
+ - name: "Banco BRADESCO FINANCIAMENTOS"
56
+ code: "394"
57
+ ispb: "7207996"
58
+ - name: "Banco BTG PACTUAL"
59
+ code: "208"
60
+ ispb: "30306294"
61
+ - name: "Banco CACIQUE"
62
+ code: "263"
63
+ ispb: "33349358"
64
+ - name: "Banco CAIXA GERAL – Brasil"
65
+ code: "473"
66
+ ispb: "33466988"
67
+ - name: "Banco CAPITAL"
68
+ code: "412"
69
+ ispb: "15173776"
70
+ - name: "Banco CARGILL"
71
+ code: "40"
72
+ ispb: "3609817"
73
+ - name: "Banco CEDULA"
74
+ code: "266"
75
+ ispb: "33132044"
76
+ - name: "Banco CETELEM"
77
+ code: "739"
78
+ ispb: "558456"
79
+ - name: "Banco CIFRA"
80
+ code: "233"
81
+ ispb: "62421979"
82
+ - name: "Banco CITIBANK"
83
+ code: "745"
84
+ ispb: "33479023"
85
+ - name: "Banco CLÁSSICO"
86
+ code: "241"
87
+ ispb: "31597552"
88
+ - name: "Banco COOPERATIVO do Brasil – Bancoob"
89
+ code: "756"
90
+ ispb: "2038232"
91
+ - name: "Banco COOPERATIVO SICREDI"
92
+ code: "748"
93
+ ispb: "1181521"
94
+ - name: "Banco CREDIT AGRICOLE Brasil"
95
+ code: "222"
96
+ ispb: "75647891"
97
+ - name: "Banco CREDIT SUISSE (Brasil)"
98
+ code: "505"
99
+ ispb: "32062580"
100
+ - name: "Banco da AMAZONIA"
101
+ code: "3"
102
+ ispb: "4902979"
103
+ - name: "Banco da CHINA Brasil"
104
+ code: "83"
105
+ ispb: "10690848"
106
+ - name: "Banco DAYCOVAL"
107
+ code: "707"
108
+ ispb: "62232889"
109
+ - name: "Banco de LA NACION ARGENTINA"
110
+ code: "300"
111
+ ispb: "33042151"
112
+ - name: "Banco de LA PROVINCIA de BUENOS AIRES"
113
+ code: "495"
114
+ ispb: "44189447"
115
+ - name: "Banco de LA REPUBLICA ORIENTAL DEL URUGUAY"
116
+ code: "494"
117
+ ispb: "51938876"
118
+ - name: "Banco de TOKYO MITSUBISHI UFJ Brasil"
119
+ code: "456"
120
+ ispb: "60498557"
121
+ - name: "Banco DIBENS"
122
+ code: "214"
123
+ ispb: "61199881"
124
+ - name: "Banco do BRASIL"
125
+ code: "1"
126
+ ispb: "0"
127
+ - name: "Banco do ESTADO de SERGIPE"
128
+ code: "47"
129
+ ispb: "13009717"
130
+ - name: "Banco do ESTADO do PARA"
131
+ code: "37"
132
+ ispb: "4913711"
133
+ - name: "Banco do ESTADO do RIO GRANDE do SUL (BANRISUL"
134
+ code: "41"
135
+ ispb: "92702067"
136
+ - name: "Banco do NORDESTE do Brasil"
137
+ code: "4"
138
+ ispb: "7237373"
139
+ - name: "Banco FATOR"
140
+ code: "265"
141
+ ispb: "33644196"
142
+ - name: "Banco FIBRA"
143
+ code: "224"
144
+ ispb: "58616418"
145
+ - name: "Banco FICSA"
146
+ code: "626"
147
+ ispb: "61348538"
148
+ - name: "Banco GERADOR"
149
+ code: "121"
150
+ ispb: "10664513"
151
+ - name: "Banco GUANABARA"
152
+ code: "612"
153
+ ispb: "31880826"
154
+ - name: "Banco INDUSTRIAL do Brasil"
155
+ code: "604"
156
+ ispb: "31895683"
157
+ - name: "Banco INDUSTRIAL e COMERCIAL"
158
+ code: "320"
159
+ ispb: "7450604"
160
+ - name: "Banco INDUSVAL"
161
+ code: "653"
162
+ ispb: "61024352"
163
+ - name: "Banco INTERCAP"
164
+ code: "630"
165
+ ispb: "58497702"
166
+ - name: "Banco INTERMEDIUM"
167
+ code: "77"
168
+ ispb: "416968"
169
+ - name: "Banco INVESTCRED UNIBANCO"
170
+ code: "249"
171
+ ispb: "61182408"
172
+ - name: "Banco ITAU BBA"
173
+ code: "184"
174
+ ispb: "17298092"
175
+ - name: "Banco ITAÚ HOLDING FINANCEIRA"
176
+ code: "652"
177
+ ispb: "60872504"
178
+ - name: "Banco J. SAFRA"
179
+ code: "74"
180
+ ispb: "3017677"
181
+ - name: "Banco J.P. MORGAN"
182
+ code: "376"
183
+ ispb: "33172537"
184
+ - name: "Banco JOHN DEERE"
185
+ code: "217"
186
+ ispb: "91884981"
187
+ - name: "Banco KDB do Brasil"
188
+ code: "76"
189
+ ispb: "7656500"
190
+ - name: "Banco KEB do Brasil"
191
+ code: "757"
192
+ ispb: "2318507"
193
+ - name: "Banco LUSO BRASILEIRO"
194
+ code: "600"
195
+ ispb: "59118133"
196
+ - name: "Banco MÁXIMA"
197
+ code: "243"
198
+ ispb: "33923798"
199
+ - name: "Banco MERCANTIL do BRASIL"
200
+ code: "389"
201
+ ispb: "17184037"
202
+ - name: "Banco MIZUHO do Brasil"
203
+ code: "370"
204
+ ispb: "61088183"
205
+ - name: "Banco MODAL"
206
+ code: "746"
207
+ ispb: "30723886"
208
+ - name: "Banco MORGAN STANLEY DEAN WITTER"
209
+ code: "66"
210
+ ispb: "2801938"
211
+ - name: "Banco ORIGINAL"
212
+ code: "212"
213
+ ispb: "92894922"
214
+ - name: "Banco ORIGINAL do Agronegócio"
215
+ code: "79"
216
+ ispb: "9516419"
217
+ - name: "Banco PANAMERICANO"
218
+ code: "623"
219
+ ispb: "59285411"
220
+ - name: "Banco PAULISTA"
221
+ code: "611"
222
+ ispb: "61820817"
223
+ - name: "Banco PECUNIA"
224
+ code: "613"
225
+ ispb: "60850229"
226
+ - name: "Banco PETRA"
227
+ code: "94"
228
+ ispb: "11758741"
229
+ - name: "Banco PINE"
230
+ code: "643"
231
+ ispb: "62144175"
232
+ - name: "Banco POTTENCIAL"
233
+ code: "735"
234
+ ispb: "253448"
235
+ - name: "Banco RABOBANK INTERNATIONAL Brasil"
236
+ code: "747"
237
+ ispb: "1023570"
238
+ - name: "Banco RANDON"
239
+ code: "88"
240
+ ispb: "11476673"
241
+ - name: "Banco RENDIMENTO"
242
+ code: "633"
243
+ ispb: "68900810"
244
+ - name: "Banco RIBEIRAO PRETO"
245
+ code: "741"
246
+ ispb: "517645"
247
+ - name: "Banco RODOBENS"
248
+ code: "120"
249
+ ispb: "33603457"
250
+ - name: "Banco SAFRA"
251
+ code: "422"
252
+ ispb: "58160789"
253
+ - name: "Banco SANTANDER (Brasil"
254
+ code: "33"
255
+ ispb: "90400888"
256
+ - name: "Banco SEMEAR"
257
+ code: "743"
258
+ ispb: "795423"
259
+ - name: "Banco SOCIETE GENERALE Brasil"
260
+ code: "366"
261
+ ispb: "61533584"
262
+ - name: "Banco SOFISA"
263
+ code: "637"
264
+ ispb: "60889128"
265
+ - name: "Banco SUMITOMO MITSUI Brasileiro"
266
+ code: "464"
267
+ ispb: "60518222"
268
+ - name: "Banco TOPAZIO"
269
+ code: "82"
270
+ ispb: "7679404"
271
+ - name: "Banco TRIÂNGULO"
272
+ code: "634"
273
+ ispb: "17351180"
274
+ - name: "Banco VOTORANTIM"
275
+ code: "655"
276
+ ispb: "59588111"
277
+ - name: "Banco VR"
278
+ code: "610"
279
+ ispb: "78626983"
280
+ - name: "Banco WESTERN UNION do Brasil"
281
+ code: "119"
282
+ ispb: "13720915"
283
+ - name: "Banco WOORI BANK do Brasil"
284
+ code: "124"
285
+ ispb: "15357060"
286
+ - name: "BANESTES (Banco do ESTADO do ESPIRITO SANTO"
287
+ code: "21"
288
+ ispb: "28127603"
289
+ - name: "BANIF – Banco INTERNACIONAL do FUNCHAL (Brasil)"
290
+ code: "719"
291
+ ispb: "33884941"
292
+ - name: "BANK OF AMERICA MERRILL LYNCH Banco Múltiplo"
293
+ code: "755"
294
+ ispb: "62073200"
295
+ - name: "BCV – Banco de Crédito e Varejo"
296
+ code: "250"
297
+ ispb: "50585090"
298
+ - name: "BES Investimento do Brasil – Banco de Investimento"
299
+ code: "78"
300
+ ispb: "34111187"
301
+ - name: "BM TRICURY"
302
+ code: "18"
303
+ ispb: "57839805"
304
+ - name: "BNY MELLON"
305
+ code: "17"
306
+ ispb: "42272526"
307
+ - name: "BPN Brasil Banco Múltiplo"
308
+ code: "69"
309
+ ispb: "61033106"
310
+ - name: "BRADESCO BERJ"
311
+ code: "122"
312
+ ispb: "33147315"
313
+ - name: "BRASIL PLURAL Banco Múltiplo"
314
+ code: "125"
315
+ ispb: "45246410"
316
+ - name: "BRB – Banco de Brasília"
317
+ code: "70"
318
+ ispb: "208"
319
+ - name: "BRICKELL Crédito Financiamento e Investimento"
320
+ code: "92"
321
+ ispb: "12865507"
322
+ - name: "CAIXA ECONOMICA FEDERAL"
323
+ code: "104"
324
+ ispb: "360305"
325
+ - name: "CC CREDICOAMO Crédito Rural Cooperativa"
326
+ code: "10"
327
+ ispb: "81723108"
328
+ - name: "CC UNICRED Brasil Central"
329
+ code: "112"
330
+ ispb: "4243780"
331
+ - name: "CC UNICRED do Brasil"
332
+ code: "136"
333
+ ispb: "315557"
334
+ - name: "CC UNIPRIME NORTE do PARANA"
335
+ code: "84"
336
+ ispb: "2398976"
337
+ - name: "CECOOPES – Central das Cooperativas de Economia e Crédito Mútuo"
338
+ code: "114"
339
+ ispb: "5790149"
340
+ - name: "CITIBANK N.A."
341
+ code: "477"
342
+ ispb: "33042953"
343
+ - name: "Cooperativa Central de Crédito do Estado de SP"
344
+ code: "90"
345
+ ispb: "73085573"
346
+ - name: "Cooperativa Central de Crédito NOROESTE Brasileiro"
347
+ code: "97"
348
+ ispb: "4632856"
349
+ - name: "Cooperativa Central de Crédito Urbano – CECRED"
350
+ code: "85"
351
+ ispb: "5463212"
352
+ - name: "Cooperativa de Crédito Rural da Região da Mogiana"
353
+ code: "89"
354
+ ispb: "62109566"
355
+ - name: "CREDIALIANCA Cooperativa de Crédito RURAL"
356
+ code: "98"
357
+ ispb: "78157146"
358
+ - name: "DEUTSCHE BANK – Banco ALEMÃO"
359
+ code: "487"
360
+ ispb: "62331228"
361
+ - name: "HIPERCARD Banco Múltiplo"
362
+ code: "62"
363
+ ispb: "3012230"
364
+ - name: "HSBC BANK Brasil – Banco Múltiplo"
365
+ code: "399"
366
+ ispb: "1701201"
367
+ - name: "ICBC do Brasil Banco Múltiplo"
368
+ code: "132"
369
+ ispb: "17453575"
370
+ - name: "ING BANK N.V."
371
+ code: "492"
372
+ ispb: "49336860"
373
+ - name: "ITAÚ UNIBANCO"
374
+ code: "341"
375
+ ispb: "60701190"
376
+ - name: "NOVO Banco CONTINENTAL"
377
+ code: "753"
378
+ ispb: "74828799"
379
+ - name: "PARANA Banco"
380
+ code: "254"
381
+ ispb: "14388334"
382
+ - name: "SCOTIABANK Brasil Banco Múltiplo"
383
+ code: "751"
384
+ ispb: "29030467"
385
+ - name: "UNICRED Central RS – Central de Cooperativa de Economia e Crédito Mútuo do Estado do RS"
386
+ code: "91"
387
+ ispb: "1634601"
388
+ - name: "UNICRED Central Santa Catarina"
389
+ code: "87"
390
+ ispb: "543968"
391
+ - name: "UNIPRIME Central – Central Interestadual de Cooperativa de Crédito"
392
+ code: "99"
393
+ ispb: "3046391"