kkelf / bbboletocobranca
巴西银行汇票
1.0.11
2024-08-08 07:51 UTC
Requires
- php: >=7.0
- chillerlan/php-qrcode: ^4.3
- dompdf/dompdf: ^1.2.2
- guzzlehttp/guzzle: ^7.0
- illuminate/contracts: ^10.0
- illuminate/support: ^10.0
- league/fractal: ^0.17.0
- nesbot/carbon: ^2.62.
- twig/twig: ^2.15
README
与巴西银行API的集成,用于注册带有QR Code Pix的汇票
基于BBboleto的项目,打印基于novoboletophp。项目链接
- Bbboleto: https://github.com/Ewersonfc/BBboleto
- novoboletophp: https://github.com/jefersondaniel/novoboletophp
安装
Composer
composer require kkelf/bbboletocobranca
或在其composer.json文件中。
"kkelf/bbboletocobranca": "^1.0.0"
如何使用
use BBboletoCobranca\BancoDoBrasil; use BBboletoCobranca\Constants\IndicadorPix; use BBboletoCobranca\Constants\TipoDocumento; use BBboletoCobranca\Entities\PagadorEntity; use BBboletoCobranca\Entities\BeneficiarioEntity; use BBboletoCobranca\Entities\InstrucoesEntity; use BBboletoCobranca\Requests\BoletoRequest; $bancoDoBrasil = new BancoDoBrasil([ 'clientId' => 'xxxxxxxxxxx', 'clientSecret' => 'xxxxxxxxx', 'gw_dev_app_key' => 'xxxxxx', 'logo' => 'http://placehold.it/200&text=logo', 'production' => false, 'formato' => 'html' // ou 'pdf' ]); $beneficiario = new BeneficiarioEntity; $beneficiario->setTipoDocumento(TipoDocumento::CNPJ) ->setDocumento('92.862.701/0001-58') ->setNome('DOCERIA BARBOSA DE ALMEIDA'); $pagador = new PagadorEntity; $pagador->setTipoDocumento(TipoDocumento::CPF) ->setDocumento('97965940132') ->setNome('João da Costa Antunes') ->setLogradouro('Avenida Dias Gomes 1970') ->setCep(77458000) ->setMunicipio('Sucupira') ->setBairro('Centro') ->setUf('TO'); $instrucoes = new InstrucoesEntity; $instrucoes->setInstrucoes([ '- instrução 1', '- instrução teste 2', '- instrução teste 3', ]) ->setDemonstrativo("Demonstrativo teste"); $boletoRequest = new BoletoRequest(); $boletoRequest->setConvenio(3128557) ->setCarteira(17) ->setVariacaoCarteira(35) ->setDataEmissao('2023-08-23') ->setDataVencimento('31/08/2023') ->setValorOriginal('00,21') ->setSeuNumero('987654321987654') // número para controle ->setNossoNumero('0000100017') // nosso número sequencial do banco ->setPagador($pagador) ->setBeneficiario($beneficiario) ->setInstrucoes($instrucoes) ->setIndicadorPix(IndicadorPix::QRCODE_DINAMICO); //se o formato for pdf será baixado automaticamente no register $data = $bancoDoBrasil->register($boletoRequest); echo $data;
说明
要添加在汇票上打印的说明,需要填写“说明”实体并在BoletoRequest中设置。
以下添加的说明将在汇票上打印,它们与折扣、利息、罚款以及与应向付款人展示的信息相关的任何特定性有关。
// ... code use BBboletoCobranca\Entities\InstrucoesEntity; $instrucoes = new InstrucoesEntity; $instrucoes->setInstrucoes([ '- instrução 1', '- instrução teste 2', '- instrução teste 3', ])->setDemonstrativo("Demonstrativo teste"); $boletoRequest = new BoletoRequest(); //... outros set's ->setInstrucoes($instrucoes) // ...
折扣
要添加汇票中的折扣说明,需要填写“折扣”实体并在BoletoRequest中设置。
注意:折扣是可选的,如果标题中没有折扣,则不需要填写此实体,也不需要在Request中设置
// ... code use BBboletoCobranca\Entities\DescontoEntity; use BBboletoCobranca\Constants\Desconto; $desconto = new DescontoEntity; $desconto->setTipo(Desconto::VALOR) ->setData('10/07/2018') ->setValor('5.00'); $boletoRequest = new BoletoRequest(); //... outros set's ->setDesconto($desconto) // ...
利息
要添加汇票中的利息说明,需要填写“利息”实体并在BoletoRequest中设置。
利息具有一系列提供的信息值,如果传递方式不正确,银行将不接受数据,并且不会注册汇票。
注意:利息是可选的,如果标题中没有折扣,则不需要填写此实体,也不需要在Request中设置
// ... code use BBboletoCobranca\Entities\JurosEntity; use BBboletoCobranca\Constants\Juros; // ... code $juros = new JurosEntity; $juros->setTipo(Juros::VALOR_POR_DIA_DE_ATRASO) ->setValor('10.00'); $boletoRequest = new BoletoRequest(); //... outros set's ->setJuros($juros) // ...
罚款
要添加汇票中的罚款说明,需要填写“罚款”实体并在BoletoRequest中设置。
罚款与利息一样,具有一系列提供的信息值,如果传递方式不正确,银行将不接受数据,并且不会注册汇票。
注意:罚款是可选的,如果标题中没有折扣,则不需要填写此实体,也不需要在Request中设置
// ... code use BBboletoCobranca\Entities\MultaEntity; use BBboletoCobranca\Constants\Multa; // ... code $multa = new MultaEntity; $multa->setTipo(Multa::VALOR) ->setValor('10.00'); $boletoRequest = new BoletoRequest(); //... outros set's ->setMulta($multa) // ...
担保人
要添加汇票中的担保人,需要填写“罚款”实体并在BoletoRequest中设置。
注意:担保人是可选的,如果标题中没有折扣,则不需要填写此实体,也不需要在Request中设置
// ... code use BBboletoCobranca\Constants\TipoDocumento; use BBboletoCobranca\Entities\AvalistaEntity; // ... code $avalista = new AvalistaEntity; $avalista->setTipoDocumento(TipoDocumento::CNPJ) ->setDocumento('09.123.123\0001-81') ->setNome('Ewerson Carvalho'); $boletoRequest = new BoletoRequest(); //... outros set's ->setAvalista($avalista) // ...