snadnee / php-abo-generator
生成大量付款订单的ABO文件
v1.3.0
2024-01-10 10:42 UTC
Requires
- php: ^8.0|^8.1
- illuminate/support: >=8.0
README
此包可用于生成可用于导入网上银行的ABO文件。
安装
composer require snadnee/php-abo-generator
基本用法
此包的基本用法很简单。以下是一个示例。
use Snadnee\ABOGenerator\ABOGenerator; use Carbon\Carbon; $senderParams = [ 'bankAccount' => '11-123456789/0600', 'organisationName' => 'Company xyz', ]; $paymentGroups = [ 'group1' => [ 'dueDate' => Carbon::now(), 'payments' => [ [ 'amount' => 1.5, 'bankAccount' => '112-987654321/3030', 'variableSymbol' => 1234, 'specificSymbol' => 4321, 'constantSymbol' => 1234, 'message' => 'Payment', ], [ 'amount' => 1.5, 'bankAccount' => '112-987654321/3030', 'variableSymbol' => 1234, 'specificSymbol' => 4321, 'constantSymbol' => 1234, 'message' => 'Payment', ], ] ], ]; $ABOGenerator = new ABOGenerator(); $result = $ABOGenerator->simpleGenerating($senderParams, $paymentGroups);
高级用法
ABO格式分为以下几部分:文件、组和付款本身。
每个文件可以有自己的银行和类型(付款、扣款)。每个组可以有自己的银行账号和同一银行的到期日(默认为今天)。每个付款有一个金额、一个变量、一个特定、一个常数符号、一条消息和一个银行账号。
use Snadnee\ABOGenerator\ABOGenerator; use Carbon\Carbon; $ABOGenerator = new ABOGenerator('Company name'); $file = $ABOGenerator->addFile(ABOGenerator::PAYMENT); $file->setSenderBank(0600); $group = $file->addGroup(); $group->setSenderAccount(1234567890) ->setDate(Carbon::now()); // AccountNumber, amount, variable symbol $group->addPayment("111-987654321/0300", 14323.43, 2220009813) ->setConstantSymbol('8') ->setSpecificSymbol('93653') ->setMessage('Message'); $group->addPayment("111-2424242424/0300", 1000.5, 2220009813) ->setConstantSymbol('8') ->setSpecificSymbol('93653') ->setMessage('Message'); $file2 = $ABOGenerator->addFile(ABOGenerator::INKASO); $file2->setSenderBank(0600); $group = $file2->addGroup(); $group->setSenderAccount(987654321); $group->addPayment("174-987654321/0300", 1.5, 2220009813) ->setConstantSymbol('8') ->setSpecificSymbol('93653') ->setMessage('Zprava 1'); $group->addPayment("174-987654321/0300", 1234, 2220009813) ->setConstantSymbol('8') ->setSpecificSymbol('93653') ->setMessage('Zprava 2'); $group = $file2->addGroup(); $group->setSenderAccount(227757331); $group->addPayment("174-987654321/0300", 100, 2220009813) ->setConstantSymbol('8') ->setSpecificSymbol('93653') ->setMessage('Zprava 1'); $group->addPayment("174-987654321/0300", 500, 2220009813) ->setConstantSymbol('8') ->setSpecificSymbol('93653') ->setMessage('Zprava 2'); $result = $ABOGenerator->generate();