/

boleto

YaBoleto是一个用于在PHP中简单生成银行汇票的库。

v1.8.0 2018-04-26 11:35 UTC

README

Build Status Codacy Badge Code Coverage Latest Stable Version Latest Unstable Version

YaBoleto是一个PHP的新银行汇票组件,但与其他组件相比有什么不同?简单...它被设计成简单且面向对象。我们遵循PSR-0、PSR-1和PSR-2标准,在需要的地方使用项目标准,Voilà。YaBoleto将改变您处理银行汇票的方式。

想要使用YaBoleto?请阅读我们的文档,看看它是多么简单。

安装

Composer

如果您已经熟悉Composer(强烈推荐),只需将以下依赖项添加到您的composer.json文件中的"require"指令即可

$ composer require umbrella/boleto

是的,就这么简单!请记住,每个银行都有一些特殊之处,但通常这些参数是必需的。

umbrellaTech/demo项目包含每个银行的可用参数的功能示例,您可以在那里查看每个银行所需的参数。

支持银行

目前,YaBoleto与以下银行兼容

使用

最简单的方法是使用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

面向对象的方法稍微复杂一些,但提供了更大的灵活性。

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

贡献

欢迎任何贡献。如果您想要将YaBoleto适配到其他银行,请随意探索代码,看看如何轻松地将任何银行集成到库中。要安装,请将项目克隆到Umbrella/YaBoleto文件夹中。

git clone https://github.com/umbrellaTech/ya-boleto-php.git ya-boleto-php/Umbrella/YaBoleto

或者使用composer。

php composer.phar create-project umbrella/boleto ya-boleto-php/Umbrella/YaBoleto dev-master

这是因为遵循PSR-4的自动加载器。

演示

演示应用程序位于YaBoleto Demo存储库中

许可证

  • MIT许可证