/Boletos-Laravel

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Boletos Laravel

Latest Version on Packagist Software License Build Status Quality Score Total Downloads

Pacote para geração de boletos, atualmente somente o boleto da Caixa Economica Federal está disponível. Documentação em desenvolvimento.

Como instalar

1 - Via Composer

Basta adicionar ao composer.json a dependência:

$ composer require cbcaio/boletos-laravel

2 - Provider

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,
],

3 - Configuração

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 :

  1. config/boletos.php : Este arquivo é onde, opcionalmente, você pode configurar dados do beneficiario.

Usage

Para começar a utilizar o pacote é preciso entender a composição de um boleto. Cada boleto carrega as seguintes informações:

  1. Informações do Banco
  2. Informações do Beneficiario
  3. Informações do Pagador
  4. 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'));
  }

Change log

Por favor veja CHANGELOG para mais informações sobre as ultimas mudanças.

Contribuindo

Por favor veja CONTRIBUTING e CONDUCT para mais detalhes.

Segurança

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.

Credits

Licensa

The GPL License (GPL). Por favor veja License File para mais informações.