shali/think-pos
最新稳定版本:3.11.0
Composer 安装命令:
composer require shali/think-pos
包简介
pos terminal service api sdk for thinkphp
关键字:
README 文档
README
如果觉得
think-pos不错,欢迎给个 star,谢谢。
目录结构
src/config/pos.php pos 配置文件,写好每个厂商的配置参数模版,记住是模版,不要把真实参数提交
src/extend/ pos 接口扩展,你在对接时定义的工具类
src/provider/ pos 接口服务提供者,一个厂商一个包,每个包里新建 `README.md` 文件,里面写厂商的接口文档
src/phpmate/ 该目录下的文件未来将独立出去进行单独维护的,你不可以在此包下添加文件
说明
dto
对于解析后返回的 dto,如 PosInfoResponse 等:
- 属性值是对象,getXxx 会返回两种值;如果返回 null,说明未使用此属性,或上游未返回该字段,都会尽量返回对象或 null。
- 属性值是字符串类型,getXxx 会返回两种值;如果返回 '' 说明未使用此字段或上游返回 '',如果返回 'null' 说明上游返回了 null。都会尽量保持返回字符串。
使用方法
安装
composer require shali/think-pos
配置
- 找到你项目的
config目录,新建pos.php文件,并复制think-pos/src/config/pos.php文件内容到pos.php文件中 - 如果是项目第一次安装,他会自动帮你生成
pos.php文件,然后按照服务商的配置进行配置
接入请求业务
// 1. 构建 pos 策略完成业务
$posRequestDto = new PosRequestDto();
$posRequestDto->setDeviceSn($posSn);
$posStrategy = PosStrategyFactory::create('lakala');
$posInfoResponse = $posStrategy->getPosInfo($posRequestDto);
if ($posInfoResponse->isFail()) {
// 出错了,获取错误信息
exit($posInfoResponse->getErrorMsg());
}
// 处理 pos 查询,通过 $posInfoResponse 获得你的业务数据
$withdrawFee = $posInfoResponse->getWithdrawFee();
接入回调通知
// 1. 回调业务接入也很简单
$callbackRequest = $posStrategy->handleCallback('pos 平台回调数据');
if ($callbackRequest->isFail()) {
exit($callbackRequest->getErrorMsg());
}
if ($callbackRequest instanceof PosTransCallbackRequest) {
// 处理 pos 订单交易回调,通过 $callbackRequest 获得你的业务数据
}
// 返回 ack 给 pos 平台
exit($posStrategy->getCallbackAckContent());
你只需要在你定义业务中添加上述代码,后续再需要接入其他 pos 机厂商时,无需改动业务代码,只需要在 pos.php 配置文件中添加新的
pos 机厂商的配置参数,即可完成接入。
参与贡献
流程
- fork 本项目到你的 github 仓库
- 提交代码到你的 github 仓库
- 创建 pull request 请求到 dev 分支
贡献原则
支持厂商列表
依赖
- shali/phpmate
ext-curlhttp 请求依赖ext-opensslcurl 请求,签名使用ext-jsonjson 处理php7.3+
统计信息
- 总下载量: 350
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-04-30