正版源码 · 套餐自由选择 · 含完整部署文档
首页 / 全部源码 / 软件工具 / YPAY微信监控PC端-YPAY 收款监控端

YPAY微信监控PC端-YPAY 收款监控端

监控微信 PC 端的到账通知,匹配你网站上的待支付订单, 并按易支付格式签名回调你的网站,完成自动发货。
编辑推荐热销更新免费(按授权时长计费) 应用软件
¥1 起 ¥15 0.7 折 2 档可选
已售 1 份 下载 50 次 库存 22 个
选择套餐 不同档位对应不同的可下载版本范围
可下载版本
1.11.14.0
技术栈
交付内容
YPAY微信监控PC端
所属分类
软件工具 (该分类共 2 套)
浏览次数
113 次
源码类商品一经下载不支持退款,购买前请先通过演示站验证功能。
项目详情
交付清单
文件清单
购买须知

YPAY 收款监控端 —— 使用说明

============================================================

 

一、这个程序做什么

------------------------------------------------------------

监控微信 PC 端的到账通知,匹配你网站上的待支付订单,

并按易支付格式签名回调你的网站,完成自动发货。

 

二、运行环境

------------------------------------------------------------

- Windows 10 1809(内部版本 10.0.19041)及以上,64 位

(实测 Windows Server 2012 也可运行)

- 微信 PC 版已登录

- 无需安装 .NET(本包已自带运行时)

- 无需安装中文 OCR 语言包(本包已内置离线 OCR 引擎)

- 无需安装 VC++ 运行库(本包已自带,见第七节)

 

三、怎么用

------------------------------------------------------------

1. 把整个 YPayMonitor 文件夹解压到磁盘上。

建议放在纯英文路径,例如 D:\YPayMonitor

⚠ 必须先完整解压,不要直接在压缩包里双击运行

⚠ 必须整个文件夹一起拷,不能只拿 YPayMonitor.exe ——

程序本体和 OCR 引擎都在 app\ 子目录里

2. 双击根目录的 YPayMonitor.exe(这是个启动器,它会拉起 app\ 里的主程序)

3. 首次启动会自动在 app\ 下生成 config.json

4. 点「配置」,填写最上面两节的**商户 / 平台**与**平台原生模式**:

商户ID(pid)、平台接口地址、商户密钥 key(本地模式)/

软件通讯密钥 appkey + 收款账号 ID channel_id(平台原生模式)

这两节的配置**单独保存在 app\platform.json** 里:

⚠ 首次运行程序目录下没有 platform.json,所以这些项都是**空的**,

需要你自己填;填完点「保存并生效」就会生成该文件,以后启动自动读取。

⚠ 没填之前程序**不会启动监控**(日志会写「平台配置尚未填写」),

这是为了避免拿空配置往平台发通知。

5. 在微信里点开「微信收款助手」会话(程序只读取,不修改微信)

⚠ 这一步很关键:微信 4.x 允许把聊天开成**独立窗口**,程序会锁定窗口。

只要当前窗口标题不是「微信收款助手」,程序就会**跳过到账判定**(不会乱回调)。

6. 界面出现「微信监听:已连接微信·OCR(…) · 监听中」,即表示已就绪

7. 也可以随时用浏览器打开 http://127.0.0.1:9501/api/diag/wechat 自查:

session_ready 是否为 true、window_title 是否等于 target_session

8. 遇到「明明收到钱了却不识别」时,用浏览器打开

http://127.0.0.1:9501/api/diag/screenshot

它会把**程序实际抓到的画面**存成 3 张 PNG 到 app\logs\captures\,

可以直接和你在屏幕上看到的样子对比(详见第六节最后几条问答)

 

【关闭 / 退出的两种方式】

默认行为:点右上角 × 只是把窗口收进托盘,程序继续在后台监听,

要真正退出请在托盘图标上右键 →「退出」。

想要「点 × 就退出」:配置页勾选 **关闭窗口直接退出程序(不驻留托盘)**

(对应 config.json 里的 ExitOnClose: true)。

