umbrella / boleto
YaBoleto é uma biblioteca para geração de boletos bancários de forma simples em PHP.
Installs: 31 225
Dependents: 1
Suggesters: 0
Security: 0
Stars: 32
Watchers: 9
Forks: 13
Open Issues: 4
Requires
- php: >=5.3
- respect/validation: ~0.9.0|^1.1
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2024-11-04 22:01:15 UTC
README
O YaBoleto e um novo componete de boleto bancario em PHP, mas qual a diferença dos outros? Simples... Ele foi projetado de forma simples e Orientada a Objetos. Seguimos os padrões PSR-0, PSR-1 e PSR-2, utilizamos padrões de projetos onde seria necessário e Voilà. O YaBoleto vai mudar a forma de como você trabalha com boletos bancários.
Quer utilizar o YaBoleto? Leia nossa documentaçao e veja como é simples.
Instalação
Composer
Se você já conhece o Composer (o que é extremamente recomendado), simplesmente adicione a dependência abaixo à diretiva "require" no seu composer.json:
$ composer require umbrella/boleto
Sim, só isso! Lembre-se de que cada banco possui alguma particularidade, mas em geral são estes parâmetros os obrigatórios.
O projeto umbrellaTech/demo possui um exemplo funcional de cada banco, você pode verificar lá quais são os parâmetros necessários para cada banco.
Bancos suportados
Atualmente o YaBoleto funciona com os bancos abaixo:
Uso
A forma mais simples é utilizar o Builder.
use Umbrella\YaBoleto\Builder\BoletoBuilder; use Umbrella\YaBoleto\Endereco; use Umbrella\YaBoleto\Cnpj; use Umbrella\YaBoleto\Cpf; // sacado... $nomeSacado = "John Doe"; $documentoSacado = new Cpf("090.076.684-04"); $enderecoSacado = new Endereco( "Setor de Clubes Esportivos Sul (SCES) - Trecho 2 - Conjunto 31 - Lotes 1A/1B", "70200-002", "Brasília", "DF" ); // cedente... $nomeCedente = "ACME Corporation Inc."; $documentoCedente = new Cnpj("01.122.241/0001-76"); $enderecoCedente = new Endereco( "Setor de Clubes Esportivos Sul (SCES) - Trecho 2 - Conjunto 31 - Lotes 1A/1B", "70200-002", "Brasília", "DF" ); $builder = new BoletoBuilder(BoletoBuilder::BRADESCO); $boleto = $builder->sacado(BoletoBuilder::PESSOA_FISICA, $nomeSacado, $documentoSacado, $enderecoSacado) ->cedente($nomeCedente, $documentoCedente, $enderecoCedente) ->banco("0564", "0101888") ->carteira("06") ->convenio("0101888", "77000009017") ->build(250, "77000009017", new \DateTime("2015-03-24")); echo $boleto->getLinhaDigitavel() // 23790.56407 67700.000903 17010.188807 8 63770000025000
A forma Orientada a Objetos é um pouco mais trabalhossa, mas permite maior flexibilidade.
use Umbrella\YaBoleto\Bancos\Bradesco\Convenio; use Umbrella\YaBoleto\Bancos\Bradesco\Bradesco; use Umbrella\YaBoleto\Bancos\Bradesco\Carteira\Carteira06; use Umbrella\YaBoleto\Bancos\Bradesco\Boleto\Bradesco as BoletoBradesco; use Umbrella\YaBoleto\PessoaFisica; use Umbrella\YaBoleto\Cedente; use Umbrella\YaBoleto\Sacado; use Umbrella\YaBoleto\Cnpj; use Umbrella\YaBoleto\Cpf; // sacado... $nomeSacado = "John Doe"; $documentoSacado = new Cpf("090.076.684-04"); $enderecoSacado = new Endereco( "Setor de Clubes Esportivos Sul (SCES) - Trecho 2 - Conjunto 31 - Lotes 1A/1B", "70200-002", "Brasília", "DF" ); // cedente... $nomeCedente = "ACME Corporation Inc."; $documentoCedente = new Cnpj("01.122.241/0001-76"); $enderecoCedente = new Endereco( "Setor de Clubes Esportivos Sul (SCES) - Trecho 2 - Conjunto 31 - Lotes 1A/1B", "70200-002", "Brasília", "DF" ); $banco = new Bradesco("0564", "0101888"); $carteira = new Carteira06(); $convenio = new Convenio($banco, $carteira, "0101888", "77000009017"); $pessoaFisica = new PessoaFisica($nomeSacado, $documentoSacado, $enderecoSacado); $sacado = new Sacado($pessoaFisica); $cedente = new Cedente($nomeCedente, $documentoCedente, $enderecoCedente); $boleto = new BoletoBradesco($sacado, $cedente, $convenio); $boleto ->setValorDocumento(50) ->setNumeroDocumento(2) ->setDataVencimento(new \DateTime('2014-09-02')) ->gerarCodigoBarraLinhaDigitavel(); echo $boleto->getLinhaDigitavel() // 23790.56407 67700.000903 17010.188807 8 63770000025000
Contribua
Toda contribuição é bem vinda. Se você deseja adaptar o YaBoleto a algum outro banco, fique à vontade para explorar o código, veja como é bastante simples integrar qualquer banco à biblioteca. Para instalar clone o projeto dentro da pasta Umbrella/YaBoleto.
git clone https://github.com/umbrellaTech/ya-boleto-php.git ya-boleto-php/Umbrella/YaBoleto
Ou usando o composer.
php composer.phar create-project umbrella/boleto ya-boleto-php/Umbrella/YaBoleto dev-master
Isso se deve por conta do autoloader que segue a PSR-4.
Demo
A aplicação de demonstração está no repositório YaBoleto Demo
Licença
- MIT License