Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion blog/2026-04-28-welcome.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
slug: welcome
title: 欢迎来到我的文档站
authors: [Prism-Committee]
Expand Down
2 changes: 1 addition & 1 deletion blog/authors.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Prism-Committee:
Prism-Committee:
name: Prism-Committee
title: Developer
url: https://github.com/Prism-Committee
Expand Down
2 changes: 1 addition & 1 deletion docs/webshopx-payments/commands-permissions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebar_position: 7

# 命令与权限体系

`WebShopX-Payments` 提供了极其简洁的游戏内指令与权限节点,主要用于管理员进行配置热重载与运行时状态排障。
`WebShopX-Payments` 提供游戏内指令与权限节点,主要用于配置热重载与运行时状态排障。

v3 的渠道配置也可以由 WebShopX 后台通过 Provider 能力展示,但这不会改变 `/wsxpay` 的权限节点,也不代表 WebShopX 会替第三方插件完成重载。

Expand Down
4 changes: 2 additions & 2 deletions docs/webshopx-payments/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ v3 排障应先执行 `/wsxpay status`,再区分“Provider 未注册”“内

### Q:使用 Gradle 构建打包时出现 Java Class Version 错误?
:::note[编译环境推荐]
`WebShopX-Payments` 源码包含较新的 Java 特性,**推荐且必须使用 JDK 25** 进行编译。
项目 CI 当前使用 JDK 25 构建,建议本地构建也使用 JDK 25,以减少与官方构建环境的差异。插件产物以 Java 8 字节码为目标;这不表示 Minecraft 服务端运行时必须使用 Java 25。
在 Windows PowerShell 终端中,您可以通过以下命令临时指定 JDK 路径进行编译:
```powershell
$env:JAVA_HOME='C:\Program Files\Java\jdk-25.0.3'
$env:JAVA_HOME='C:\Program Files\Java\jdk-25'
$env:JAVA_TOOL_OPTIONS='-Duser.country=US'
.\gradlew.bat :plugin:bukkit:with-backend:build
```
Expand Down
4 changes: 2 additions & 2 deletions docs/webshopx-payments/hook-channels.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ Hook 能否使用取决于操作系统、微信/支付宝客户端版本、账

### (3) 因数据库写入延迟调大超时
:::warning[关键配置微调]
由于微信本地数据库持久化机制的原因,当您手机收到付款时,电脑端微信需要**大约 10 秒甚至更久**才会将消息真正写入到本地数据库文件中。
因此,使用 Hook v4 通道时,必须在插件端的 `config.yml` 中将超时时间调大(推荐 200 秒以上),否则玩家极易在等待解密时被判定超时:
由于微信本地数据库持久化机制的原因,手机收到付款后,电脑端微信写入本地数据库可能存在延迟。
因此,使用 Hook v4 通道时,应根据实测延迟适当调大插件端 `config.yml` 的超时时间;可先以 200 秒作为排障起点,再根据日志和业务要求调整:
```yaml
# config.yml
payment:
Expand Down
4 changes: 2 additions & 2 deletions docs/webshopx-payments/install-deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebar_position: 2

# 安装与部署

本节指导您如何在 Minecraft 服务器中安装 `WebShopX-Payments` 插件,启动内嵌支付服务,并实现与主商城插件 `WebShopX` 的无缝联动。
本节说明如何在 Minecraft 服务器中安装 `WebShopX-Payments`、启动内嵌支付服务,并与 `WebShopX` 连接。

## 1. 环境要求

Expand Down Expand Up @@ -86,5 +86,5 @@ sequenceDiagram
```

:::note[事务失败容灾]
如果在上述第 **14** 步回调发货时,`WebShopX` 的入账监听器因为临时数据库挂起等原因执行失败,该笔已成功付款的交易会在 `wsxpay-orders.yml` 中保留为待确认状态,并在稍后不断发起重试,直到发货逻辑完全成功为止,从而确保不会漏单。
如果支付状态通知未被业务监听器确认,记录会在 `wsxpay-orders.yml` 中保持未通知状态;插件运行期间会定时重试。该机制用于降低临时故障造成的漏通知风险,但运维人员仍应监控失败日志并核对支付平台账单与 WebShopX 账单。
:::
2 changes: 1 addition & 1 deletion docs/webshopx-payments/official-channels.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebar_position: 5