⚠ 勾选后关闭窗口会真正结束进程,后台就不再监听收款了。

 

四、目录说明(1.1.0 起的新结构;1.1.4 起配置文件就在根目录)

------------------------------------------------------------

根目录放「启动器 + 本说明 + 两个配置文件」,程序本体收在 app\ 里:

 

YPayMonitor.exe 启动器(双击这个运行,体积很小)

使用说明.txt 本文件

config.json ← 配置:微信监听、本地接口、订单回调、界面、自动更新开关

platform.json ← 配置:商户 / 平台 + 平台原生模式(**首次运行不存在**,

在「配置」里填好并保存后才会生成;这就是把它单独放一个

文件的原因 —— 换机器或备份凭据时只动这一个文件)

app\ ← 程序本体都在这一个目录里

YPayMonitor.exe 主程序(不要直接双击它,用根目录那个启动器)

tessdata\ 内置 OCR 引擎的中文/英文语言数据

x64\ 内置 OCR 引擎的本地库 + VC++ 运行库(10 个 DLL)

Tesseract.dll 内置 OCR 引擎组件

orders.json 订单池(待支付订单)

collects.json 收款记录

logs\ 运行日志(按天生成)

captures\ 排障截图(见第六节)

logs\launcher-*.log 启动器/更新器的日志(自动更新排障用)

update\ 自动更新的下载目录(更新完可以删)

其余 .dll 程序自带的 .NET 运行时,请勿删除

 

为什么要分成两层:程序本体有近 200 个文件,

平铺在根目录里既不好看也不好找;启动器很小(单文件),

放在根目录一眼就能看到、方便双击。

 

⚠ 1.1.4 起,config.json / platform.json 就在**启动程序旁边**(根目录),

可以直接用记事本打开编辑,不用再进 app\ 里找。

从旧版本升级上来时,原来在 app\ 下的这两个文件会自动搬一份到根目录

(app\ 里的原件保留,确认没问题后可以自己删掉)。

 

五、版本与自动更新

------------------------------------------------------------

- 当前版本显示在两处:窗口**标题栏**和**右下角状态栏**(形如 v1.1.4)

- 工具栏右侧有「检查更新」按钮,托盘右键菜单里也有同名项

- 程序**启动后约 30 秒**会自动检查一次新版本,之后每 6 小时一次

(间隔可在「配置 → 自动更新」里改,填 0 表示只在启动时查一次)

- 发现新版本时会弹窗,列出**版本号 / 更新包大小 / 更新内容**,

由你决定是否现在更新:

· 点「立即更新」→ 自动下载 → 自动替换 → **自动重启**,全程不用手动解压

· 点「稍后再说」→ 本次不更新,下次检查时会再提醒

- 更新**不会动你的数据**:config.json、**platform.json**、orders.json、

collects.json、crash.log 以及 logs\、captures\ 都会被保留,不会被新版覆盖掉

- 更新过程中的排障日志在 app\logs\launcher-*.log

- 检查更新走的是程序内置的商城接口,**界面上不显示该地址**,

界面日志栏也不会打印它(例行检查只写进 app\logs\ 的日志文件),

避免把内部信息暴露给使用程序的人。

 

⚠ 想让更新能自动安装,必须保持现有的两层目录结构

(根目录有 YPayMonitor.exe、下面有 app\)。

如果你把主程序单独拷出来用,就只能手动下载覆盖了。

 

⚠ 从 **1.1.0 / 1.1.1 升级到 1.1.2** 时,需要**手动覆盖安装一次**:

更新包的内部目录做了整理(根目录不再散落程序文件,只留 app\ 与 _root\ 两个目录),

而执行安装的更新器是旧版本自带的那个,它认不出新格式 ——

点「立即更新」会提示「更新包内容不完整」并**安全中止**(原程序不受影响,可继续使用)。

解决:下载免安装版压缩包,解压后把 YPayMonitor.exe / 使用说明.txt / app\

覆盖到原安装目录(你自己的 config.json / platform.json / orders.json / collects.json 都不要删),

重启即可。装上 1.1.2 之后启动器就是新版,以后自动更新恢复正常。

