versatecnologia/cnab_php
Composer 安装命令:
composer require versatecnologia/cnab_php
包简介
Projeto para criar arquivos de remessas e processar arquivos de retorno no formato CNAB
README 文档
README
Projeto para criar arquivos de remessas e processar arquivos de retorno no formato CNAB, utilizado nos bancos geralmente para boleto bancário.
Funcionalidades
- Leitura e geração de arquivos de retorno e remessa nos formatos CNAB 240 e 400
| Banco | Versão da Remessa | Versão do Retorno |
|---|---|---|
| Banco do Brasil | 240 | |
| Bradesco | 240 | |
| Caixa | 240 | 240 e 400 |
| Itaú | 400 (Falta testar) | 400 |
| Santander | 240 | |
| Sicoob | 240 | 240 e 400 |
Instalação
Composer
Se você já conhece o Composer, adicione a dependência abaixo à diretiva "require" no seu composer.json:
"versatecnologia/cnab_php": "dev-master"
Como Usar
Lendo um arquivo de Retorno
$cnabFactory = new Cnab\Factory(); $arquivo = $cnabFactory->createRetorno('AQUI VAI O CAMINHO DO ARQUIVO DE RETORNO, EX: RET1010.RET'); $detalhes = $arquivo->listDetalhes(); foreach($detalhes as $detalhe) { if($detalhe->getValorRecebido() > 0) { $nossoNumero = $detalhe->getNossoNumero(); $valorRecebido = $detalhe->getValorRecebido(); $dataPagamento = $detalhe->getDataOcorrencia(); $carteira = $detalhe->getCarteira(); // você já tem as informações, pode dar baixa no boleto aqui } }
Criando um arquivo de remessa
$codigo_banco = Cnab\Banco::CEF; $arquivo = new Cnab\Remessa\Cnab400\Arquivo($codigo_banco); $arquivo->configure(array( 'data_geracao' => new DateTime(), 'data_gravacao' => new DateTime(), 'nome_fantasia' => 'Nome Fantasia da sua empresa', 'razao_social' => 'Razão social da sua empresa', 'cnpj' => 'CPNJ da sua empresa', 'banco' => $codigo_banco, //código do banco 'logradouro' => 'Logradouro da Sua empresa', 'numero' => 'Número do endereço', 'bairro' => 'Bairro da sua empresa', 'cidade' => 'Cidade da sua empresa', 'uf' => 'Sigla da cidade, ex SP', 'cep' => 'CEP do endereço da sua cidade', 'agencia' => 'Agencia da conta', 'conta' => 'Número da conta', 'operacao' => 'Operação', 'codigo_cedente' => 'Código do Cedente', 'codigo_cedente_dac' => 'Digito verificador do código do cedente', )); // você pode adicionar vários boletos em uma remessa $arquivo->insertDetalhe(array( 'codigo_ocorrencia' => 1, // 1 = Entrada de título, futuramente poderemos ter uma constante 'nosso_numero' => 'Nosso número do boleto', 'numero_documento' => 'Seu Número / Número do Documento', 'carteira' => 'Carteira do Boleto', 'especie' => Cnab\Especie::CEF_OUTROS, // Você pode consultar as especies Cnab\Especie::CEF_OUTROS, futuramente poderemos ter uma tabela na documentação 'valor' => 100.39, // Valor do boleto 'instrucao1' => 2, // 1 = Protestar com (Prazo) dias, 2 = Devolver após (Prazo) dias, futuramente poderemos ter uma constante 'instrucao2' => 0, // preenchido com zeros 'sacado_nome' => 'Nome do cliente', // O Sacado é o cliente, preste atenção nos campos abaixo 'sacado_tipo' => 'cpf', //campo fixo, escreva 'cpf' (sim as letras cpf) se for pessoa fisica, cnpj se for pessoa juridica 'sacado_cpf' => 'CPF do Cliente', 'sacado_logradouro' => 'Logradouro do cliente', 'sacado_bairro' => 'Bairro do cliente', 'sacado_cep' => 'CEP do cliente (somente numeros, sem hífen)', 'sacado_cidade' => 'Cidade do cliente', 'sacado_uf' => 'Sigla do estado do cliente', 'data_vencimento' => new DateTime('Data de vencimento do Boleto, ex: 2014-06-08'), 'data_cadastro' => new DateTime('Data de criação do Boleto, ex: 2014-06-01'), 'juros_de_um_dia' => 0.10, // Valor do juros de 1 dia' 'data_desconto' => new DateTime('Data limite para desconto, ex: 2014-06-01'), 'valor_desconto' => 10.0, // Valor do desconto 'prazo' => 10, // prazo de dias para o cliente pagar após o vencimento 'taxa_de_permanencia' => '0', //00 = Acata Comissão por Dia (recomendável), 51 Acata Condições de Cadastramento na CAIXA 'mensagem' => 'Descrição do boleto', 'data_multa' => new DateTime('Data da multa, ex: 2014-06-09'), // data da multa 'valor_multa' => 10.0, // valor da multa )); // para salvar $arquivo->save('meunomedearquivo');
Como Contribuir
Você pode contribuir com testes (unitários ou manuais), ou adaptando o formato para outro banco através do projeto cnab_yaml (https://github.com/andersondanilo/cnab_yaml) (que é utilidado pelo cnab_php). Leia a wiki
Licença
Este projeto esta sobre a licença MIT
versatecnologia/cnab_php 适用场景与选型建议
versatecnologia/cnab_php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 120.23k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2018 年 03 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「boleto」 「remessa」 「retorno」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 versatecnologia/cnab_php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 versatecnologia/cnab_php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 versatecnologia/cnab_php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Projeto para criar arquivos de remessas e processar arquivos de retorno no formato CNAB
Asaas.com PHP API v3 Wrapper
Gerador de Boleto Sicredi
Projeto para criar arquivos de remessas e processar arquivos de retorno no formato CNAB
Especificação do formato Cnab240 e Cnab400 traduzida para Yaml
Fitbank SDK for PHP
统计信息
- 总下载量: 120.23k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2018-03-13