Gerando boletos com Rails
Leia em 1 minuto
Como não vi ninguém falando nada sobre o assunto, e provavelmente vou precisar no meu projeto. Por isso, estou desenvolvendo um sistema para gerar boletos através do Rails. A geração de boletos do Itaú já está pronta, mas pretendo implementar os principais bancos como Real, Brasil e Bradesco.
Muito provavelmente este código não está otimizado ao máximo. Se alguém vir pontos que podem ser otimizados, por favor, me avisem! Outra coisa: ele ainda não foi homologado junto ao banco, mas esta é a parte mais fácil. Se você tiver que utilizar este código, você precisará enviar algumas cópias impressas para o banco para validação.
Gerando os boletos
Primeiro, adicione a linha abaixo no arquivo "environment.rb".
require 'boleto'
Aí, para gerar seu boleto, você faz a instanciação diretamente no controller.
def boleto
@boleto = Itau.new
@boleto.cedente = "Nando Vieira"
@boleto.sacado = "José da Silva"
@boleto.documento_cedente = "123.456.789-00"
@boleto.pixel_branco = 'b.gif'
@boleto.pixel_preto = 'p.gif'
@boleto.valor = 30.00
@boleto.agencia = "0047"
@boleto.conta_corrente = "52881"
@boleto.nosso_numero = "00001050"
@boleto.numero_documento = "00513"
@boleto.data_vencimento = Date.today
@boleto.local_pagamento = "PAGÁVEL NA REDE BANCÁRIA ATÉ O VENCIMENTO"
@boleto.instrucao1 = "Pagável na rede bancária até a data de vencimento. Após o vencimento pagável somente nas agências do Itaú"
@boleto.instrucao2 = "DESCONTO DE R$ 59,00 ATÉ 05/11/2006"
@boleto.instrucao3 = "DESCONTO DE R$ 29,50 APÓS 05/11/2006 ATÉ 15/11/2006"
@boleto.instrucao4 = "NÃO RECEBER APÓS 15/11/2006"
@boleto.instrucao5 = ""
@boleto.instrucao6 = "ACRESCER R$ 4,00 REFERENTE AO BOLETO BANCÁRIO"
@boleto.sacado_linha1 = "José da Silva"
@boleto.sacado_linha2 = "CPF: 123.456.789-00"
@boleto.criar()
render :layout => false
end
Lembre-se: você precisa definir o atributo como @boleto
pois é assim que está na view.
O ideal é criar um plugin (acts_as_boleto
talvez?) que já faz toda a parte de banco de dados também. No momento não tenho o tempo necessário para aprender a fazer plugins, por isso, se alguém se habilitar...
Licença
A licença é a mesma do Ruby on Rails, ou seja, MIT.
Downloads
- boleto.tar.gz (11KB)