💳 ThinkPlugsPayment

Latest Stable VersionLatest Unstable VersionTotal DownloadsMonthly DownloadsDaily DownloadsPHP VersionLicense

ThinkPlugsPaymentThinkAdmin 的多端支付插件,提供支付配置、支付行为、退款、余额和积分明细管理。本插件属于会员尊享插件,未经授权不得用于商业用途。

当前 composer.json 要求 PHP >7.1ext-json,并依赖 ThinkPlugsAdminThinkPlugsAccount。服务类会合并账号插件菜单,因此后台入口同时包含账号管理与支付管理分组。

🚀 主要功能

  • 支付配置: 管理各终端可用的支付方式和支付参数
  • 支付行为: 记录支付单、审核、完成、取消和退款状态
  • 退款管理: 支持按支付单发起退款并记录退款结果
  • 余额明细: 管理用户余额收入、支出和可用余额
  • 积分明细: 管理用户积分收入、支出和可用积分
  • 地址接口: 提供终端用户收货地址新增、查询、默认设置和删除接口
  • 接口通知: 注册 /plugin-payment-notify/:vars 支付通知路由

💰 支付类型

支付类型以 plugin\payment\service\Payment 的内置类型为准。

抵扣支付

  • 优惠券抵扣: 通过优惠券编号和金额参与支付
  • 账户余额支付: 使用账户余额进行支付
  • 账户积分抵扣: 使用积分抵扣部分或全部金额
  • 单据凭证支付: 上传凭证后由后台审核支付
  • 订单无需支付: 金额为零时自动完成支付

线上支付

  • 微信支付: 微信 WAP、APP、小程序、公众号和二维码支付
  • 支付宝支付: 支付宝 WAP、WEB 和 APP 支付
  • 汇聚支付: 代码中预留汇聚公众号和小程序支付类型,默认处于注释状态

⚙️ 支付配置

支付优先级

默认情况下,账户余额支付和账户积分抵扣均得到支持,但业务系统可根据需求控制是否向用户开放。在支付优先级方面,积分优先于余额,余额则优先于其他支付方式

若您希望完全关闭积分抵扣或余额支付功能,只需在支付配置中取消对应的支付方式选项即可。

混合支付支持

当前,同一业务订单支持混合支付模式,业务系统需传入订单需支付的总金额及此次支付金额。支付完成情况将根据已完成的支付总额来判断,并触发全局支付事件。您可以在任意初始化文件中监听支付事件,以便实时刷新订单状态。

退款支持

当前退款逻辑由各支付类型实现,余额、积分、优惠券、凭证、微信、支付宝等支付类均提供退款接口,退款记录写入 plugin_payment_refund

加入我们

我们的代码仓库已移至 Github,而 Gitee 则仅作为国内镜像仓库,方便广大开发者获取和使用。若想提交 PRISSUE 请在 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/indexplugin-payment/record/indexplugin-payment/refund/indexplugin-payment/balance/indexplugin-payment/integral/index
  • 地址接口控制器:plugin\payment\controller\api\auth\Address
  • 余额与积分接口控制器:plugin\payment\controller\api\auth\Balanceplugin\payment\controller\api\auth\Integral

版权说明

ThinkPlugsPaymentThinkAdmin 会员插件。

未获得此插件授权时仅供参考学习不可商用,了解商用授权请阅读 《会员授权》

版权所有 Copyright © 2014-2026 by ThinkAdmin (https://thinkadmin.top) All rights reserved。

最近更新:
Contributors: 邹景立, Anyon