phumin / promptparse
一站式 PHP 库,用于 PromptPay & EMVCo 二维码
1.0.1
2024-04-23 15:25 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^9.6
README
"一站式 PHP 库,用于 PromptPay & EMVCo 二维码"
无依赖。只需安装即可享受!
这是 maythiwat/promptparse 的 PHP 版本
特性
- 解析 — 将 PromptPay & EMVCo 二维码数据字符串解析为对象
- 生成 — 从预制的模板(例如:PromptPay AnyID,PromptPay 账单支付,TrueMoney 等)生成二维码数据
- 操作 — 对解析的二维码数据中的任何值(例如:转账金额,账户号码)进行编码,并将其重新编码回二维码数据
- 验证 — 已知二维码格式的校验和数据结构(例如:小票验证 API Mini QR)
用法
解析数据并从标签中获取值
use phumin\PromptParse\Parser; // Example data $ppqr = Parser::parse("000201010211..."); // Get Value of Tag ID '00' $ppqr->getTagValue("00") // Returns '01'
构建二维码数据并附加 CRC 标签
use phumin\PromptParse\Library\TLV; // Example data $data = [ TLV::tag("00", "01"), TLV::tag("01", "11"), ... ]; // Set CRC Tag ID '63' TLV::withCrcTag(TLV::encode($data), '63'); // Returns '000201010211...'
生成 PromptPay 账单支付二维码
use phumin\PromptParse\Generate; $payload = Generate::billPayment("1xxxxxxxxxxxx", "300.0", "INV12345"); // TODO: Create QR Code from payload
验证并从小票验证 QR 中提取数据
use phumin\PromptParse\Validate; $data = Validate::slipVerify("00550006000001..."); list($sendingBank, $transRef) = $data; // or $sendingBank = $data[0]; $transRef = $data[1]; // TODO: Inquiry transaction from Bank Open API
将 BOT 条形码转换为 PromptPay QR 标签 30(账单支付)
use phumin\PromptParse\Parser; $botBarcode = Validate::parseBarcode("|310109999999901\r..."); $payload = $botBarcode->toQrTag30(); // TODO: Create QR Code from payload
参考
许可
本项目采用 MIT 许可协议(见 LICENSE.md)