rede-cauzzo-mais/pagamento

CNAB 240 供应商支付 - Laravel

dev-master 2024-04-05 21:01 UTC

This package is auto-updated.

Last update: 2024-09-05 21:48:53 UTC


README

项目基于 murilosandiego/pagamento,由 Murilo Sandiego 提供

支付,汇款和返回 PHP

用于生成支付和读取返回的汇款文件的包。

要求

支持的银行

安装

通过 composer

composer require rede-cauzzo-mais/pagamento:dev-master

或将手动添加到 composer.json 中

"rede-cauzzo-mais/pagamento": "dev-master"

汇款

生成支付

创建公司或收款人

$empresa = new \RedeCauzzoMais\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 \RedeCauzzoMais\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 \RedeCauzzoMais\Pagamento\Pagamento\Banco\Sicredi\Pix(
    [
        'data' => new \Carbon\Carbon(),
        'finalidade' => '00011',
        'valor' => 10,
        'numeroDocumento' => 1,
        'banco' => 237,
        'agencia' => 9999,
        'conta' => 999999,
        'contaDv' => 9,
        'favorecido' => $favorecido
    ]
);

生成汇款

$remessa = new \RedeCauzzoMais\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($pagamentoTed);

// 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 = \RedeCauzzoMais\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())
});

可用的方法

$retorno->getDetalhes();

$retorno->getHeader();

$retorno->getTrailer();

许可

本项目采用 MIT 许可 - 有关详细信息,请参阅 LICENSE.md 文件