# 官方支付通道配置

官方支付通道通过接入各支付平台的官方商户接口,直接完成订单的预创建、扫码以及状态同步。由于是官方直连通道,具备**并发高**、**状态响应即时**、**无需任何 Hook 软件常驻**等绝对优势,是生产环境的推荐选择。
官方支付通道通过各平台的商户接口完成订单预创建、扫码与状态同步。相比按金额匹配的 Hook 方案,它能按平台订单号区分并发订单,也不需要 Hook 软件常驻;生产使用前仍应完成沙盒或小额实测、回调验证和账单对账。

v3.1.1 支持从 WebShopX 的 Provider 设置页维护插件公开的渠道字段,但密钥仍由 WebShopX-Payments 校验和保存。页面未展示的高级字段继续编辑当前版本生成的 `backend/config.json`。

Expand Down
10 changes: 4 additions & 6 deletions docs/webshopx-payments/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,15 @@ This plugin is based on [SweetCheckout](https://github.com/MrXiaoM/SweetCheckout

:::warning[高危配置与防坑提醒]
1. **不要暴露内嵌后端端口**:默认的 `62233` 端口仅用于 Bukkit 插件与后端之间的 WebSocket/HTTP 通信。Hook 终结点路径(`/api/hook/receive`)并无安全校验,**请勿将后端端口直接暴露到公网**!
2. **Hook 模式的金额竞争冲突**:所有 Hook 模式(支付宝/微信 Hook)均依赖 **“付款金额”** 进行订单匹配。**同一时间段内,不能有两名玩家同时创建相同金额的 Hook 订单**(例如不能同时创建两个 1.00 元的微信扫码订单)。后面发起的玩家必须等待前面的订单支付完成或超时取消。官方接口(WeChat Native、Alipay 订单码等)则完全无此限制。
2. **Hook 模式的金额竞争冲突**:所有 Hook 模式(支付宝/微信 Hook)均依赖 **“付款金额”** 进行订单匹配。**同一时间段内,不能有两名玩家同时创建相同金额的 Hook 订单**(例如不能同时创建两个 1.00 元的微信扫码订单)。后面发起的玩家必须等待前面的订单支付完成或超时取消。官方商户接口使用平台订单号匹配,不受这项同金额限制。
3. **私钥凭证安全**:请勿将包含生产密钥、商户私钥、Client Secret 的配置文件或 `secrets` 密钥文件夹上传至公开代码库。
:::

## 运维节奏建议

1. 先确保 `WebShopX` 本身部署就绪,能够正常访问管理后台。
2. 安装 `WebShopX-Payments` 并选择合适的支付通道(先建议配置 PayPal 沙盒或微信/支付宝经营收款码进行小额测试)。
3. 玩家进行测试支付,并在扫码支付后游戏内能够瞬时收到 WebShopX 的入账与发货命令通知。
3. 玩家进行测试支付,确认支付状态、WebShopX 入账和发货结果均正确;Hook 与异步回调渠道可能存在处理延迟。
4. 在生产环境正式上线。

---
Expand All @@ -75,8 +75,6 @@ This plugin is based on [SweetCheckout](https://github.com/MrXiaoM/SweetCheckout
3. **接受条款**
使用或保留本项目的任何部分(包括源码或编译文件),即视为您已阅读并完全同意本声明的所有条款。**如有异议,请立即停止使用并彻底删除所有相关文件。**

:::info[💡 关于“无费率”的补充说明]
项目简介中所提及的“无费率”,是指**本项目绝不额外收取任何中间手续费或平台抽成**。

* **示例**:如您使用支付宝官方的“当面付/订单码支付”接口,支付宝官方会正常收取 0.6% 的商户手续费(最终费率即为 0.6%),本项目作为开源工具,中间不会产生任何额外的二次抽成或隐形费用。
:::info[💡 关于“无额外平台抽成”的说明]
项目所称“无额外平台抽成”,仅表示 WebShopX-Payments 本身不在交易中收取佣金。支付机构、收单机构、换汇或网络服务仍可能按商户协议收费,具体费率以对应平台和商户合同为准。
:::
Loading
Loading