MCIO Plugins MCIO Plugins
首页
爱发电 (opens new window)
无法下载? (opens new window)

人间工作P

我每天都好困… 最近在学习和进行 VOCALOID 创作
首页
爱发电 (opens new window)
无法下载? (opens new window)
  • FiguraLambda

  • SweetAdaptiveShop

  • SweetCheckout

    • 简介
    • 部署 支付系统后端
    • 部署 Bukkit插件
    • 后端部署 支付宝开放平台
    • 后端部署 Native支付
    • 后端部署 支付宝Hook
    • 后端部署 微信Hook
    • 后端部署 微信Hook v3
    • 后端部署 微信Hook v4
      • 微信
      • Hook
      • 插件
      • 后端
      • 注意事项
    • 命令与权限
    • PAPI变量
    • 开发者接口
  • SweetDrops

  • SweetMail

  • SweetMessages

  • SweetPlayerMarket

  • SweetRewards

  • SweetTask

  • 杂物

  • 插件文档
  • SweetCheckout
2025-01-29
目录

后端部署 微信Hook v4

# 微信 Hook v4

下载以下内容

  • MCIO Plugins (Hook.zip) (opens new window)
  • 微信 Windows 版 4.1.2.17 (opens new window),或任何 wx_key 支持的微信版本
  • wx_key (opens new window)

v4 版本将会在正式版 1.0.8 开始提供,在此之前,请先下载开发版使用。

如果要下载开发版本,请到 Github Actions (opens new window) 下载 SweetCheckout-Hooks.zip,或自行编译。

Hook 只保证在文档指定的微信版本中可用,但 v4 没有强制要求使用指定的一个微信版本,你可以尝试使用其它版本,但不保证其可用性。欢迎在 Issues (opens new window) 中报告在不同微信版本中的可用性。

注意

对于Win32接口来说,非ASCII字符(如中文)以及空格是极其敏感的。请确保Hook所在路径没有中文和空格以及其它特殊符号!

# 微信

先安装微信,登录好账号,账号满足以下条件其一即可

  • 用于收款的微信账号
  • 微信账号是收款账号的店员
    (在收款账号打开 我 -> 服务 -> 收付款 -> 二维码收款 -> 收款小账本 -> 收款店员 来添加店员)

建议在手机用微信分身之类的功能登录这个账号,再用这个微信扫码登录。
不推荐登录日常使用的账号,以免需要登录微信PC版的时候把服务器的微信挤下线。

注意

这个微信号必须要关注微信官方的微信收款助手功能(服务号),Hook 会监听这个服务号发送的通知。

如果收款消息还是只发送到微信支付服务号,而不发送到微信收款助手服务号,可能是微信的BUG或者是状态没来得及更新导致的。请尝试取消关注后重新关注微信收款助手服务号,直到收款消息会被发送到这个服务号为止。

登录完成后,打开设置,关闭自动更新,作出自己想要的调节,然后退出微信。

# Hook

将下载的 Hook.zip 里面的 WeChat-Hook-v4.zip 解压到任意位置,打开软件准备编辑配置,在文件菜单中编辑

  • 设置后端地址
  • 设置密钥
  • 设置数据库路径 (如果日志没有报警告,可以不用设置,软件会自动获取)

设置后端地址

后端地址的端口(默认62233)要与后端设置的一致,后面的路径(默认/api/hook/receive)要与后端配置中的 hook.end_point 设置的一致。

Hook 终结点没有校验,请不要将后端的端口暴露在公网中。

设置密钥

解压之前下载的 wx_key (opens new window) 用于获取微信密钥。在微信关闭的情况下,使用管理员权限打开 wx_key.exe,点击 开始提取密钥,按提示等待微信启动完成后,在弹出的微信窗口点击登录即可获得微信密钥。

获得微信密钥之后,在 Hook 软件的“文件”菜单将密钥输入进去,Hook 就配置完成了。

到这里,你就可以启动微信登录了,这个 Hook 会在微信聊天数据库更新时,将其解密并抓取收款消息,不直接注入到微信进程,侵入性较小。

但微信聊天数据库会在收到消息的大约10秒后保存,有一定的延迟。

# 插件

正如之前所说,使用这个 Hook 方案大约会有 10 秒或更高的延迟,所以你需要调整一下支付超时时间

# config.yml

