获取插件

PLUGIN DOCS

CyPay

扫码支付与充值后台:固定收款码地图、回调到账、累充奖励、记录和排行榜。

v1.7.2 Paper 1.21.11

简介

CyPay 是服务器扫码支付/充值插件。玩家在游戏内下单,用微信或支付宝扫码支付;安卓监听 App 把到账结果回调给服务器,插件按配置发放点券或执行命令。

亮点

  • 0 手续费:插件不额外抽成
  • 无二次收费:获取后不再收取插件使用费

核心功能

  • 微信/支付宝固定收款码地图
  • /cp point 下单,超时自动取消
  • 回调到账、密钥校验、IP 白名单
  • 累充奖励界面与领取记录
  • 充值记录、全服记录、充值排行榜
  • 黑名单、限流、未支付订单限制
  • PlaceholderAPI 变量

支持环境

项目要求
服务端Paper 1.21.11
JavaJava 21
数据库SQLite
软依赖CraftEngine、PlaceholderAPI
外部安卓监听 App(回调到 callback.port)

安装

  1. 把 CyPay-1.7.2.jar 放进 plugins/。
  2. 重启服务器,生成 config.yml、messages.yml、reward.yml 和 gui/。
  3. 在 config.yml 填 qrcodes.wechat / qrcodes.alipay 收款链接。
  4. 设置 callback.port 和 callback.key,在防火墙/安全组放行端口。
  5. 在安卓监听 App 填相同端口和密钥。
  6. 执行 /cp reload 生成/更新收款码地图。

玩家命令

命令作用
/cp / /cp help帮助
/cp point <金额> [wechat|alipay]创建充值订单,打开对应收款码
/cp log [状态] [页码]查看自己的充值记录
/cp top [页码]充值排行榜
/cp reward打开累充奖励界面
/cp reward log [页码]查看自己的累充领取记录

状态可选:all、success、expired、cancelled、interrupted。

管理命令

需要 cypay.admin 或对应子权限。

命令作用
/cp open <wechat|alipay>打开收款码地图(调试)
/cp logs [状态] [页码]查看全服充值记录
/cp consume add|take|set <玩家> <金额>调整玩家累充额度
/cp payments [页码]查看订单
/cp payments del <编号>删除订单
/cp payments clear清空订单
/cp fix <玩家> <编号>手动补单
/cp blacklist add|remove <IP>管理 IP 黑名单
/cp ip查看当前回调 IP 信息
/cp testpay <金额> [渠道]测试支付流程
/cp reload [reward]重载配置;带 reward 只重载累充

权限

权限默认说明
cypay.pointOP玩家充值下单
cypay.openOP打开收款码地图
cypay.logOP查看自己的充值记录
cypay.log.othersOP查看任意玩家/全服记录
cypay.topOP查看充值排行榜
cypay.rewardOP累充奖励界面/领取记录
cypay.reward.logsOP查看全服累充领取记录
cypay.consumeOP管理累充额度
cypay.reloadOP重载配置
cypay.adminOP管理总权限

配置

收款码

qrcodes:
  wechat: ""    # wxp:// 开头
  alipay: ""    # https://qr.alipay.com/ 开头

留空表示不生成对应渠道地图。更换链接后执行 /cp reload,地图 ID 不变。

充值

point:
  enabled: true
  timeout: 60
  grace: 30
  min: 1
  max: 1000
  rate: 10
  commands:
    - "points give %player% %points%"
字段说明
timeout订单有效期(秒)
grace到账通知宽限(秒)
min / max单笔金额范围
rate每 1 元兑换的点券数
commands支付成功后控制台执行的命令

命令占位符:%player%、%points%、%amount%、%total%。

回调

callback:
  port: 19999
  key: "change-me"

key 必须与监听 App 一致;端口需要在防火墙放行。

安全

security:
  whitelist:
    enabled: false
    ips:
      - "127.0.0.1"
  blacklist:
    enabled: true
    window: 600
    max-failures: 5
  order-abuse:
    enabled: true
    window: 300
    max-unpaid: 3
    ban-duration: 1800
  rate-limit:
    per-minute: 60

累充奖励

reward.yml:

order: [pack_100, pack_500]
rewards:
  pack_100:
    need: 100
    icon: "CE:33_custom:xxx"
    name: "&b&l100 元礼包"
    lore: ["&7...", "{status}"]
    commands:
      - "cee book give zhenxi 10 %player% 1"

need 是累计充值门槛;{status} 会自动替换为领取状态;每个奖励每人只能领一次。

变量与 API

PlaceholderAPI 标识符:cypay

变量含义
%cypay_total%玩家累计充值金额

当前版本没有公开 Java API。

许可证验证

本插件启用前会校验许可证:插件把 license.yml 里的许可证号发送到授权服务器,服务器用私钥签名,插件用内置公钥验证签名。校验不通过时插件不会启用。

首次启动

  • 必须联网:第一次启动没有缓存,联网校验失败会直接停止加载。
  • 首次启动会在插件目录生成 license.yml。
  • 控制台出现「许可证验证通过」表示正常。

license.yml

# 插件目录下的 license.yml
license:
  key: "CYP-XXXX-XXXX-XXXX"

许可证号在网站 用户中心 查看,一个账号只有一个许可证,所有插件共用。

免费插件与付费插件

类型是否需要填许可证说明
免费插件不需要留空即可,插件仍会联网确认「免费」状态
付费插件需要先用兑换码在网站开通,再填入许可证号

心跳与缓存

  • 运行期间每小时向服务器发一次心跳。
  • 服务器临时无法连接时,有 7 天宽限期,期间插件继续可用。
  • 服务器明确返回「许可证无效 / 已被禁用」时,立即停止,没有宽限。
  • 插件被禁用后,需要到网站解绑或联系作者处理。

常见问题

控制台提示「无法连接验签服务器」

检查服务器能否访问 https://license.mc33.top,以及是否只启用了 IPv6(授权站仅支持 IPv4)。

提示「当前许可证未开通本插件」

到网站 兑换码 页面输入兑换码开通,或确认购买的是这个插件。

提示「IP 数量已达上限」

每个插件最多绑定 2 个 IP,到用户中心解绑旧服务器后再启动。

更换服务器后无法启动

旧 IP 仍占用名额,先在网站解绑,再在新服务器启动。

常见问题

扫码后没有到账?

检查监听 App 是否收到通知、callback.port 是否放行、callback.key 是否一致;用 /cp testpay 先测本地流程。

收款码地图没生成?

qrcodes 对应渠道留空时不会生成;填好后执行 /cp reload,再重启客户端资源包/地图。

玩家下单后不付款会怎样?

订单超时自动取消;order-abuse 会限制频繁开单不付款的玩家。

回调密钥错误会怎样?

security.blacklist 默认开启,窗口内错误达到 max-failures 会拉黑 IP;用 /cp blacklist remove <IP> 解除。

如何补单?

用 /cp payments 找到订单编号,再执行 /cp fix <玩家> <编号>;先确认订单确实已支付。

更新日志

按时间倒序,最新的在最上面。当前版本是 1.6.8。

1.6.8(2026-10-22 · 当前版本)

  • 当前构建版本;完整记录见项目根目录 更新日志.md。

1.4.0(2026-10-22)

  • 新增累充奖励系统:/cp reward、/cp reward log、/cp reload reward。
  • 新增 reward.yml 和 gui/reward.yml。
  • 新增 reward_claims 数据表,每个奖励每人只能领一次。