**只有已经装过 1.1.0 / 1.1.1 的机器需要这一步,全新安装不受影响。**

 

六、常见问题

------------------------------------------------------------

Q: 启动后窗口比以前小了?

A: 是的(1.1.2 起初始窗口从 1040×720 改成 920×640)。

在 1366×768 这类小屏、以及远程桌面里更不容易超出屏幕。

窗口是**可以随意拉大**的,程序不会记住尺寸,每次启动都用这个较紧凑的大小。

窗口缩到最小时表格与日志都还能用(各自有最小高度)。

 

Q: 日志栏里的长消息会折成好几行?

A: 是的(1.1.2 起)。以前一行太长会被**直接截断**(回调地址、异常原因这些

最需要看的内容恰好都在右半边,完全看不到),现在会自动折行完整显示,

拖动窗口宽度时也会跟着重新排版。

极端长的内容(比如完整的异常链)最多显示 20 行,末行右下角会标

「…完整内容见日志文件」,完整内容始终写在 app\logs\ 下当天的日志里。

 

Q: 启动后提示「平台配置尚未填写」,监控也没启动?

A: 这是正常的首次运行状态。商户 / 平台相关配置存在程序目录的 platform.json 里,

而这个文件**首次运行并不存在**(所以那些项都是空的)。

点「配置」,把最上面两节(平台原生模式 + 商户 / 平台)填好,

点「保存并生效」后会生成 platform.json,监控会自动启动;

以后每次启动都会从该文件读取。不想重新填?把备份的 platform.json

拷到 app\ 目录下即可。

 

Q: 界面显示「未打开『微信收款助手』」?

A: 在微信里点开这个会话即可。若你的会话名不一样,改 app\config.json 里的

WeChat.TargetSession。

 

Q: 微信窗口能最小化吗?

A: 不能。程序用后台截图读取内容,窗口最小化后没有画面。

可以放在其他窗口后面,不要求它在前台。

 

Q: 提示本地接口端口被占用?

A: 改 app\config.json 里的 LocalApi.Port 为其他端口。

 

Q: 会不会把金额认错导致误发货?

A: 程序有多重保护:金额必须落在订单时间窗内、且在待支付订单里**唯一命中**

才会回调;默认还要求金额**精确相等**。

建议先用界面上的「模拟到账」走一遍完整链路验证。

 

Q: 客户先付款、我后下单,还能匹配上吗?

A: 能。到账时若订单池里没有对应订单,这条到账会保留 120 秒,

期间一旦登记了同金额订单会立刻补匹配并回调。

 

Q: 跑久了感觉不监控了,必须重启?

A: 本版已内置自愈,绝大多数情况会自己恢复,不用重启:

· PrintWindow 抓到纯色空图 → 自动换备用抓图参数重试

· OCR 引擎状态变坏 → 连续数轮读不到内容就重建引擎

· 微信重启 / 更新导致窗口变了 → 重新定位目标窗口并重建读取链路

(窗口是"粘性锁定"的:只要锁定的窗口还在就绝不换,不会来回跳)

程序还会复用截图内存,避免长时间运行后越跑越卡。

自查办法:浏览器打开 http://127.0.0.1:9501/api/diag/wechat

看 empty_read_streak(连续读不到内容轮数)与

auto_repair_count(已自愈次数);日志里搜「自愈重建」能看到原因。

若仍周期性失效,请把日志发来(这类通常与该机器的显卡渲染/微信版本有关)。

 

Q: 真收到钱了,程序却没反应?

A: 按下面顺序自查(浏览器打开 http://127.0.0.1:9501/api/diag/wechat):

 

1) 看 session_ready 是不是 false、window_title 是不是「微信收款助手」。

如果 window_title 显示的是**别的会话名**,说明程序看着的不是目标会话

—— 在微信里点开「微信收款助手」即可。日志里会有「不是目标会话」的告警。

⚠ 本版起,不是目标会话时程序会**明确跳过判定**(宁可不动,也不误发货)。

2) 看 line_count:一直是 0 说明截图/识别链路有问题,8 轮后会自动自愈。