# 支付设置
payment:
  # 支付超时时间 (秒)
  timeout: 200
1
2
3
4
5
6

建议设为 3 分钟左右,给玩家充足的缓冲时间。

# 后端

Hook 配置完成后,到后端的配置文件 config.json 开启 hook.enable 和 hook.wechat.enable 即可。

如果 Hook 和后端不在同一个账户,或者不在同一台机器运行,hook.wechat.require_process 需要设置为空字符串 "",否则创建订单时会提示Hook未运行之类的提示。

另外,还需要在后端配置收款码地址。在 hook.wechat 有 payment_url 和 payment_urls 两个选项,payment_url是泛用的收款码,payment_urls是指定金额的收款码。

在手机微信登录收款账号,点开 我 -> 服务 -> 收付款 -> 二维码收款,然后保存一张普通的收款码。上传到 这个工具网站 (opens new window) 即可获得收款码地址。当然你也可以用其它工具,能解码二维码就行了。

复制解码结果,粘贴到 payment_url,如下所示

"wechat": {
  "payment_url": "wxp://f2f03hYFhDSFVo-F4nu5FDF0q6Q52eYHL2ydi5Iqwpt5ruk"
}
1
2
3
赞赏码支持

在最新开发版本中,你也可以使用赞赏码。

先用图片编辑工具将保存的赞赏码切割成合适的尺寸,我这里切成 280x280 个人认为最合适。
将切割后的图片保存为 reward-code.png,或者其它名字,你只要记得在哪就行,然后上传到服务器放好。我放在 D:/resources/reward-code.png。

然后在配置里使用 file:文件绝对路径 即可使用赞赏码,示例如下

"wechat": {
  "payment_url": "file:D:/resources/reward-code.png"
}
1
2
3

然后就可以使用赞赏码了,下面的配置中也可以使用这个格式。不过赞赏码的局限性很大,不是很推荐在下面的指定金额收款码中使用。

接下来继续保存收款码,保存之前设置金额,比如设置 1.00, 6.00, 32.00 等金额,你需要什么金额就保存什么金额的收款码,然后以相同的方法输入到 payment_urls,注意金额必须保留两位小数。

完整配置示例如下(自己编辑的时候,请不要输入注释 //)

{
  // ...前面省略
  "hook": {
    "enable": true, // 开启这个
    "end_point": "/api/hook/receive",
    "wechat": {
      "require_process": "SweetCheckout.Hook.WeChat.exe",
      "enable": true, // 开启这个
      // 泛用收款码
      "payment_url": "wxp://f2f03hYFhDSFVo-F4nu5FDF0q6Q52eYHL2ydi5Iqwpt5ruk",
      // 指定金额收款码
      "payment_urls": {
        "1.00": "wxp://f2f1pUjNG21clhI_6IugMMPNf9uCvH-_VxwoVjbz4Xik9RBQo1h7lt0t5eO4OL7X4DpN",
        "6.00": "wxp://f2f1noHjiC53rfbMJySvXSE8qm_GFPwSbSmEi8y8fNM_LyuIYaF3L6dfFQjm7PVVVnwj",
        "32.00": "wxp://f2f1R_PoB_bI5MrS3Y4oZcAE-R1t_WXZ7uRWxJjhcMxsv8uqkqlfkt4eZdMgijWsewvb"
      }
    },
    // ...后面省略
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

设置 payment_urls 之后,当玩家下单指定金额的订单时,就不需要玩家手动再在微信输入一次金额了。

记得重启后端或者执行 reload 重载配置。

请保持 Hook 软件一直处于打开状态。

# 注意事项

后端是按金额来匹配支付人的,同一时间内,不能有多个人创建同一金额的订单。

比如不能有两个玩家同时充值 1 元,后面来的玩家,必须要等前面的玩家支付完成才能创建订单。

同时有多个人创建 1 元、6 元、32 元的订单是允许的。

上次更新: 2025/12/08, 04:32:33
后端部署 微信Hook v3
命令与权限

← 后端部署 微信Hook v3 命令与权限→

使用主题 Vdoing | Copyright © 2018-2025 人间工作P | 到爱发电支持我 | 8490200

除非特别说明,本站点所有文章均以 CC BY-SA 协议授权

《我的世界》和《Minecraft》是微软公司和 Mojang Synergies AB 的商标,本站点与微软公司等没有从属关系。

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式