dnetix / asoban

Asobancaria纯文本报告解析器

0.2.1 2021-10-27 20:36 UTC

This package is auto-updated.

Last update: 2024-08-28 03:59:51 UTC


README

codecov

读取asobancaria纯文本文件并将其解析为AsobanResults。

示例

读取

  • 解析Asobancaria 2001
$result = \Dnetix\Asoban\AsobanParser::load(FILE_PATH)->parse();
  • 解析Asobancaria 1998
$result = \Dnetix\Asoban\AsobanParser::load(FILE_PATH, \Dnetix\Asoban\AsobanParser::F_1998)->parse();

目前解析Asobancaria 2001和1988格式

编写

$writer = AsobanWriter::create('YOUR_FILE_PATH');

$writer->addHeader([
    'nit' => '9001238182',
    'date' => date('Y-m-d'),
    'bankCode' => 8,
    'accountNumber' => '00849514000',
    'accountType' => AsobanHeader::AC_SAVINGS,
]);

$writer->addBatch([
    'serviceCode' => '1234567890123',
    'batchCode' => 4,
])->addRow([
    'reference' => '123123123',
    'amount' => 100.12,
    'origin' => AsobanRecord::SOURCE_CREDIBANCO,
    'channel' => AsobanRecord::PM_CARD_INTERNET,
    'operationId' => '012345',
    'authCode' => '000000',
    'branch' => '1234567',
])->addRow([
    'reference' => '213124124',
    'amount' => 201,
    'origin' => AsobanRecord::SOURCE_RBM,
    'channel' => AsobanRecord::PM_CARD_INTERNET,
    'operationId' => '12345',
    'authCode' => '090001',
    'branch' => '1234567',
]);

$writer->addBatch([
    'serviceCode' => '123123999',
])->addRow([
    'reference' => '2341234',
    'amount' => 92780,
    'origin' => AsobanRecord::SOURCE_SAVINGS,
    'channel' => AsobanRecord::PM_ATM,
    'operationId' => '012345',
    'authCode' => '000001',
    'branch' => '1234567',
])->addRow([
    'reference' => '23241259',
    'amount' => 821400,
    'origin' => AsobanRecord::SOURCE_BANK,
    'channel' => AsobanRecord::PM_AUTOSERVICE,
    'operationId' => '12345',
    'authCode' => '090002',
    'branch' => '1234567',
]);

// This will write the file with the information
$writer->generate();

待办事项

  • 更好地处理2001格式的批次