最新二合一收款码 - 物理合并版
通过 UA 判断设备类型跳转支付盛行的时代已然过去,通过物理合并的方式将支付宝和微信收款码合并的技术更显专业,博客志今天分享一个通过物理合并的方式将微信与支付宝收款码融合为单张图片的源码。

PayQrcode 二合一收款码(物理合并版) 区别于传统基于设备 UA 判断的「软件识别版」,通过物理图片合并技术,将微信与支付宝收款码融合为单张图片,实现离线场景下的双码兼容识别,该技术由韩小韩博客提供。
一、技术实现逻辑
支付平台识别特性
微信识别逻辑:采用「从左到右优先识别」策略,且会解析 wxp://xxxx 格式的微信支付链接
支付宝识别逻辑:直接忽略微信支付链接格式,仅识别自身 https://qr.alipay.com/xxx 格式链接,确保正确跳转
二、二维码处理策略
采用最高容错等级 H(30% 纠错能力),确保局部覆盖后仍可解析
底层架构:以微信收款码作为背景层
提取支付宝收款码核心数据区,删除 3 个定位角点中的无点位角(保留 3 个定位角)
顺时针旋转 180°,破坏微信对支付宝码的定位识别逻辑
层级叠加将处理后的支付宝码放置于微信码的右下角无点位区域,通过像素级融合形成完整二维码
三、核心优势
纯物理实现:无需服务器 / API 支持,生成后可直接打印使用,杜绝网络篡改风险
即生即用 :一次生成永久有效,适用于静态收款场景(如实体店、地摊、海报等)
多场景通用:不仅限于支付场景,支持微信 / 支付宝扫码跳转的通用场景(如官网、表单等)
四、潜在局限
兼容性限制:仅支持双码合并,暂无法扩展至 3 个及以上码种
抗损能力下降:局部污损(超过 30% 纠错范围)可能导致识别失败,需避免二维码区域遮挡
极端识别问题:极少数情况下微信可能误解析支付宝链接(概率< 0.5%),建议配置兜底测试流程

五、使用注意事项
1、生成测试流程:生成后使用微信 / 支付宝 APP 分别扫码测试,确保:
微信扫码优先跳转微信支付页面
支付宝扫码正常唤起付款码 / 转账页面
2、参数调优:建议若出现识别延迟或失败,可尝试调整:
支付宝码在微信码上的覆盖比例(建议初始比例:30%-40% 面积占比)
旋转角度(±10° 微调,寻找最佳识别平衡点)
六、项目地址
项目地址:PayQrcode - Github
博客志测试部署: DPayQrcode (感谢 EdgeOne Pages 提供系统底层架构)