PayQrcode:无需服务器的物理聚合收款码工具
PayQrcode 是一款开源的聚合收款码生成工具。它通过像素级叠加技术,将微信与支付宝的收款码融合成一张图片,让用户在离线状态下也能通过一次扫码完成支付。该方案彻底摒弃了依赖浏览器 UA 判断跳转的传统软件逻辑,无需 API 支撑或服务器运行,打印后即可永久使用。
核心原理解析
PayQrcode 的实现逻辑在于利用不同支付软件对二维码数据的解析差异:微信倾向于从左至右扫描并识别 wxp:// 协议;而支付宝则会自动过滤非本平台链接,仅提取 https://qr.alipay.com/ 相关数据。这种“物理合并”方式在安全性与稳定性上远超基于网络的跳转方案。
技术实现流程
- 构建底层 :以微信收款码作为背景基底,完整保留三个定位角。
- 数据处理 :提取支付宝码的核心数据区,移除右下角的定位点,并将其顺时针旋转 180°,以干扰微信的定位识别。
- 像素融合 :将处理后的支付宝片区精准贴入微信码的右下空白区域。
- 容错增强 :全图采用 H 级纠错(Error Correction Level H),确保即使 30% 的区域被覆盖或受损,依然能被正确解析。
方案优势与局限
优势亮点:
- 完全离线 :不依赖任何网络服务,杜绝了服务器宕机或链接失效的风险。
- 一次生成,长期使用 :极适合海报、地摊等静态展示场景。
- 通用性强 :除收款外,同样适用于官网跳转、表单提交等多种场景。
局限性与调优对策:
| 潜在风险 | 具体说明 | 应对方案 |
|---|---|---|
| 仅支持双码 | 无法集成三个及以上的支付码 | 如需多平台聚合,建议采用云端活码方案 |
| 抗损能力上限 | 遮挡面积超过 30% 将导致失效 | 使用保护膜,避免污渍或贴纸覆盖码区 |
| 极低概率误读 | 微信可能误识别支付宝码(< 0.5%) | 生成后实测,微调覆盖比例与旋转角度 |
参数调优建议:
- 覆盖面积 :建议支付宝片区占用微信码 30%–40% 的面积,以平衡两者的识别速度。
- 角度微调 :若出现识别延迟,可在 ±10° 范围内尝试微调角度。
适用场景
该工具非常适合以下需要“一次扫码,随心支付”的静态场景:实体店收银台、集市摊位、线下活动宣传海报、门票入口以及各类静态信息展示牌。
快速上手指南
- 访问 GitHub 项目
uxiaohan/PayQrcode或直接使用在线体验版。 - 上传微信与支付宝的收款码 PNG 图片,生成后下载高清 PNG 或 SVG 格式文件。
- 打印并张贴,建议在正式使用前分别用两款 App 扫码验证。
相关链接
官网地址:https://pay-qrcode.4ce.cn/
GitHub 地址:https://github.com/uxiaohan/PayQrcode
正文完
