PayQrcode:微信支付宝二合一收款码(物理合并版) – 无需服务器离线可用

你是否遇到过这种情况:摆摊、开店或者做线下活动时,客户问”能微信吗”又转向”能支付宝吗”,你得手忙脚乱掏出两个二维码牌子?或者打印了网上流行的”二合一收款码”结果微信扫了跳到支付宝、支付宝扫了跳到微信一团乱?

传统的软件识别版收款码依赖服务器判断用户设备类型做跳转,不仅需要后端支持,而且一旦断网直接罢工。今天介绍的 PayQrcode 项目用了一种截然不同的思路——纯物理合并,把微信和支付宝的收款码直接合成一张图,离线也能用,一次生成永久有效。

项目简介

PayQrcode 是一个开源项目(GitHub: uxiaohan/PayQrcode),它通过像素级的图像处理技术,将微信收款码和支付宝收款码物理融合为一张图片。不需要服务器、不需要 API,生成后直接打印或展示即可使用。

PayQrcode 二合一收款码截图

它和”软件识别版”有什么不同?

对比维度 传统软件识别版 PayQrcode 物理合并版
实现原理 服务器识别 UA 后跳转不同支付页 图片直接合并,离线生效
依赖条件 需要服务器 / API / 网络 纯图片,无需任何后端
有效期 服务端挂掉就失效 永久有效,一次生成
安全性 依赖网络传输,有篡改风险 物理图片,无法网络篡改
适用场景 线上支付 实体店、地摊、海报等线下场景

技术原理(小白也能看懂版)

说白了,这个项目不是”写代码判断该跳转谁”,而是在图片层面做手脚,让微信和支付宝各自”看到自己想看的东西”:

  1. 微信识别逻辑:微信扫码是从左到右扫,它会识别 wxp://xxxx 格式的微信支付链接
  2. 支付宝识别逻辑:支付宝直接忽略微信的链接格式,只认自己的 https://qr.alipay.com/xxx 格式

图片如何合并?

  • 以微信收款码作为底层背景
  • 提取支付宝收款码的核心数据区
  • 把支付宝码顺时针旋转 180°(破坏微信对它的定位识别)
  • 将处理后的支付宝码放在微信码右下角的无点位区域
  • 利用最高容错等级 H(30% 纠错能力),保证局部覆盖后仍能正常解析

这样一来,一张图片里同时包含了两个付款码。微信扫了 90% 的可能进微信支付,支付宝扫了妥妥进支付宝。极少数情况(概率 < 0.5%)微信可能误跳到支付宝,但作者已经给出了完善的兜底测试流程。

核心优势

  • 纯物理实现:不需要服务器、API、网络支持,杜绝网络篡改风险
  • 即生即用:一次生成永久有效,适合实体店、地摊、海报等静态收款场景
  • 多场景通用:不仅限于支付,微信/支付宝扫码跳转的通用场景(如官网跳转、表单提交)同样适用

潜在局限

  • 仅支持微信+支付宝双码合并,不支持三个或更多码种
  • 局部污损超过 30% 可能导致识别失败,使用时注意不要遮挡
  • 极少数情况(约 0.5%)微信可能误解析支付宝链接,建议生成后做交叉测试

如何使用

一键部署(最简单的方法)

项目提供了两种一键部署方式:

  • Vercel 部署:点击项目页的 Vercel 按钮,直接 Clone 仓库部署
  • Cloudflare Pages 部署:同样支持一键部署到 Cloudflare

使用步骤

  1. 部署成功后打开页面
  2. 上传你的微信收款码和支付宝收款码两张图片
  3. 点击生成,等待合并完成
  4. 下载生成的二合一收款码图片
  5. 务必测试:用微信和支付宝分别扫码,确认微信跳微信、支付宝跳支付宝

参数调优

如果扫码识别延迟或失败,可以尝试:

  • 调整支付宝码覆盖比例(建议 30%-40% 面积占比)
  • 微调旋转角度(±10°,寻找最佳识别平衡点)

总结

PayQrcode 是一个非常实用的工具类开源项目,尤其适合实体商家、地摊摊主、活动主办方等需要线下多支付方式收款的人群。纯物理合并的思路新颖又可靠,一键部署无门槛,生成后永久使用,是个拿到手就能直接用的好东西。

项目地址https://github.com/uxiaohan/PayQrcode

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享