3) 看 window_switch_count:正常应长期为 0~1。持续增长说明监控窗口在切换,

日志里会有「监控窗口变更」,请把日志发来。

4) line_count 大于 0 但 amount_count 一直是 0:说明读到了内容但认不出金额。

日志里搜「本轮读不到收款内容」,后面会把 OCR 实际读到的原文打出来。

5) marker 是空字符串("")而 amount_count 大于 0:说明**累计标记没读到**。

这时请用第 8 步的截图接口,把程序实际抓到的画面导出来对比 ——

2026-09-21 遇到过一次:屏幕上明明有「今日收款 0.01元(1笔)」,

而程序抓到的裁剪图里**前面「今日收款」四个字被切掉了**,导致认不出累计标记。

本版已修(裁剪区左侧多留 80 像素 + 认「0.01元(1笔)」这种没有前缀的写法)。

 

Q: 明明收到钱了,日志里却写着「聊天区连续 N 轮无重合,认定为界面整体变化,重建基线」?

A: 这条日志的含义是:**这一屏内容与上一轮完全对不上,程序把它当成"换了一批内容",

只作为新的起算点记录下来,不会回调**。如果那一屏其实是一笔真到账,就等于丢单了。

1.1.3 起已修掉三条会导致这种丢单的路径:

① 跨天丢单:微信的累计标记是「今日」口径,过了零点会重新从「第 1 笔」算起。

程序是长期挂着的,所以以前**每天的第一笔收款必然丢单**。

现在识别为"新周期首笔",取累计值作为本笔金额。

② "新到账卡片顶替旧卡片"被误判成界面刷新:收款助手的卡片是一张顶一张的,

所以"新到账"和"整屏刷新"在金额序列上一模一样,以前每次真到账都被这条兜底吞掉。

现在按证据强度分三层判定,不再悄悄丢掉金额;实在救不回来也会在日志里写明。

③ OCR 把「共计」读成「共记 / 共汁」时,累计行的金额被重复计入本笔金额。

现在累计行做了容错,而且"按累计差额算出的金额"必须能在卡片上看到才会采信。

1.1.3 起,这类日志后面会**把程序本轮实际读到的原文一并打出来**,

如果还遇到,直接把那段日志发来即可定位。

 

1.1.4 起又补了一条:**短时间内连收多笔**时,如果程序没跟上、中间几笔的卡片

已经被新卡片顶掉(日志写「笔数 +N 但可视区只看到 1 条金额」),

以前会把**整批**都丢掉。现在至少会把**最新那一笔**上报出来,并在日志里写明

「其余未能捕获、请人工核对到账记录」。

⚠ 中间那几笔的画面已经被顶掉,程序拿不回来 —— 想避免跳笔,收款节奏

慢于 1~2 秒一笔即可(程序每轮扫描约 1 秒)。

 

Q: 配置文件在哪?我想直接打开改?

A: 就在启动程序 YPayMonitor.exe 旁边(同一个目录):

config.json 微信监听、本地接口、订单回调、界面、自动更新开关等

platform.json 商户 / 平台 + 平台原生模式(商户号、密钥、收款账号 ID)

用记事本直接打开改,保存后重启程序即可;在界面「配置」里改效果一样,

点「保存并生效」时写入的就是这两个文件。

⚠ platform.json 里是商户凭据,别随手发给别人、也别放到共享目录里。

(1.1.4 起它们从 app\ 移到了这一层。从旧版升级上来时老文件会自动搬过来。)

 

Q: 怎么确认「程序看到的画面」和我看到的一样?

A: 浏览器打开 http://127.0.0.1:9501/api/diag/screenshot,它会在

app\logs\captures\ 里存 3 张图:

…-1-full.png 程序抓到的整窗

…-2-crop.png 裁剪后的聊天区(程序实际只看这一块)

…-3-ocr-input.png 放大后送去识别的图(OCR 真正看到的)

返回的 info 里还有窗口大小、屏幕位置、裁剪矩形、抓图参数和耗时。

