mtferreira / cnab_php
该包最新版本(1.4.7)没有可用的许可信息。
用于创建CNAB格式发送文件和处理返回文件的工程项目
1.4.7
2016-08-05 17:37 UTC
Requires
- php: >=5.3.0
- mustangostang/spyc: 0.5.*
- nandodutra/cnab_yaml: 1.3.1
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/php-code-coverage: 1.2.*
- phpunit/phpunit: 3.7.*
README
用于创建CNAB格式发送文件和处理返回文件的工程项目,通常用于银行中的银行汇票。
功能
- 读取和生成CNAB 240和400格式的发送文件和返回文件
安装
Composer
如果您已经熟悉 Composer,请将以下依赖项添加到您的 composer.json 文件中的 "require" 指令
"mtferreira/cnab_php": "dev-master"
如何使用
读取返回文件
$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 } }
创建发送文件
$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');
如何贡献
您可以贡献测试(单元测试或手动测试),或通过cnab_yaml项目(https://github.com/andersondanilo/cnab_yaml)(cnab_php所使用)将格式适配到其他银行。请阅读wiki
许可证
本项目采用MIT许可证