跳到正文

YuPay 安装部署

YuPay 是微信支付与支付宝官方商户直连插件,不需要第三方代收。安装重点不是“把 jar 放进去”这么简单,而是要准备好商户资料、证书、公网回调地址和安全检查。

环境要求

检查项要求
JavaJDK 8 及以上
服务端Bukkit/Spigot/Paper 及常见衍生端
当前版本1.5.0.0
必要网络服务端需要能访问微信支付/支付宝接口;支付平台需要能访问你的回调地址
数据库单服可用 SQLite;群组服、跨服发奖或多实例回调建议 MySQL
软依赖Vault、PlaceholderAPI、PlayerPoints、ProtocolLib

软依赖不是全部必装:

插件作用
Vault使用主流经济插件发放赞助点数或货币。
PlayerPoints使用点券类经济奖励。
PlaceholderAPI在菜单、计分板、聊天里显示赞助金额、排行和卡密状态。
ProtocolLib地图二维码输出模式需要。没有它时建议使用 linktext 输出。

部署步骤

  1. 将发布版 YuPay-版本.jar 放入服务端 plugins/ 目录。
  2. 启动一次服务端,让插件生成 plugins/YuPay/config.yml、语言文件、数据目录和证书目录。
  3. 停服或执行 /yp reload 前,先在 config.yml 中完成支付渠道、回调、数据库和奖励配置。
  4. 把微信/支付宝所需证书文件放到 YuPay 数据目录下对应位置。
  5. 确认公网域名或 IP 能访问回调端口,云服务器安全组和系统防火墙都已放行。
  6. 重启服务端,执行 /yp health full 检查数据库、依赖、支付渠道和回调状态。
  7. 使用小额订单完整测试:创建订单、扫码支付、回调入账、奖励发放、订单查询、退款申请和管理员审核。

安装命令

安装命令

首次启动后在 plugins/YuPay/config.yml 填写微信支付或支付宝官方商户参数

支付资料准备

微信支付

资料配置项获取位置
商户号wechat.mchid微信支付商户平台,账户中心 -> 商户信息
AppIDwechat.appid微信公众平台或小程序/服务号后台
商户 API 证书序列号wechat.serial-no微信支付商户平台,账户中心 -> API 安全
商户私钥wechat.private-key-pathAPI 证书生成后的 apiclient_key.pem
微信支付平台公钥wechat.public-key-path商户平台下载或按官方流程获取
平台公钥 IDwechat.public-key-id微信支付平台公钥信息
API v3 密钥wechat.api-v3-key商户平台,API 安全 -> APIv3 密钥
支付回调地址wechat.notify-url你的公网 HTTP/HTTPS 地址
退款回调地址wechat.refund-notify-url建议与支付回调分开路径

支付宝

资料配置项说明
应用 IDalipay.app-id支付宝开放平台应用信息
应用私钥alipay.merchant-private-key去掉 BEGIN/END PRIVATE KEY 头尾
支付宝公钥alipay.alipay-public-key公钥模式使用
应用公钥证书alipay.app-cert-path证书模式使用
支付宝公钥证书alipay.alipay-cert-path证书模式使用
支付宝根证书alipay.alipay-root-cert-path证书模式使用
异步通知地址alipay.notify-url必须公网可访问
同步返回地址alipay.return-url玩家支付完成后的浏览器返回地址

支付宝推荐使用证书模式;如果你使用公钥模式,请确认公钥与应用私钥是一组。

回调地址要求

YuPay 内置回调服务默认监听:

yaml
callback:
  host: "0.0.0.0"
  port: 8080

上线前确认:

  • notify-urlrefund-notify-url 指向公网可访问地址,而不是内网地址或 localhost
  • 云服务器安全组、系统防火墙、面板防火墙都已放行回调端口。
  • 如果使用反向代理,必须允许支付平台的 POST 请求原样转发到 YuPay。
  • 支付回调和退款回调建议使用不同路径,方便审计和排查。
  • 排查阶段可以打开 callback.access-log: true,稳定后再关闭减少日志量。

单服与群组服部署

场景建议
单服使用默认 SQLite 即可,回调和发奖都在同一服务端完成。
多子服但只在主服收款主服部署 YuPay 并处理回调,其他服通过命令或外部系统联动。
群组服跨服发奖使用 MySQL,所有子服配置不同 cross-server.server-id,并共享同一 shared-secret
多实例接收回调必须使用 MySQL,并确认订单与发奖流程具备幂等性。

上线前检查

  • 至少启用一个支付渠道,并确认示例商户号、示例密钥、示例回调地址都已替换。
  • pay.min-amountpay.max-amountpay.max-daily-amount 符合服务器赞助规则。
  • 奖励命令不要包含危险的全服 OP、权限组误授予或重复发放风险。
  • logging.mask-sensitivelogging.mask-ipapi.audit-log 建议保持开启。
  • 生产服上线前备份 plugins/YuPay/ 与数据库。
  • 完成小额支付、取消后到账、奖励失败重试、退款申请、直接退款和卡密核销测试。

常用检查命令

text
/yp health summary
/yp health full
/yp orders
/yp order abnormal
/yp audit security 50

如果健康检查提示支付渠道不可用,优先检查商户参数、证书路径、回调地址和服务器出站网络。