微信支付设定
云支付使用微信支付 APIv3 Native 支付(扫码),玩家用手机微信扫码付款。
1. 开通
- 登录 微信支付商户平台
- 产品中心 → 开通「Native 支付」
- 产品中心 → AppID 账号管理 → 绑定一个 AppID(公众号 / 小程序 / 移动应用都可以,
wx开头)
2. 密钥与证书
在 账户中心 → API 安全:
| 项目 | 放在哪里 |
|---|---|
| APIv3 密钥(自己设置的 32 位字符) | config.yml 的 api-v3-key |
商户 API 证书(下载得到 apiclient_key.pem、apiclient_cert.pem) | keys/ |
微信支付公钥(2024 年后开通的商户,下载 pub_key.pem,页面上有「公钥 ID」) | keys/pub_key.pem + public-key-id |
wechat:
enabled: true
app-id: 'wx1234567890abcdef'
mch-id: '1900000001'
api-v3-key: '你设置的32位APIv3密钥'
private-key: 'keys/apiclient_key.pem'
cert: 'keys/apiclient_cert.pem' # 用来读取证书序列号;也可以直接填 serial-no
serial-no: ''
public-key: 'keys/pub_key.pem'
public-key-id: 'PUB_KEY_ID_0119000000012026'
旧商户(平台证书)
没有「微信支付公钥」的旧商户:public-key-id 留空、不放 pub_key.pem,插件会用 APIv3 密钥自动下载并更新平台证书。
检测
/cpay reload 后输入 /cpay admin check:
✔ 微信支付已连接:商户号 …,商户私钥、证书序列号与微信支付公钥都正确—— 可以收款- 常见错误:
| 提示 | 怎么改 |
|---|---|
| 签名错误:商户 API 私钥与证书序列号不是同一组 | 重新下载 apiclient_key.pem,或核对 serial-no |
| AppID 与商户号没有绑定 | 产品中心 → AppID 账号管理 绑定 |
| 商户没有开通 Native 支付 | 产品中心 → Native 支付 → 申请开通 |
| api-v3-key 必须是 32 个字符 | 检查有没有多复制空格 |
| 没有序列号 … 的微信支付公钥 / 平台证书 | 新商户请填微信支付公钥与公钥 ID |
付款通知(可选)
微信下单时一定要带一个 HTTPS 通知地址。没开 付款通知 时插件会填一个保留网域,付款结果仍由插件主动查询,不影响到账。