Class: Brcobranca::Boleto::Itau
- Defined in:
- lib/brcobranca/boleto/itau.rb
Overview
Banco Itaú
Instance Attribute Summary collapse
-
#seu_numero ⇒ Object
Usado somente em carteiras especiais com registro para complementar o número do cocumento.
Attributes inherited from Base
#aceite, #agencia, #avalista, #avalista_documento, #carteira, #carteira_label, #cedente, #cedente_endereco, #codigo_servico, #conta_corrente, #convenio, #data_documento, #data_processamento, #data_vencimento, #demonstrativo, #descontos_e_abatimentos, #documento_cedente, #documento_numero, #emv, #especie, #especie_documento, #instrucao1, #instrucao2, #instrucao3, #instrucao4, #instrucao5, #instrucao6, #instrucao7, #instrucoes, #local_pagamento, #moeda, #nosso_numero, #quantidade, #sacado, #sacado_documento, #sacado_endereco, #valor, #variacao
Instance Method Summary collapse
-
#agencia_conta_boleto ⇒ String
Agência + conta corrente do cliente para exibir no boleto.
-
#agencia_conta_corrente_dv ⇒ Object
Calcula o dígito verificador para conta corrente do Itau.
-
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre).
-
#codigo_barras_segunda_parte ⇒ String
Segunda parte do código de barras.
-
#conta_corrente=(valor) ⇒ String
Conta corrente.
-
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
-
#initialize(campos = {}) ⇒ Itau
constructor
Nova instancia do Itau.
-
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
-
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
-
#nosso_numero_dv ⇒ String
Dígito verificador do nosso número.
- #usa_seu_numero? ⇒ Boolean
Methods inherited from Base
#agencia_dv, #banco_dv, #codigo_barras, #conta_corrente_dv, #fator_vencimento, #logotipo, #valor_documento
Methods included from Template::Base
Methods included from Validations
#errors, included, #invalid?, #valid?
Constructor Details
#initialize(campos = {}) ⇒ Itau
Nova instancia do Itau
19 20 21 22 |
# File 'lib/brcobranca/boleto/itau.rb', line 19 def initialize(campos = {}) campos = { carteira: '175' }.merge!(campos) super(campos) end |
Instance Attribute Details
#seu_numero ⇒ Object
Usado somente em carteiras especiais com registro para complementar o número do cocumento
8 9 10 |
# File 'lib/brcobranca/boleto/itau.rb', line 8 def seu_numero @seu_numero end |
Instance Method Details
#agencia_conta_boleto ⇒ String
Agência + conta corrente do cliente para exibir no boleto.
93 94 95 |
# File 'lib/brcobranca/boleto/itau.rb', line 93 def agencia_conta_boleto "#{agencia} / #{conta_corrente}-#{agencia_conta_corrente_dv}" end |
#agencia_conta_corrente_dv ⇒ Object
Calcula o dígito verificador para conta corrente do Itau. Retorna apenas o dígito verificador da conta ou nil caso seja impossível calcular.
77 78 79 |
# File 'lib/brcobranca/boleto/itau.rb', line 77 def agencia_conta_corrente_dv "#{agencia}#{conta_corrente}".modulo10 end |
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre)
27 28 29 |
# File 'lib/brcobranca/boleto/itau.rb', line 27 def banco '341' end |
#codigo_barras_segunda_parte ⇒ String
Segunda parte do código de barras.
CARTEIRAS 198, 106, 107,122, 142, 143, 195 e 196<br/> 01 a 03 | 03 | 9(3) | Código do Banco na Câmara de Compensação = ‘341’<br/> 04 a 04 | 01 | 9(1) | Código da Moeda = ‘9’<br/> 05 a 05 | 01 | 9(1) | DAC do Código de Barras MOD 11-2a9<br/> 06 a 09 | 04 | 9(04) | Fator de Vencimento<br/> 10 a 19 | 10 | 9(08) | V(2) Valor<br/> 20 a 22 | 03 | 9(3) | Carteira<br/> 23 a 30 | 08 | 9(8) | Nosso Número<br/> 31 a 37 | 07 | 9(7) | Seu Número (Número do Documento)<br/> 38 a 42 | 05 | 9(5) | Código do Cliente (fornecido pelo Banco)<br/> 43 a 43 | 01 | 9(1) | DAC dos campos acima (posições 20 a 42) MOD 10<br/> 44 a 44 | 01 | 9(1) | Zero<br/>
DEMAIS CARTEIRAS<br/> 01 a 03 | 03 | 9(03) | Código do Banco na Câmara de Compensação = ‘341’<br/> 04 a 04 | 01 | 9(01) | Código da Moeda = ‘9’<br/> 05 a 05 | 01 | 9(01) | DAC código de Barras MOD 11-2a9<br/> 06 a 09 | 04 | 9(04) | Fator de Vencimento<br/> 10 a 19 | 10 | 9(08)V(2) | Valor<br/> 20 a 22 | 03 | 9(03) | Carteira<br/> 23 a 30 | 08 | 9(08) | Nosso Número<br/> 31 a 31 | 01 | 9(01) | DAC [Agência /Conta/Carteira/Nosso Número] MOD 10<br/> 32 a 35 | 04 | 9(04) | N.º da Agência cedente<br/> 36 a 40 | 05 | 9(05) | N.º da Conta Corrente<br/> 41 a 41 | 01 | 9(01) | DAC [Agência/Conta Corrente] MOD 10<br/> 42 a 44 | 03 | 9(03) | Zeros<br/>
127 128 129 130 131 132 133 134 135 |
# File 'lib/brcobranca/boleto/itau.rb', line 127 def case carteira.to_i when 198, 106, 107, 122, 142, 143, 195, 196 dv = "#{carteira}#{nosso_numero}#{seu_numero}#{convenio}".modulo10 "#{carteira}#{nosso_numero}#{seu_numero}#{convenio}#{dv}0" else "#{carteira}#{nosso_numero}#{nosso_numero_dv}#{agencia}#{conta_corrente}#{agencia_conta_corrente_dv}000" end end |
#conta_corrente=(valor) ⇒ String
Conta corrente
39 40 41 |
# File 'lib/brcobranca/boleto/itau.rb', line 39 def conta_corrente=(valor) @conta_corrente = valor.to_s.rjust(5, '0') if valor end |
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
33 34 35 |
# File 'lib/brcobranca/boleto/itau.rb', line 33 def convenio=(valor) @convenio = valor.to_s.rjust(5, '0') if valor end |
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
45 46 47 |
# File 'lib/brcobranca/boleto/itau.rb', line 45 def nosso_numero=(valor) @nosso_numero = valor.to_s.rjust(8, '0') if valor end |
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
85 86 87 |
# File 'lib/brcobranca/boleto/itau.rb', line 85 def nosso_numero_boleto "#{carteira}/#{nosso_numero}-#{nosso_numero_dv}" end |
#nosso_numero_dv ⇒ String
Dígito verificador do nosso número.
Para a grande maioria das carteiras, são considerados para a obtenção do DAC/DV, os dados “AGENCIA(sem DAC/DV)/CONTA(sem DAC/DV)/CARTEIRA/NOSSO NUMERO”, calculado pelo criterio do Modulo 10.<br/> A excecao, estão as carteiras 112, 126, 131, 146, 150 e 168 cuja obtenção esta baseada apenas nos dados “CARTEIRA/NOSSO NUMERO”.
67 68 69 70 71 72 73 |
# File 'lib/brcobranca/boleto/itau.rb', line 67 def nosso_numero_dv if %w[112 126 131 146 150 168].include?(carteira) "#{carteira}#{nosso_numero}".modulo10 else "#{agencia}#{conta_corrente}#{carteira}#{nosso_numero}".modulo10 end end |
#usa_seu_numero? ⇒ Boolean
55 56 57 |
# File 'lib/brcobranca/boleto/itau.rb', line 55 def usa_seu_numero? %w[198 106 107 122 142 143 195 196].include?(carteira.to_s) end |