如果 -3 里缺少你在屏幕上看到的某行字,就是裁剪比例或抓图参数的问题,

把这 3 张图和 info 一起发来即可定位。

 

Q: 启动后把「微信收款助手」里的**历史**收款也识别了?

A: 本版已修。启动后的第一轮读取只建立基线,不会产生任何回调;

如果启动时聊天区**本来就是空的**(还没有任何到账卡片),程序会建立一条

「**空基线**」(日志写「已建立空基线」),此后出现的到账**全部采信** ——

这样启动后的第一笔真到账就不会再被当成"建立基线"吸收掉。

另外本版修掉了「监控窗口在多个微信窗口之间抖动」这个根因

(微信同时开着独立聊天窗口时,以前可能读到别的会话内容)。

如果你还在旧包里看到这个现象,请更新到本版。

 

Q: 能不能像别的软件那样「Hook 绑定微信」?

A: 技术上能做,但**不会更稳**:Hook 需要注入微信进程、跟着微信每个版本

重新逆向,微信一升级就可能失效;且属于侵入第三方进程,

杀软普遍拦截,也有合规风险。同类软件"看起来稳"是因为它们跟着版本高频更新。

本版已把「窗口选错 / 会话没打开」这两个真正的坑修掉,

建议先用本版观察;若长时间跑下来仍有问题,把日志发来再评估。

 

七、关于 OCR 引擎与 VC++ 运行库

------------------------------------------------------------

程序按下面的顺序挑选 OCR 引擎:

 

1) 系统自带的 OCR(Windows.Media.Ocr)

中文识别更准、不占体积,优先使用;

2) 内置离线 OCR(Tesseract)

随程序一起分发,不依赖任何系统组件。

 

如果目标电脑是精简版 Windows(系统 OCR 组件被裁掉了,日志里会出现

「没有注册类 0x80040154」这类报错),程序会**自动改用内置离线引擎**,

你不需要做任何设置。注意:这条报错**不是"缺中文语言包"**,

装语言包没有用。

 

想手动指定,改 app\config.json 里 WeChat.OcrBackend:

 

auto 自动选择(默认,推荐)

winrt 只用系统 OCR

builtin 只用内置离线 OCR

 

凡是以 .dll 出现在 app\ 和 app\x64\ 里的 VC++ 运行库

(vcruntime140.dll / vcruntime140_1.dll / msvcp140.dll 等),

都是给内置 OCR 用的,不要删除、也不要替换成系统目录里的新版。

 

八、技术支持

------------------------------------------------------------

运行日志在 app\logs\ 目录,按天生成。反馈问题时请把相关日志一并提供,

并说明当前的**版本号**(标题栏或状态栏右下角显示的那个,形如 v1.1.4)。

涉及商户 / 平台配置的问题,也请附上 app\platform.json 的内容

(**先把里面的密钥打码**)。

 

同类源码推荐
查看全部 →
推荐 YPAY 微信收款监控 · Linux 端
YPAY 微信收款监控 · Linux 端
把 PC 控制端一插,一键部署到你的 Linux 服务器:微信收款到账自动匹配平台订单并回调,装完即可关掉控制端。
Linux(服务端) + Windows(控制端)
¥1 ¥15 起 / 2 档可选
已售 1
推荐 XYFRP 内网穿透面板(商业版)
XYFRP 内网穿透面板(商业版)
多节点 FRP 内网穿透商业面板 · 全端口 · 节点共建 · 在线支付
PHP 8 / MySQL 5.7 / ThinkPHP 8 / FRP 0.71
¥1 ¥99 起 / 2 档可选
已售 1
推荐 软件源码商城系统
软件源码商城系统
数字商品 / 源码交易全套解决方案,含授权码与在线更新体系
PHP ThinkPHP 8.1 MySQL
¥100 ¥688
已售 1
推荐 XY多积分充值(Discuz 插件)
XY多积分充值(Discuz 插件)
Discuz 积分充值 · 邀请码购买 · 用户组商城 一体化
Discuz X3.2~X5.0 PHP 5.3+ MySQL 5.7
¥1
已售 4