Class: Brcobranca::Boleto::Unibanco

Inherits:
Base
  • Object
show all
Defined in:
lib/brcobranca/boleto/unibanco.rb

Overview

Banco UNIBANCO

Instance Attribute Summary

Attributes inherited from Base

#aceite, #agencia, #carteira, #cedente, #codigo_servico, #conta_corrente, #convenio, #data_documento, #data_processamento, #dias_vencimento, #documento_cedente, #especie, #especie_documento, #instrucao1, #instrucao2, #instrucao3, #instrucao4, #instrucao5, #instrucao6, #instrucao7, #local_pagamento, #moeda, #quantidade, #sacado, #sacado_documento, #sacado_endereco, #valor, #variacao

Instance Method Summary collapse

Methods inherited from Base

#agencia_dv, #banco_dv, #codigo_barras, #conta_corrente_dv, #data_vencimento, #fator_vencimento, #logotipo, #valor_documento

Methods included from Template::Base

#define_template

Constructor Details

#initialize(campos = {}) ⇒ Unibanco

Nova instancia do Unibanco

Parameters:

  • campos (Hash) (defaults to: {})


20
21
22
23
# File 'lib/brcobranca/boleto/unibanco.rb', line 20

def initialize(campos={})
  campos = {:carteira => "5"}.merge!(campos)
  super(campos)
end

Instance Method Details

#agencia_conta_boletoString

Número do convênio/contrato do cliente para exibir no boleto.

Examples:

boleto.agencia_conta_boleto #=> "0123 / 0100618-5"

Returns:

  • (String)


71
72
73
# File 'lib/brcobranca/boleto/unibanco.rb', line 71

def agencia_conta_boleto
  "#{self.agencia} / #{self.conta_corrente}-#{self.conta_corrente_dv}"
end

#bancoString

Codigo do banco emissor (3 dígitos sempre)

Returns:

  • (String)

    3 caracteres numéricos.



28
29
30
# File 'lib/brcobranca/boleto/unibanco.rb', line 28

def banco
  "409"
end

#codigo_barras_segunda_parteString

Segunda parte do código de barras.

Cobrança sem registro (CÓDIGO DE BARRAS)<br/> Posição | Tamanho | Descrição<br/> 1 a 3 | 3 | número de identificação do Unibanco: 409 (número FIXO)<br/> 4 | 1 | código da moeda. Real (R$)=9 (número FIXO)<br/> 5 | 1 | dígito verificador do CÓDIGO DE BARRAS<br/> 6 a 9 | 4 | fator de vencimento<br/> 10 a 19 | 10 | valor do título com zeros à esquerda<br/> 20 | 1 | código para transação CVT: 5 (número FIXO)(5=7744-5)<br/> 21 a 27 | 7 | número do cliente no CÓDIGO DE BARRAS + dígito verificador<br/> 28 a 29 | 2 | vago. Usar 00 (número FIXO)<br/> 30 a 43 | 14 | Número de referência do cliente<br/> 44 | 1 | Dígito verificador<br/>

Cobrança com registro (CÓDIGO DE BARRAS)<br/> Posição | Tamanho | Descrição<br/> 1 a 3 | 3 | Número de identificação do Unibanco: 409 (número FIXO)<br/> 4 | 1 | Código da moeda. Real (R$)=9 (número FIXO)<br/> 5 | 1 | dígito verificador do CÓDIGO DE BARRAS<br/> 6 a 9 | 4 | fator de vencimento em 4 algarismos, conforme tabela da página 14<br/> 10 a 19 | 10 | valor do título com zeros à esquerda<br/> 20 a 21 | 2 | Código para transação CVT: 04 (número FIXO) (04=5539-5)<br/> 22 a 27 | 6 | data de vencimento (AAMMDD)<br/> 28 a 32 | 5 | Código da agência + dígito verificador<br/> 33 a 43 | 11 | “Nosso Número” (NNNNNNNNNNN)<br/> 44 | 1 Super dígito do “Nosso Número” (calculado com o MÓDULO 11 (de 2 a 9))<br/>

Returns:

  • (String)

    25 caracteres numéricos.



104
105
106
107
108
109
110
111
112
# File 'lib/brcobranca/boleto/unibanco.rb', line 104

def codigo_barras_segunda_parte
  case self.carteira.to_i
  when 5
    "#{self.carteira}#{self.convenio}00#{self.numero_documento}#{self.nosso_numero_dv}"
  else # 4
    data = self.data_vencimento.strftime('%y%m%d')
    "0#{self.carteira}#{data}#{self.agencia}#{self.agencia_dv}#{self.numero_documento}#{self.nosso_numero_dv}"
  end
end

#convenio=(valor) ⇒ String

Número do convênio/contrato do cliente junto ao banco.

Returns:

  • (String)

    7 caracteres numéricos.



34
35
36
# File 'lib/brcobranca/boleto/unibanco.rb', line 34

def convenio=(valor)
  @convenio = valor.to_s.rjust(7,'0') unless valor.nil?
end

#nosso_numero_boletoString

Nosso número para exibir no boleto.

Examples:

boleto.nosso_numero_boleto #=> "00085068014982-9"

Returns:

  • (String)


63
64
65
# File 'lib/brcobranca/boleto/unibanco.rb', line 63

def nosso_numero_boleto
  "#{self.numero_documento}-#{self.nosso_numero_dv}"
end

#nosso_numero_dvString

Dígito verificador do nosso número.

Returns:

  • (String)

    1 caracteres numéricos.



55
56
57
# File 'lib/brcobranca/boleto/unibanco.rb', line 55

def nosso_numero_dv
  self.numero_documento.modulo11_2to9
end

#numero_documentoString

Número seqüencial utilizado para identificar o boleto.

Carteira 5 = 14 caracteres numéricos.<br/> Carteira 4 = 11 caracteres numéricos.

Returns:

  • (String)


44
45
46
47
48
49
50
51
# File 'lib/brcobranca/boleto/unibanco.rb', line 44

def numero_documento
  case self.carteira.to_i
  when 5
    @numero_documento.to_s.rjust(14,'0')
  else #4
    @numero_documento.to_s.rjust(11,'0')
  end
end