chenpkg/cmb
Composer 安装命令:
composer require chenpkg/cmb
包简介
招商银行聚合支付 SDK
README 文档
README
招商银行聚合支付 SDK
Requirement
- PHP >= 7.2 | PHP >= 8.0
- shell_exec 函数
由于 sm2 国密算法使用 go 实现,所以需要使用 shell_exec 调用命令行程序。go 源码 点击这里 查看
Installing
$ composer require chenpkg/cmb -vvv
Usage
require './vendor/autoload.php'; use Cmb\Factory; use Cmb\Payment\PolyPay\Client; $config = [ 'appid' => 'appid', 'secret' => 'secret', // 商户 ID 'mer_id' => 'mer_id', // 收银员 ID 'user_id' => 'user_id', // 商户私钥 'private_key' => '...', // 招行公钥 'cmb_public_key' => '...', // 签名方法,默认使用 01(RSA2) 'sign_method' => '01', // 01(RSA2) or 02(SM2) // sm2 签名程序目录,绝对路径,如果签名失败确认文件权限组、权限是否正确 // 建议将 ./bin 目录下的 sm2 与 sm2.exe 拷贝出来,然后给予 755 权限。因为 composer update 该扩展包时,文件权限组可能会被修改 'bin_path' => '/www/此处省略.../sm2', // 是否开启测试环境 'test' => true, // 事件监听 'events' => [ // 将以下 Listener 类换成自己的 Listener 类即可 'listen' => [ // 请求前事件 \Cmb\Kernel\Events\BeforeRequest::class => [ // 支持两种监听方式 // function ($event) { var_dump($event->base);die; } [new \Cmb\Kernel\Listeners\BeforeRequestListener(), 'handle'] ], // 请求完成事件 \Cmb\Kernel\Events\HttpResponseCreated::class => [ [new \Cmb\Kernel\Listeners\HttpResponseCreatedListener(), 'handle'] ] ] ] ]; // 扩展 api 接口, 添加宏方法 // 例如:添加银联云闪付api Client::macro('cloudPay', function ($params) { // 如果需要同步验签 return $this->requestVerify('mchorders/cloudpay', $params); // 不需要同步验签 return $this->request('mchorders/cloudpay', $params); }); $app = Factory::payment($config); $orderId = date('YmdHis').random_int(1000, 9999); $params = [ 'orderId' => $orderId, 'notifyUrl' => 'https://localhost/payment/notify', 'txnAmt' => 0.1 * 100, 'tradeScene' => 'OFFLINE', ]; // 调用自定义方法宏 api $app->polypay->cloudPay($params); // 二维码支付 $app->polypay->qrCode($params); // 查询订单 $app->polypay->orderQuery($orderId); // 订单退款 $app->polypay->refund($refundData); // 查询退款订单 $app->polypay->refundQuery($refundOrderId); // 关闭订单 $app->polypay->close($orderId); // 订单二维码 $app->polypay->orderQrCode($params); // 微信统一下单 $app->polypay->onlinePay($params); // 支付宝服务窗支付 $app->polypay->aliServerPay($params); // 支付宝二维码 $app->polypay->aliQrCode($params); // 微信小程序支付 $app->polypay->miniAppOrder($params); // 微信二维码支付 $app->polypay->wxQrCode($params);
消息通知
$response = $app->handlePaidNotify(function ($message, $fail) { // data var_dump($message); // 你的逻辑 return true; // 或者错误消息 return $fail('Order not exists.'); }); $response->send(); // Laravel 里请使用:return $response;
License
MIT
chenpkg/cmb 适用场景与选型建议
chenpkg/cmb 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 20.42k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2021 年 02 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 chenpkg/cmb 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 chenpkg/cmb 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 20.42k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-02-04