💳 ThinkPlugsPayment
ThinkPlugsPayment 是 ThinkAdmin 的多端支付插件,提供支付配置、支付行为、退款、余额和积分明细管理。本插件属于会员尊享插件,未经授权不得用于商业用途。
当前 composer.json 要求 PHP >7.1 和 ext-json,并依赖 ThinkPlugsAdmin 与 ThinkPlugsAccount。服务类会合并账号插件菜单,因此后台入口同时包含账号管理与支付管理分组。
🚀 主要功能
- 支付配置: 管理各终端可用的支付方式和支付参数
- 支付行为: 记录支付单、审核、完成、取消和退款状态
- 退款管理: 支持按支付单发起退款并记录退款结果
- 余额明细: 管理用户余额收入、支出和可用余额
- 积分明细: 管理用户积分收入、支出和可用积分
- 地址接口: 提供终端用户收货地址新增、查询、默认设置和删除接口
- 接口通知: 注册
/plugin-payment-notify/:vars支付通知路由
💰 支付类型
支付类型以 plugin\payment\service\Payment 的内置类型为准。
抵扣支付
- 优惠券抵扣: 通过优惠券编号和金额参与支付
- 账户余额支付: 使用账户余额进行支付
- 账户积分抵扣: 使用积分抵扣部分或全部金额
- 单据凭证支付: 上传凭证后由后台审核支付
- 订单无需支付: 金额为零时自动完成支付
线上支付
- 微信支付: 微信 WAP、APP、小程序、公众号和二维码支付
- 支付宝支付: 支付宝 WAP、WEB 和 APP 支付
- 汇聚支付: 代码中预留汇聚公众号和小程序支付类型,默认处于注释状态
⚙️ 支付配置
支付优先级
默认情况下,账户余额支付和账户积分抵扣均得到支持,但业务系统可根据需求控制是否向用户开放。在支付优先级方面,积分优先于余额,余额则优先于其他支付方式。
若您希望完全关闭积分抵扣或余额支付功能,只需在支付配置中取消对应的支付方式选项即可。
混合支付支持
当前,同一业务订单支持混合支付模式,业务系统需传入订单需支付的总金额及此次支付金额。支付完成情况将根据已完成的支付总额来判断,并触发全局支付事件。您可以在任意初始化文件中监听支付事件,以便实时刷新订单状态。
退款支持
当前退款逻辑由各支付类型实现,余额、积分、优惠券、凭证、微信、支付宝等支付类均提供退款接口,退款记录写入 plugin_payment_refund。
加入我们
我们的代码仓库已移至 Github,而 Gitee 则仅作为国内镜像仓库,方便广大开发者获取和使用。若想提交 PR 或 ISSUE 请在 ThinkAdminDeveloper 仓库进行操作,如果在其他仓库操作或提交问题将无法处理!。
开放接口
接口文档: https://thinkadmin.apifox.cn
支付事件
可以在相应插件的服务内注册事件回调函数,如:代码案例。
PluginAccountBind注册用户绑定事件,回调参数function (array $data);PluginPaymentAudit注册支付审核事件,回调参数function (PluginPaymentRecord $payment);PluginPaymentRefuse注册支付拒审事件,回调参数function (PluginPaymentRecord $payment);PluginPaymentSuccess注册支付完成事件,回调参数function (PluginPaymentRecord $payment);PluginPaymentCancel注册支付取消事件,回调参数function (PluginPaymentRecord $payment);PluginPaymentConfirm注册订单确认事件,回调参数function (array $data);
标准安装
**安装前建议尝试更新所有组件**
composer update --optimize-autoloader
**安装稳定版本**
composer require zoujingli/think-plugs-payment --optimize-autoloader
**安装测试版本**
composer require zoujingli/think-plugs-payment dev-master --optimize-autoloader定制安装
- 复制插件 ThinkPlugsPayment 所有源代码到
plugin/think-plugs-payment目录。 - 修改插件
composer.json文件追加version配置项,插件 ThinkPlugsPayment 的完整配置如下:
{
"type": "think-admin-plugin",
"name": "zoujingli/think-plugs-payment",
"version": "1.0.0",
"homepage": "https://thinkadmin.top",
"description": "Multi-channel payment, balance, integral and refund plugin for ThinkAdmin",
"authors": [
{
"name": "Anyon",
"email": "zoujingli@qq.com"
}
],
"require": {
"php": ">7.1",
"ext-json": "*",
"zoujingli/think-plugs-admin": "^1.0|@dev",
"zoujingli/think-plugs-account": "^1.0|@dev"
},
"require-dev": {
"phpunit/phpunit": "*"
},
"autoload": {
"psr-4": {
"plugin\\payment\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"think\\admin\\tests\\": "tests/"
}
},
"extra": {
"think": {
"services": [
"plugin\\payment\\Service"
]
},
"plugin": {
"copy": {
"stc/database": "database/migrations"
}
},
"config": {
"type": "plugin",
"name": "系统支付管理",
"document": "https://thinkadmin.top/plugin/think-plugs-payment.html",
"license": [
"VIP"
]
}
}
}- 修改项目根
composer.json配置,增加 ThinkPlugsPayment 插件本地化路径配置,完整配置如下:
{
"type": "project",
"name": "zoujingli/thinkadmin",
"version": "1.0.0",
"license": "MIT",
"homepage": "https://thinkadmin.top",
"description": "ThinkAdmin plugin aggregation and distribution project",
"keywords": [
"ThinkAdmin",
"ThinkLibrary",
"WeChatDeveloper"
],
"authors": [
{
"name": "Anyon",
"email": "zoujingli@qq.com"
}
],
"require": {
"php": ">7.1",
"ext-gd": "*",
"ext-json": "*",
"ext-openssl": "*",
"zoujingli/think-plugs-admin": "^1.0",
"zoujingli/think-plugs-account": "^1.0",
"zoujingli/think-plugs-payment": "^1.0"
},
"repositories": [
{
"type": "path",
"url": "plugin/think-plugs-payment"
}
],
"config": {
"sort-packages": true,
"allow-plugins": {
"zoujingli/think-install": true
}
}
}- 在项目根目录终端执行
composer update完成安装。
卸载插件
**注意,插件卸载不会删除数据表,需要手动删除**
composer remove zoujingli/think-plugs-payment插件数据
本插件涉及数据表有:
- 插件-支付-地址:
plugin_payment_address - 插件-支付-余额:
plugin_payment_balance - 插件-支付-积分:
plugin_payment_integral - 插件-支付-配置:
plugin_payment_config - 插件-支付-行为:
plugin_payment_record - 插件-支付-退款:
plugin_payment_refund
服务注册
- 服务类:
plugin\payment\Service - 通知路由:
/plugin-payment-notify/:vars - 菜单节点:
plugin-payment/config/index、plugin-payment/record/index、plugin-payment/refund/index、plugin-payment/balance/index、plugin-payment/integral/index - 地址接口控制器:
plugin\payment\controller\api\auth\Address - 余额与积分接口控制器:
plugin\payment\controller\api\auth\Balance、plugin\payment\controller\api\auth\Integral
版权说明
ThinkPlugsPayment 为 ThinkAdmin 会员插件。
未获得此插件授权时仅供参考学习不可商用,了解商用授权请阅读 《会员授权》。
版权所有 Copyright © 2014-2026 by ThinkAdmin (https://thinkadmin.top) All rights reserved。
