bb_payments 0.1.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.
Files changed (140) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +11 -0
  3. data/Gemfile.lock +82 -0
  4. data/README.md +391 -0
  5. data/Rakefile +8 -0
  6. data/bb_payments.gemspec +30 -0
  7. data/docs/BankSlipsApi.md +178 -0
  8. data/docs/BarcodeCollectionFormsIDResponseObject.md +6 -0
  9. data/docs/BarcodeCollectionFormsIDResponseObjectListaGuiaCodigoBarra.md +10 -0
  10. data/docs/BarcodeCollectionFormsIDResponseObjectListaOcorrencia.md +9 -0
  11. data/docs/BarcodeCollectionFormsRequestObject.md +12 -0
  12. data/docs/BarcodecollectionformsCollectionFormDetailsList.md +12 -0
  13. data/docs/BatchtransfersPaymentsList.md +22 -0
  14. data/docs/BatchtransferscancelPaymentIds.md +7 -0
  15. data/docs/Body.md +13 -0
  16. data/docs/CancelApi.md +63 -0
  17. data/docs/CollectionFormsApi.md +184 -0
  18. data/docs/Error.md +7 -0
  19. data/docs/ErrorErrors.md +8 -0
  20. data/docs/ErrorOAuthUnauthorized.md +10 -0
  21. data/docs/ErrorOAuthUnauthorizedAttributes.md +7 -0
  22. data/docs/InlineResponse200.md +13 -0
  23. data/docs/InlineResponse2001.md +29 -0
  24. data/docs/InlineResponse2001OcurrencesList.md +9 -0
  25. data/docs/InlineResponse2002.md +12 -0
  26. data/docs/InlineResponse2002PaymentsList.md +26 -0
  27. data/docs/InlineResponse2003.md +26 -0
  28. data/docs/InlineResponse2003ListaBoleto.md +24 -0
  29. data/docs/InlineResponse2003ListaDevolucao.md +9 -0
  30. data/docs/InlineResponse200PaymentsList.md +15 -0
  31. data/docs/InlineResponse201.md +13 -0
  32. data/docs/InlineResponse2011.md +13 -0
  33. data/docs/InlineResponse2011PaymentsList.md +16 -0
  34. data/docs/InlineResponse201PaymentsList.md +26 -0
  35. data/docs/InlineResponse400.md +7 -0
  36. data/docs/InlineResponse401.md +10 -0
  37. data/docs/ReturnedsApi.md +78 -0
  38. data/docs/RootTypeForBankSlipList.md +29 -0
  39. data/docs/RootTypeForBankSlipsBatchPayment.md +12 -0
  40. data/docs/RootTypeForBankSlipsBatchPaymentResponseObject.md +12 -0
  41. data/docs/RootTypeForBatchTransferGETResponseObject.md +9 -0
  42. data/docs/RootTypeForBatchTransferPaymentsListGET.md +21 -0
  43. data/docs/RootTypeForBatchTransfersCancelPaymentsListObject.md +10 -0
  44. data/docs/RootTypeForBatchTransfersCancelRequestObject.md +12 -0
  45. data/docs/RootTypeForBatchTransfersCancelResponseObject.md +7 -0
  46. data/docs/RootTypeForReturnedPaymentsDetails.md +33 -0
  47. data/docs/RootTypeForReturnedPaymentsResponseObject.md +10 -0
  48. data/docs/RootTypeForSlipsDetailsObject.md +23 -0
  49. data/docs/TransfersApi.md +309 -0
  50. data/lib/bb_payments/api/base.rb +10 -0
  51. data/lib/bb_payments/api/base_api.rb +63 -0
  52. data/lib/bb_payments/api/batch_payments_api.rb +50 -0
  53. data/lib/bb_payments/api/payments.rb +114 -0
  54. data/lib/bb_payments/api/transfers.rb +33 -0
  55. data/lib/bb_payments/api/transfers_pix.rb +52 -0
  56. data/lib/bb_payments/api_client.rb +414 -0
  57. data/lib/bb_payments/api_error.rb +57 -0
  58. data/lib/bb_payments/configuration.rb +246 -0
  59. data/lib/bb_payments/models/base_model.rb +177 -0
  60. data/lib/bb_payments/models/batch_pix_body.rb +30 -0
  61. data/lib/bb_payments/models/batch_pix_response.rb +69 -0
  62. data/lib/bb_payments/models/batch_transfers_body.rb +30 -0
  63. data/lib/bb_payments/models/batch_transfers_response.rb +64 -0
  64. data/lib/bb_payments/models/batchtransfers_payments_list.rb +362 -0
  65. data/lib/bb_payments/models/batchtransferscancel_payment_ids.rb +212 -0
  66. data/lib/bb_payments/models/body.rb +274 -0
  67. data/lib/bb_payments/models/error.rb +210 -0
  68. data/lib/bb_payments/models/error_errors.rb +227 -0
  69. data/lib/bb_payments/models/error_o_auth_unauthorized.rb +257 -0
  70. data/lib/bb_payments/models/error_o_auth_unauthorized_attributes.rb +213 -0
  71. data/lib/bb_payments/models/find_batch_payment.rb +93 -0
  72. data/lib/bb_payments/models/find_batch_response.rb +71 -0
  73. data/lib/bb_payments/models/inline_response_200.rb +270 -0
  74. data/lib/bb_payments/models/inline_response_200_1.rb +430 -0
  75. data/lib/bb_payments/models/inline_response_200_1_ocurrences_list.rb +227 -0
  76. data/lib/bb_payments/models/inline_response_200_2.rb +260 -0
  77. data/lib/bb_payments/models/inline_response_200_2_payments_list.rb +399 -0
  78. data/lib/bb_payments/models/inline_response_200_3.rb +487 -0
  79. data/lib/bb_payments/models/inline_response_200_3_lista_boleto.rb +377 -0
  80. data/lib/bb_payments/models/inline_response_200_3_lista_devolucao.rb +227 -0
  81. data/lib/bb_payments/models/inline_response_200_payments_list.rb +289 -0
  82. data/lib/bb_payments/models/inline_response_201.rb +270 -0
  83. data/lib/bb_payments/models/inline_response_201_1.rb +270 -0
  84. data/lib/bb_payments/models/inline_response_201_1_payments_list.rb +299 -0
  85. data/lib/bb_payments/models/inline_response_201_payments_list.rb +399 -0
  86. data/lib/bb_payments/models/inline_response_400.rb +210 -0
  87. data/lib/bb_payments/models/inline_response_401.rb +257 -0
  88. data/lib/bb_payments/models/root_type_for_bank_slip_list.rb +430 -0
  89. data/lib/bb_payments/models/root_type_for_bank_slips_batch_payment.rb +270 -0
  90. data/lib/bb_payments/models/root_type_for_bank_slips_batch_payment_response_object.rb +260 -0
  91. data/lib/bb_payments/models/root_type_for_batch_transfer_get_response_object.rb +230 -0
  92. data/lib/bb_payments/models/root_type_for_batch_transfer_payments_list_get.rb +348 -0
  93. data/lib/bb_payments/models/root_type_for_batch_transfers_cancel_payments_list_object.rb +238 -0
  94. data/lib/bb_payments/models/root_type_for_batch_transfers_cancel_request_object.rb +275 -0
  95. data/lib/bb_payments/models/root_type_for_batch_transfers_cancel_response_object.rb +210 -0
  96. data/lib/bb_payments/models/root_type_for_returned_payments_details.rb +468 -0
  97. data/lib/bb_payments/models/root_type_for_returned_payments_response_object.rb +240 -0
  98. data/lib/bb_payments/models/root_type_for_slips_details_object.rb +408 -0
  99. data/lib/bb_payments/models/transfer_base.rb +128 -0
  100. data/lib/bb_payments/models/transfer_pix.rb +34 -0
  101. data/lib/bb_payments/models/transfer_pix_base.rb +146 -0
  102. data/lib/bb_payments/version.rb +3 -0
  103. data/lib/bb_payments.rb +85 -0
  104. data/spec/api/batch_payments_api_spec.rb +113 -0
  105. data/spec/api_client_spec.rb +225 -0
  106. data/spec/base_object_spec.rb +109 -0
  107. data/spec/configuration_spec.rb +41 -0
  108. data/spec/models/body_spec.rb +76 -0
  109. data/spec/models/error_errors_spec.rb +46 -0
  110. data/spec/models/error_o_auth_unauthorized_attributes_spec.rb +40 -0
  111. data/spec/models/error_o_auth_unauthorized_spec.rb +58 -0
  112. data/spec/models/error_spec.rb +40 -0
  113. data/spec/models/inline_response_200_1_ocurrences_list_spec.rb +52 -0
  114. data/spec/models/inline_response_200_1_spec.rb +172 -0
  115. data/spec/models/inline_response_200_2_payments_list_spec.rb +154 -0
  116. data/spec/models/inline_response_200_2_spec.rb +70 -0
  117. data/spec/models/inline_response_200_3_lista_boleto_spec.rb +142 -0
  118. data/spec/models/inline_response_200_3_lista_devolucao_spec.rb +52 -0
  119. data/spec/models/inline_response_200_3_spec.rb +154 -0
  120. data/spec/models/inline_response_200_payments_list_spec.rb +88 -0
  121. data/spec/models/inline_response_200_spec.rb +76 -0
  122. data/spec/models/inline_response_201_1_payments_list_spec.rb +94 -0
  123. data/spec/models/inline_response_201_1_spec.rb +76 -0
  124. data/spec/models/inline_response_201_payments_list_spec.rb +154 -0
  125. data/spec/models/inline_response_201_spec.rb +76 -0
  126. data/spec/models/inline_response_400_spec.rb +40 -0
  127. data/spec/models/inline_response_401_spec.rb +58 -0
  128. data/spec/models/root_type_for_bank_slip_list_spec.rb +172 -0
  129. data/spec/models/root_type_for_bank_slips_batch_payment_response_object_spec.rb +70 -0
  130. data/spec/models/root_type_for_bank_slips_batch_payment_spec.rb +70 -0
  131. data/spec/models/root_type_for_batch_transfer_get_response_object_spec.rb +52 -0
  132. data/spec/models/root_type_for_batch_transfer_payments_list_get_spec.rb +124 -0
  133. data/spec/models/root_type_for_batch_transfers_cancel_payments_list_object_spec.rb +58 -0
  134. data/spec/models/root_type_for_batch_transfers_cancel_request_object_spec.rb +70 -0
  135. data/spec/models/root_type_for_batch_transfers_cancel_response_object_spec.rb +40 -0
  136. data/spec/models/root_type_for_returned_payments_details_spec.rb +196 -0
  137. data/spec/models/root_type_for_returned_payments_response_object_spec.rb +58 -0
  138. data/spec/models/root_type_for_slips_details_object_spec.rb +136 -0
  139. data/spec/spec_helper.rb +110 -0
  140. metadata +292 -0
