Pacote para geração de boletos, atualmente somente o boleto da Caixa Economica Federal está disponível. Documentação em desenvolvimento.
Basta adicionar ao composer.json
a dependência:
$ composer require cbcaio/boletos-laravel
Após a instação é necessário inserir o provider no seu arquivo de configuração do laravel(config/app.php
):
'providers' => [
// Other service providers...
CbCaio\Boletos\Providers\BoletoServiceProvider::class,
],
Para gerar o arquivo de configuração basta executar o comando artisan a seguir em seu terminal
$ php artisan vendor:publish
Este comando criará 1 arquivo :
config/boletos.php
: Este arquivo é onde, opcionalmente, você pode configurar dados do beneficiario.
Para começar a utilizar o pacote é preciso entender a composição de um boleto. Cada boleto carrega as seguintes informações:
- Informações do Banco
- Informações do Beneficiario
- Informações do Pagador
- Informações do Boleto (valor, data vencimento, etc)
Portanto, inicialmente você precisará fornecer esses dados. Segue um exemplo real de utilização em um controller:
public function generate($boleto)
{
$beneficiario = new BeneficiarioCEF();
$owner = $boleto->owner; // Relação com o usuário pagador
$pagador = new Pagador(
[
'nome' => $owner->codigo_cliente .' - ' . $owner->nome . ' - ' .$owner->cpf_cnpj,
'endereco' => $owner->endereco,
'cidade' => $owner->cidade,
'estado' => $owner->estado,
'cep' => $owner->cep,
'cpf_cnpj' => $owner->cpf_cnpj
]
);
$info = new BoletoInfo(
[
"numero_documento" => $boleto->numero_documento,
"nosso_numero" => $boleto->nosso_numero,
"valor_base" => $boleto->valor_cobrado,
"data_documento" => Carbon::parse($boleto->data_documento),
"data_processamento" => Carbon::parse($boleto->data_processamento),
"data_vencimento" => Carbon::parse($boleto->data_vencimento),
'taxa' => config('boleto')['taxa'],
'multa' => config('boleto')['multa'],
'aceite' => 'NÃO',
'especie_doc' => 'DM',
'especie' => 'R$',
'nome_sacado' => '',
'cpf_cnpj_sacado' => ''
]
);
$boleto = new BoletoCEF(new BancoCEF(), $beneficiario, $pagador, $info);
$boleto
->adicionaDemonstrativo('MULTA DE R$: :multa APOS: :vencimento')
->adicionaDemonstrativo("JUROS DE R$: :taxa AO DIA")
->adicionaInstrucao("- NÃO RECEBER APÓS 30 DIAS DO VENCIMENTO");
$boleto->processaDadosBoleto();
return view('admin.boletos.layouts._cef', compact('boleto'));
}
Por favor veja CHANGELOG para mais informações sobre as ultimas mudanças.
Por favor veja CONTRIBUTING e CONDUCT para mais detalhes.
Se você encontrar algum problema relacionada a segurança do pacote, por favor relate o problema encontrado, me mande um e-mail caio.bolognani@gmail.com ou abra uma issue.
The GPL License (GPL). Por favor veja License File para mais informações.