tomaj / bank-mails-parser
斯洛伐克银行邮件解析
2.8.0
2024-05-13 12:12 UTC
Requires
- php: >= 7.2
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: ^8 || ^9
- squizlabs/php_codesniffer: ^3.5
README
处理银行确认邮件的库。目前仅支持 Tatrabanka 的两种邮件格式。
如果我们添加更多其他银行的邮件,将需要进行一些重构(例如 MailContent 与 TatraBanka 强烈关联)
安装
通过 composer 安装包
$ composer require tomaj/bank-mails-parser
用法
PHP 中的基本用法
use Tomaj\BankMailsParser\Parser\TatraBanka\TatraBankaMailParser; $tatraBankaMailParser = new TatraBankaMailParser(); $mailContent = $tatraBankaMailParser->parse('mail content'); echo $mailContent->getKs() . "\n"; echo $mailContent->getSs() . "\n"; echo $mailContent->getVs() . "\n"; echo $mailContent->getReceiverMessage() . "\n"; echo $mailContent->getDescription() . "\n"; echo $mailContent->getCurrency() . "\n"; echo $mailContent->getTransactionDate() . "\n"; echo $mailContent->getAccountNumber() . "\n"; echo $mailContent->getAmount() . "\n"; echo $mailContent->getAccountNumber() . "\n"; echo $mailContent->getTxn() . "\n";
使用 TatraBankaSimpleMailParser 可以解析 comforpay 邮件。还有其他获取器,如 CID 用于重复付款。
echo $mailContent->getCid() . "\n"; echo $mailContent->getSign() . "\n"; echo $mailContent->getRes() . "\n";
从 2.* 升级到 3.*
要使用版本 3,您至少需要 php 7.1。引入了多个破坏性更改
Tomaj\BankMailsParser\Parser\ParserInterface
将不再返回 false,而是仅返回?MailContent
- 为整个项目引入了严格类型
declare(strict_types=1);
- 将所有与 Tatrabanka 相关的代码移动到
TatraBanka
文件夹下,并使用适当的命名空间 - 将严格类型添加到所有方法和参数中
- 将 phpunit 升级到版本 9
从 1.* 升级到 2.*
版本 2.0 中有一个破坏性更改 - 解析器始终返回 MailContent,当电子邮件被解析时。在版本 1.0 中 - 解析器仅在银行响应正常时返回 MailContent。在版本 2 中,您还可以读取失败电子邮件。
与 imap 邮件下载器的用法
如何使用 imap 邮件下载器 的示例
use Tomaj\ImapMailDownloader\Downloader; use Tomaj\ImapMailDownloader\MailCriteria; use Tomaj\ImapMailDownloader\Email; use Tomaj\BankMailsParser\Parser\TatraBanka\TatraBankaMailParser; $downloader = new Downloader('*imap host*', *port*, '*username*', '*password*'); $criteria = new MailCriteria(); $criteria->setFrom('some@email.com'); $downloader->fetch($criteria, function(Email $email) { $tatraBankaMailParser = new TatraBankaMailParser(); $mailContent = $tatraBankaMailParser->parse($email->getBody()); // process $mailContent data... return true; });
注意:您必须包含包 imap-email-downloader: composer require tomaj/imap-email-downloader
待办事项
添加其他银行确认邮件的解析器。请随时分叉并创建其他银行解析器的拉取请求。