juizmill/boleto-zend-framework

Modulo Zend Framework para boletos

0.1.2 2017-08-11 20:24 UTC

This package is not auto-updated.

Last update: 2024-04-28 01:55:34 UTC


README

Packagist Build Status Packagist Code Climate Test Coverage Issue Count

Modulo Zend Framework para boletos

Este projeto é uma adaptação do projeto laravel-boleto Para ZF3.

Configuração

No arquivo module.config.php adiciona BoletoZendFramework

Copie o arquivo boleto-zendframework.golbal.php para a pasta autoload do seu projeto, este arquivo você configura alguns parametros do banco.

No controller você pode fazer algo deste tipo sendo que $this->boletoService é o serviço boleto.zend.framework

    public function boletoAction()
    {
        $pagador = [
            'nome' => 'Cliente',
            'endereco' => 'Rua um, 123',
            'bairro' => 'Bairro',
            'cep' => '99999-999',
            'uf' => 'UF',
            'cidade' => 'CIDADE',
            'documento' => '999.999.999-99',
        ];

        $dadosBoleto = [
            'dataVencimento' => new \Carbon\Carbon('1790-01-01'),
            'valor' => 100.00,
            'numero' => 1,
            'numeroDocumento' => 1,
            'codigoCliente' => 99999,
        ];

        $boleto = $this->boletoService->setDadosBoleto($dadosBoleto)
            ->setDadosPagador($pagador)
            ->getBoleto(BoletoServiceInterface::CAIXA);

        $response = new Response();
        $header = new Headers();
        $header->addHeaders([
            'Content-Type' => 'application/pdf',
            'Content-Disposition' => 'inline; boleto.pdf',
        ]);
        $response->setHeaders($header);
        $response->setStatusCode(200);
        $response->setContent($boleto->renderPDF());

        return $response;
    }

Caso prefira usar a estratégia, basta adicionar no module.config.php

    'view_manager' => [
        'strategies' => [
            'ViewPdfStrategy'
        ],
    ]

No controller você faz desta forma:

        $boleto = $this->boletoService->setDadosBoleto($dadosBoleto)
            ->setDadosPagador($pagador)
            ->getBoleto(BoletoServiceInterface::CAIXA);

        return new BoletoPdfModel(['data' => $boleto], ['name' => 'Nome do boleto para donwload']);