Pacote para gerar pagamentos através de arquivos de remessas e leitura de retorno.
| Banco | Transferências entre contas | Pagamento de Títulos de Cobrança | Pagamento de Convênios e Tributos | Importação de folha de pagamento | 
|---|---|---|---|---|
| Sicredi | ✅ | |||
| Bancoob (Sicoob) | ✅ | 
✴️ necessita de homologação
Via composer:
composer require murilosandiego/pagamento:dev-master
Ou adicione manualmente ao seu composer.json:
"murilosandiego/pagamento": "dev-master"
$empresa = new \Murilo\Pagamento\Pessoa(
    [
        'nome'        => 'ACME',
        'endereco'    => 'Rua UM',
        'numero'      => '123',
        'bairro'      => 'Bairro',
        'cep'         => '99999-999',
        'uf'          => 'UF',
        'cidade'      => 'Cidade',
        'documento'   => '99.999.999/0001-99',
    ]
);
$favorecido = new \Murilo\Pagamento\Pessoa(
    [
        'nome'      => 'Favorecido',
        'endereco'  => 'Rua Um',
        'numero'    => '123',
        'bairro'    => 'Bairro',
        'cep'       => '00000-000',
        'uf'        => 'UF',
        'cidade'    => 'Cidade',
        'documento' => '999.999.999-99',
    ]
);$pagamento = new \Murilo\Pagamento\Pagamento\Banco\Sicredi(
    [
        'data' => new \Carbon\Carbon(),
        'finalidade' => '00011',
        'valor' => 10,
        'numeroDocumento' => 1,
        'banco' => 237,
        'agencia' => 9999,
        'conta' => 999999,
        'contaDv' => 9,
        'favorecido' => $favorecido
    ]
);$remessa = new \Murilo\Pagamento\Cnab\Remessa\Cnab240\Banco\Sicredi(
    [
        'agencia'      => 9999,
        'agenciaDv'    => 9,
        'carteira'     => '1',
        'conta'        => 99999,
        'contaDv'      => 9,
        'idremessa'    => 1,
        'beneficiario' => $empresa,
        'codigoCliente' => '99AA'
    ]
);
// Adicionar um pagamento
$remessa->addPagamento($pagamento);
// Ou para adicionar um array de pagamentos
$pagamentos = [];
$pagamentos[] = $pagamento1;
$pagamentos[] = $pagamento2;
$pagamentos[] = $pagamento3;
$remessa->addPagamentos($pagamentos);
//Gerar remessa
echo $remessa->gerar();
//Salvar remessa
echo $remessa->save(__DIR__ . DIRECTORY_SEPARATOR . 'arquivos' . DIRECTORY_SEPARATOR . 'sicredi_pagamento.txt');$retorno = \Murilo\Pagamento\Cnab\Retorno\Factory::make('/caminho/para/arquivo.RET');
$retorno->processar();
echo $retorno->getBancoNome();
// Retorno implementa \SeekableIterator, sendo assim, podemos utilizar o foreach da seguinte forma:
foreach($retorno as $registro) {
	var_dump($registro->toArray());
}
// Ou também podemos:
$detalheCollection = $retorno->getDetalhes();
foreach($detalheCollection as $detalhe) {
	var_dump($detalhe->toArray());
}
// Ou até mesmo do jeito laravel
$detalheCollection->each(function ($detalhe, $index) {
    var_dump($detalhe->toArray())
});Métodos disponíveis:
$retorno->getDetalhes();
$retorno->getHeader();
$retorno->getTrailer();- Murilo Sandiego - Initial work - murilosandiego
 - Silas Ribas - Commiter - silasrm
 
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE.md para obter detalhes