@@ -0,0 +1,487 @@
1
+ =begin
2
+ #Payments-VPN
3
+
4
+ #Esta API fornece os serviços de pagamento do Banco do Brasil.
5
+
6
+ OpenAPI spec version: 3.5
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.24
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module BancoBrasilPayments
15
+ # Representação dos campos de resposta de uma solicitação de detalhamento de pagamento de boleto.
16
+ class InlineResponse2003
17
+ # Numero identificador do pagamento consultado.
18
+ attr_accessor :id
19
+
20
+ # Descrição da situação do pagamento: Domínios: - Consistente (pagamento recebido pelo banco, cumprem as regras de preenchimento dos campos mas ainda irá para validação e processamento) - Inconsistente (pagamento não aceito pelo banco por dados de entrada inconsistentes - não cumpre as regras de preenchimento dos campos) - Pago (pagamento efetuado ao favorecido) - Pendente (pagamento validado - pendência de autorização do pagamento por parte do pagador) - Aguardando saldo (débito não efetivado e em verificação de saldo até o horário limite da teimosinha). - Agendado (pagamento autorizado, porém aguardando a data de efetivação do pagamento ou horário de processamento) - Rejeitado (dados do pagamento não passaram na validações físicas e/ou lógicas, precisam ser corrigidos e reenviados. Ex: agência e conta não existem, conta não pertence ao CPF informado) - Cancelado (pagamento cancelado pelo pagador antes da data de efetivação do crédito) - Bloqueado (Débito na conta do pagador não efetivado por ocorrência no convênio, inconsistência de data/float ou falta de saldo) - Devolvido (pagamento efetuado e posteriormente devolvido pelo favorecido ou instituição recebedora. O valor é devolvido para a conta corrente onde ocorreu o débito da requisição)\" - Debitado (pagamento debitado na conta do pagador e pendente de crédito ao favorecido)
21
+ attr_accessor :estado_pagamento
22
+
23
+ # Código do tipo de pagamento efetuado: DOMÍNIOS: 126=Pagamento a Fornecedores; 127=Pagamento de Salários; 128=Pagamentos Diversos
24
+ attr_accessor :tipo_pagamento
25
+
26
+ # Número da agência da Conta Corrente onde foi efetuado o débito para efetivação do pagamento consultado.
27
+ attr_accessor :agencia_debito
28
+
29
+ # Número da Conta Corrente onde foi efetuado o débito para efetivação do pagamento consultado.
30
+ attr_accessor :conta_debito
31
+
32
+ # Digito verificador da Conta corrente onde foi efetuado o débito para efetivação do pagamento consultado.
33
+ attr_accessor :digito_conta_debito
34
+
35
+ # Primeiros 4 numeros do cartao de credito do pagador, caso o debito tenha sido feito nele.
36
+ attr_accessor :numero_cartao_inicio
37
+
38
+ # Ultimos 4 numeros do cartao de credito do pagador, caso o debito tenha sido feito nele.
39
+ attr_accessor :numero_cartao_fim
40
+
41
+ # Numero sequencial da requisição que solicitou o pagamento do lançamento consultado. Nº único controlada pelo cliente conveniado.
42
+ attr_accessor :requisicao_pagamento
43
+
44
+ # Numero do arquivo que o cliente envia quando utilizado CNAB240.
45
+ attr_accessor :arquivo_pagamento
46
+
47
+ # Data efetiva do pagamento (formato ddmmaaaa)
48
+ attr_accessor :data_pagamento
49
+
50
+ # Valor total do pagamento (formato 0.00)
51
+ attr_accessor :valor_pagamento
52
+
53
+ # Numero do documento de debito exibido no extrato do pagador.
54
+ attr_accessor :numero_documento_debito
55
+
56
+ # Código da Forma de transmissão de envio do lançamento consultado. DOMÍNIOS: 1 - API 2 - Arquivo CNAB 3 - Pagamento Online via Gerenciador Financeiro 4 - Sistemas Internos 99 - Outros
57
+ attr_accessor :codigo_transmissao
58
+
59
+ # Campo livre informado pelo pagador quando do envio do lançamento consultado – sem tratamento pelo Banco.
60
+ attr_accessor :descricao_pagamento
61
+
62
+ # Código de autenticação do pagamento.
63
+ attr_accessor :autenticacao_pagamento
64
+
65
+ # Quantidade de ocorrências de devoluções.
66
+ attr_accessor :quantidade_ocorrencia_devolucao
67
+
68
+ # \"Quando valor = 1 indica que o identificador consultado é de boleto. Quando valor = 0 indica que o identificador consultado NÃO é de boleto. Para consulta ao detalhamento do identificador informado utilize o recurso de detalhamento do tipo de pagamento a ser consultado.\"
69
+ attr_accessor :ocorrencia_boleto
70
+
71
+ # Lista de devoluções.
72
+ attr_accessor :lista_devolucao
73
+
74
+ # Lista de boletos.
75
+ attr_accessor :lista_boleto
76
+
77
+ # Attribute mapping from ruby-style variable name to JSON key.
78
+ def self.attribute_map
79
+ {
80
+ :'id' => :'id',
81
+ :'estado_pagamento' => :'estadoPagamento',
82
+ :'tipo_pagamento' => :'tipoPagamento',
83
+ :'agencia_debito' => :'agenciaDebito',
84
+ :'conta_debito' => :'contaDebito',
85
+ :'digito_conta_debito' => :'digitoContaDebito',
86
+ :'numero_cartao_inicio' => :'numeroCartaoInicio',
87
+ :'numero_cartao_fim' => :'numeroCartaoFim',
88
+ :'requisicao_pagamento' => :'requisicaoPagamento',
89
+ :'arquivo_pagamento' => :'arquivoPagamento',
90
+ :'data_pagamento' => :'dataPagamento',
91
+ :'valor_pagamento' => :'valorPagamento',
92
+ :'numero_documento_debito' => :'numeroDocumentoDebito',
93
+ :'codigo_transmissao' => :'codigoTransmissao',
94
+ :'descricao_pagamento' => :'descricaoPagamento',
95
+ :'autenticacao_pagamento' => :'autenticacaoPagamento',
96
+ :'quantidade_ocorrencia_devolucao' => :'quantidadeOcorrenciaDevolucao',
97
+ :'ocorrencia_boleto' => :'ocorrenciaBoleto',
98
+ :'lista_devolucao' => :'listaDevolucao',
99
+ :'lista_boleto' => :'listaBoleto'
100
+ }
101
+ end
102
+
103
+ # Attribute type mapping.
104
+ def self.openapi_types
105
+ {
106
+ :'id' => :'Object',
107
+ :'estado_pagamento' => :'Object',
108
+ :'tipo_pagamento' => :'Object',
109
+ :'agencia_debito' => :'Object',
110
+ :'conta_debito' => :'Object',
111
+ :'digito_conta_debito' => :'Object',
112
+ :'numero_cartao_inicio' => :'Object',
113
+ :'numero_cartao_fim' => :'Object',
114
+ :'requisicao_pagamento' => :'Object',
115
+ :'arquivo_pagamento' => :'Object',
116
+ :'data_pagamento' => :'Object',
117
+ :'valor_pagamento' => :'Object',
118
+ :'numero_documento_debito' => :'Object',
119
+ :'codigo_transmissao' => :'Object',
120
+ :'descricao_pagamento' => :'Object',
121
+ :'autenticacao_pagamento' => :'Object',
122
+ :'quantidade_ocorrencia_devolucao' => :'Object',
123
+ :'ocorrencia_boleto' => :'Object',
124
+ :'lista_devolucao' => :'Object',
125
+ :'lista_boleto' => :'Object'
126
+ }
127
+ end
128
+
129
+ # List of attributes with nullable: true
130
+ def self.openapi_nullable
131
+ Set.new([
132
+ ])
133
+ end
134
+
135
+ # Initializes the object
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ def initialize(attributes = {})
138
+ if (!attributes.is_a?(Hash))
139
+ fail ArgumentError, "The input argument (attributes) must be a hash in `BancoBrasilPayments::InlineResponse2003` initialize method"
140
+ end
141
+
142
+ # check to see if the attribute exists and convert string to symbol for hash key
143
+ attributes = attributes.each_with_object({}) { |(k, v), h|
144
+ if (!self.class.attribute_map.key?(k.to_sym))
145
+ fail ArgumentError, "`#{k}` is not a valid attribute in `BancoBrasilPayments::InlineResponse2003`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
146
+ end
147
+ h[k.to_sym] = v
148
+ }
149
+
150
+ if attributes.key?(:'id')
151
+ self.id = attributes[:'id']
152
+ end
153
+
154
+ if attributes.key?(:'estado_pagamento')
155
+ self.estado_pagamento = attributes[:'estado_pagamento']
156
+ end
157
+
158
+ if attributes.key?(:'tipo_pagamento')
159
+ self.tipo_pagamento = attributes[:'tipo_pagamento']
160
+ end
161
+
162
+ if attributes.key?(:'agencia_debito')
163
+ self.agencia_debito = attributes[:'agencia_debito']
164
+ end
165
+
166
+ if attributes.key?(:'conta_debito')
167
+ self.conta_debito = attributes[:'conta_debito']
168
+ end
169
+
170
+ if attributes.key?(:'digito_conta_debito')
171
+ self.digito_conta_debito = attributes[:'digito_conta_debito']
172
+ end
173
+
174
+ if attributes.key?(:'numero_cartao_inicio')
175
+ self.numero_cartao_inicio = attributes[:'numero_cartao_inicio']
176
+ end
177
+
178
+ if attributes.key?(:'numero_cartao_fim')
179
+ self.numero_cartao_fim = attributes[:'numero_cartao_fim']
180
+ end
181
+
182
+ if attributes.key?(:'requisicao_pagamento')
183
+ self.requisicao_pagamento = attributes[:'requisicao_pagamento']
184
+ end
185
+
186
+ if attributes.key?(:'arquivo_pagamento')
187
+ self.arquivo_pagamento = attributes[:'arquivo_pagamento']
188
+ end
189
+
190
+ if attributes.key?(:'data_pagamento')
191
+ self.data_pagamento = attributes[:'data_pagamento']
192
+ end
193
+
194
+ if attributes.key?(:'valor_pagamento')
195
+ self.valor_pagamento = attributes[:'valor_pagamento']
196
+ end
197
+
198
+ if attributes.key?(:'numero_documento_debito')
199
+ self.numero_documento_debito = attributes[:'numero_documento_debito']
200
+ end
201
+
202
+ if attributes.key?(:'codigo_transmissao')
203
+ self.codigo_transmissao = attributes[:'codigo_transmissao']
204
+ end
205
+
206
+ if attributes.key?(:'descricao_pagamento')
207
+ self.descricao_pagamento = attributes[:'descricao_pagamento']
208
+ end
209
+
210
+ if attributes.key?(:'autenticacao_pagamento')
211
+ self.autenticacao_pagamento = attributes[:'autenticacao_pagamento']
212
+ end
213
+
214
+ if attributes.key?(:'quantidade_ocorrencia_devolucao')
215
+ self.quantidade_ocorrencia_devolucao = attributes[:'quantidade_ocorrencia_devolucao']
216
+ end
217
+
218
+ if attributes.key?(:'ocorrencia_boleto')
219
+ self.ocorrencia_boleto = attributes[:'ocorrencia_boleto']
220
+ end
221
+
222
+ if attributes.key?(:'lista_devolucao')
223
+ if (value = attributes[:'lista_devolucao']).is_a?(Array)
224
+ self.lista_devolucao = value
225
+ end
226
+ end
227
+
228
+ if attributes.key?(:'lista_boleto')
229
+ if (value = attributes[:'lista_boleto']).is_a?(Array)
230
+ self.lista_boleto = value
231
+ end
232
+ end
233
+ end
234
+
235
+ # Show invalid properties with the reasons. Usually used together with valid?
236
+ # @return Array for valid properties with the reasons
237
+ def list_invalid_properties
238
+ invalid_properties = Array.new
239
+ if @id.nil?
240
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
241
+ end
242
+
243
+ if @estado_pagamento.nil?
244
+ invalid_properties.push('invalid value for "estado_pagamento", estado_pagamento cannot be nil.')
245
+ end
246
+
247
+ if @tipo_pagamento.nil?
248
+ invalid_properties.push('invalid value for "tipo_pagamento", tipo_pagamento cannot be nil.')
249
+ end
250
+
251
+ if @agencia_debito.nil?
252
+ invalid_properties.push('invalid value for "agencia_debito", agencia_debito cannot be nil.')
253
+ end
254
+
255
+ if @conta_debito.nil?
256
+ invalid_properties.push('invalid value for "conta_debito", conta_debito cannot be nil.')
257
+ end
258
+
259
+ if @digito_conta_debito.nil?
260
+ invalid_properties.push('invalid value for "digito_conta_debito", digito_conta_debito cannot be nil.')
261
+ end
262
+
263
+ if @numero_cartao_inicio.nil?
264
+ invalid_properties.push('invalid value for "numero_cartao_inicio", numero_cartao_inicio cannot be nil.')
265
+ end
266
+
267
+ if @numero_cartao_fim.nil?
268
+ invalid_properties.push('invalid value for "numero_cartao_fim", numero_cartao_fim cannot be nil.')
269
+ end
270
+
271
+ if @requisicao_pagamento.nil?
272
+ invalid_properties.push('invalid value for "requisicao_pagamento", requisicao_pagamento cannot be nil.')
273
+ end
274
+
275
+ if @arquivo_pagamento.nil?
276
+ invalid_properties.push('invalid value for "arquivo_pagamento", arquivo_pagamento cannot be nil.')
277
+ end
278
+
279
+ if @data_pagamento.nil?
280
+ invalid_properties.push('invalid value for "data_pagamento", data_pagamento cannot be nil.')
281
+ end
282
+
283
+ if @valor_pagamento.nil?
284
+ invalid_properties.push('invalid value for "valor_pagamento", valor_pagamento cannot be nil.')
285
+ end
286
+
287
+ if @numero_documento_debito.nil?
288
+ invalid_properties.push('invalid value for "numero_documento_debito", numero_documento_debito cannot be nil.')
289
+ end
290
+
291
+ if @codigo_transmissao.nil?
292
+ invalid_properties.push('invalid value for "codigo_transmissao", codigo_transmissao cannot be nil.')
293
+ end
294
+
295
+ if @descricao_pagamento.nil?
296
+ invalid_properties.push('invalid value for "descricao_pagamento", descricao_pagamento cannot be nil.')
297
+ end
298
+
299
+ if @autenticacao_pagamento.nil?
300
+ invalid_properties.push('invalid value for "autenticacao_pagamento", autenticacao_pagamento cannot be nil.')
301
+ end
302
+
303
+ if @quantidade_ocorrencia_devolucao.nil?
304
+ invalid_properties.push('invalid value for "quantidade_ocorrencia_devolucao", quantidade_ocorrencia_devolucao cannot be nil.')
305
+ end
306
+
307
+ invalid_properties
308
+ end
309
+
310
+ # Check to see if the all the properties in the model are valid
311
+ # @return true if the model is valid
312
+ def valid?
313
+ return false if @id.nil?
314
+ return false if @estado_pagamento.nil?
315
+ return false if @tipo_pagamento.nil?
316
+ return false if @agencia_debito.nil?
317
+ return false if @conta_debito.nil?
318
+ return false if @digito_conta_debito.nil?
319
+ return false if @numero_cartao_inicio.nil?
320
+ return false if @numero_cartao_fim.nil?
321
+ return false if @requisicao_pagamento.nil?
322
+ return false if @arquivo_pagamento.nil?
323
+ return false if @data_pagamento.nil?
324
+ return false if @valor_pagamento.nil?
325
+ return false if @numero_documento_debito.nil?
326
+ return false if @codigo_transmissao.nil?
327
+ return false if @descricao_pagamento.nil?
328
+ return false if @autenticacao_pagamento.nil?
329
+ return false if @quantidade_ocorrencia_devolucao.nil?
330
+ true
331
+ end
332
+
333
+ # Checks equality by comparing each attribute.
334
+ # @param [Object] Object to be compared
335
+ def ==(o)
336
+ return true if self.equal?(o)
337
+ self.class == o.class &&
338
+ id == o.id &&
339
+ estado_pagamento == o.estado_pagamento &&
340
+ tipo_pagamento == o.tipo_pagamento &&
341
+ agencia_debito == o.agencia_debito &&
342
+ conta_debito == o.conta_debito &&
343
+ digito_conta_debito == o.digito_conta_debito &&
344
+ numero_cartao_inicio == o.numero_cartao_inicio &&
345
+ numero_cartao_fim == o.numero_cartao_fim &&
346
+ requisicao_pagamento == o.requisicao_pagamento &&
347
+ arquivo_pagamento == o.arquivo_pagamento &&
348
+ data_pagamento == o.data_pagamento &&
349
+ valor_pagamento == o.valor_pagamento &&
350
+ numero_documento_debito == o.numero_documento_debito &&
351
+ codigo_transmissao == o.codigo_transmissao &&
352
+ descricao_pagamento == o.descricao_pagamento &&
353
+ autenticacao_pagamento == o.autenticacao_pagamento &&
354
+ quantidade_ocorrencia_devolucao == o.quantidade_ocorrencia_devolucao &&
355
+ ocorrencia_boleto == o.ocorrencia_boleto &&
356
+ lista_devolucao == o.lista_devolucao &&
357
+ lista_boleto == o.lista_boleto
358
+ end
359
+
360
+ # @see the `==` method
361
+ # @param [Object] Object to be compared
362
+ def eql?(o)
363
+ self == o
364
+ end
365
+
366
+ # Calculates hash code according to all attributes.
367
+ # @return [Integer] Hash code
368
+ def hash
369
+ [id, estado_pagamento, tipo_pagamento, agencia_debito, conta_debito, digito_conta_debito, numero_cartao_inicio, numero_cartao_fim, requisicao_pagamento, arquivo_pagamento, data_pagamento, valor_pagamento, numero_documento_debito, codigo_transmissao, descricao_pagamento, autenticacao_pagamento, quantidade_ocorrencia_devolucao, ocorrencia_boleto, lista_devolucao, lista_boleto].hash
370
+ end
371
+
372
+ # Builds the object from hash
373
+ # @param [Hash] attributes Model attributes in the form of hash
374
+ # @return [Object] Returns the model itself
375
+ def self.build_from_hash(attributes)
376
+ new.build_from_hash(attributes)
377
+ end
378
+
379
+ # Builds the object from hash
380
+ # @param [Hash] attributes Model attributes in the form of hash
381
+ # @return [Object] Returns the model itself
382
+ def build_from_hash(attributes)
383
+ return nil unless attributes.is_a?(Hash)
384
+ self.class.openapi_types.each_pair do |key, type|
385
+ if type =~ /\AArray<(.*)>/i
386
+ # check to ensure the input is an array given that the attribute
387
+ # is documented as an array but the input is not
388
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
389
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
390
+ end
391
+ elsif !attributes[self.class.attribute_map[key]].nil?
392
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
393
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
394
+ self.send("#{key}=", nil)
395
+ end
396
+ end
397
+
398
+ self
399
+ end
400
+
401
+ # Deserializes the data based on type
402
+ # @param string type Data type
403
+ # @param string value Value to be deserialized
404
+ # @return [Object] Deserialized data
405
+ def _deserialize(type, value)
406
+ case type.to_sym
407
+ when :DateTime
408
+ DateTime.parse(value)
409
+ when :Date
410
+ Date.parse(value)
411
+ when :String
412
+ value.to_s
413
+ when :Integer
414
+ value.to_i
415
+ when :Float
416
+ value.to_f
417
+ when :Boolean
418
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
419
+ true
420
+ else
421
+ false
422
+ end
423
+ when :Object
424
+ # generic object (usually a Hash), return directly
425
+ value
426
+ when /\AArray<(?<inner_type>.+)>\z/
427
+ inner_type = Regexp.last_match[:inner_type]
428
+ value.map { |v| _deserialize(inner_type, v) }
429
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
430
+ k_type = Regexp.last_match[:k_type]
431
+ v_type = Regexp.last_match[:v_type]
432
+ {}.tap do |hash|
433
+ value.each do |k, v|
434
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
435
+ end
436
+ end
437
+ else # model
438
+ BancoBrasilPayments.const_get(type).build_from_hash(value)
439
+ end
440
+ end
441
+
442
+ # Returns the string representation of the object
443
+ # @return [String] String presentation of the object
444
+ def to_s
445
+ to_hash.to_s
446
+ end
447
+
448
+ # to_body is an alias to to_hash (backward compatibility)
449
+ # @return [Hash] Returns the object in the form of hash
450
+ def to_body
451
+ to_hash
452
+ end
453
+
454
+ # Returns the object in the form of hash
455
+ # @return [Hash] Returns the object in the form of hash
456
+ def to_hash
457
+ hash = {}
458
+ self.class.attribute_map.each_pair do |attr, param|
459
+ value = self.send(attr)
460
+ if value.nil?
461
+ is_nullable = self.class.openapi_nullable.include?(attr)
462
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
463
+ end
464
+
465
+ hash[param] = _to_hash(value)
466
+ end
467
+ hash
468
+ end
469
+
470
+ # Outputs non-array value in the form of hash
471
+ # For object, use to_hash. Otherwise, just return the value
472
+ # @param [Object] value Any valid value
473
+ # @return [Hash] Returns the value in the form of hash
474
+ def _to_hash(value)
475
+ if value.is_a?(Array)
476
+ value.compact.map { |v| _to_hash(v) }
477
+ elsif value.is_a?(Hash)
478
+ {}.tap do |hash|
479
+ value.each { |k, v| hash[k] = _to_hash(v) }
480
+ end
481
+ elsif value.respond_to? :to_hash
482
+ value.to_hash
483
+ else
484
+ value
485
+ end
486
+ end end
487
+ end