吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 22048|回复: 610
上一主题 下一主题
收起左侧

[其他原创] 支付宝和微信收款码二合一(图层合并)

    [复制链接]
跳转到指定楼层
楼主
pzx521521 发表于 2025-1-8 09:16 回帖奖励
本帖最后由 pzx521521 于 2025-1-10 12:10 编辑

支付宝和微信收款码二合一(图层合并)

网上看了一下,居然没有开源免费通过图层合并实现的.纯前端项目
pEC4oOP.png
在线demo
exe(纯webview套壳,需要webview2,win10以上自带)生成网址
https://wwtw.lanzouq.com/iZe8p2ki938b
macos:
https://wwtw.lanzouq.com/i0lHi2ki96md
html:
https://wwtw.lanzouq.com/iB4P82ki8vsd

源码

主要合并方式实现有三种:

  • 通过 UA 判断
  • 图片合并
  • 第三方支付平台接入

UA(User Agent)判断

原理

根据访问者的 User Agent 信息判断访问者使用的 App(支付宝或微信)。

  • 如果检测到 User Agent 包含微信标识,则跳转微信收款链接。
  • 如果检测到 User Agent 包含支付宝标识,则跳转支付宝收款链接。

优点

  • 实现简单:只需一个中间页面进行 UA 判断并跳转。

    可以纯前端,把两个链接都包含在二维码中.

    也可以把数据放后端

缺点

  • UA 可能变更:微信和支付宝的 User Agent 格式可能会更新。
  • 微信不支持直接拉起:需要客户长按识别二维码。
  • 不稳定:需要中间页面的服务器响应。服务器挂了就没办法使用
  • 不安全: 跑路还好,最多不能用.如果后台恶意修改代码,钱就没了

第三方支付平台接入

原理

通过接入第三方支付平台,使用它们提供的 API 同时支持支付宝和微信支付。

优点

  • 功能丰富:支持更多支付方式(如银联、信用卡)。
  • 自动化程度高:无需自行维护逻辑。

缺点

  • 成本较高:需要支付服务费或分成。
  • 依赖第三方服务:平台不可用时可能影响业务。

二维码合并

pE9TYxs.png

原理

通过二维码的纠错机制,即使有一部分二维码被覆盖,也能正确解析.

支付宝的链接是https://qr.alipay.com/xxx  

微信的链接是wxp://xxxx  

微信识别二维码偏向于从左到右识别,支付宝不搭理微信的链接wxp://xxxx

其实不限于支付,其他微信/支付宝扫码都可以这个搞

所以可以这么实现:

  • 把链接解析出来,然后用最高容错H(30%纠错),重新生成二维码
  • 把微信作为底层,支付宝放在上层的右下角
  • 顺时针旋转支付宝180°,防止微信优先识别支付宝二维码
  • 删除支付宝的一部分,防止微信优先识别支付宝二维码

优点

  • 简单易用:纯物理方式。没有服务器,不担心安全问题

缺点

  • 兼容性有限:就能两个,3个(比如)都实现不了。
  • 抗污能力差:如果涂黑了一部分,很容易导致用不了,不再像原生二维码那样有强大纠错能力。
  • 微信拉起失败:极少部分情况下微信还是会打开支付宝的链接


总结

方式 实现复杂度 安全性 费率 多平台 其他
UA 判断 较简单 支持多个 微信不能直接拉起,需长按识别
图片合并 简单 仅支持2个 微信极少数情况下会打开支付宝的链接
第三方支付平台 较复杂 看第三方信誉 支持很多(比如直接银行卡) 没有任何问题

关键代码


            // 绘制支付宝二维码(旋转180度并裁剪)
            const alipayPicWidth = qrSize.value / 2
            if (alipayQrContent.value) {
                const alipayQrCanvas = document.createElement('canvas')
                await QRCode.toCanvas(alipayQrCanvas, alipayQrContent.value, {
                    errorCorrectionLevel: 'H',
                    margin: picMargin / 2,
                    width: alipayPicWidth,
                    color: {
                        dark: '#000000',
                        light: '#ffffff'
                    }
                })
                // 创建临时画布来处理支付宝二维码
                const tempCanvas = document.createElement('canvas')
                tempCanvas.width = alipayPicWidth
                tempCanvas.height = alipayPicWidth
                const tempCtx = tempCanvas.getContext('2d')
                if (tempCtx) {
                    // 绘制原始支付宝二维码
                    tempCtx.drawImage(alipayQrCanvas, 0, 0, alipayPicWidth, alipayPicWidth)
                    const clearHeight = alipayPicWidth / 2 / 2
                    // 清除右下角1/4区域
                    tempCtx.clearRect(alipayPicWidth / 2 + clearHeight, alipayPicWidth / 2,
                        alipayPicWidth / 2 - clearHeight, alipayPicWidth / 2)
                    // 保存当前状态
                    ctx.save()
                    // 设置旋转中心点并旋转
                    ctx.translate(qrPosition.value.x + alipayPicWidth / 2,
                        qrPosition.value.y + alipayPicWidth / 2)
                    ctx.rotate(Math.PI)
                    ctx.translate(-(qrPosition.value.x + alipayPicWidth / 2),
                        -(qrPosition.value.y + alipayPicWidth / 2))
                    // 绘制处理后的支付宝二维码
                    ctx.drawImage(tempCanvas,
                        qrPosition.value.x,
                        qrPosition.value.y,
                        alipayPicWidth,
                        alipayPicWidth
                    )

更新

有人反馈支付宝扫不出来 或者微信经常跳
现在添加3个参数供大家测试
目前感觉 横向+从里到外清除+清除50% 效果最好
由于并不知道那种方案最好
添加高级选项,供大家调试
添加背景选项
添加自定义背景

免费评分

参与人数 191吾爱币 +192 热心值 +167 收起 理由
VincengGG + 1 + 1 热心回复!
card628 + 1 热心回复!
alexxi0571 + 1 + 1 谢谢@Thanks!
浮尘晓梦 + 1 谢谢@Thanks!
JiuJingXiaoDu + 1 用心讨论,共获提升!
anning666 + 1 + 1 用心讨论,共获提升!
BTCQAQ + 1 谢谢@Thanks!
heiyue003 + 1 + 1 我很赞同!
1000Y + 1 + 1 谢谢@Thanks!
sunline + 1 + 1 谢谢@Thanks!
a446489393 + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
italywwy + 1 我很赞同!
jsyczxyh + 1 我很赞同!
dv99 + 1 + 1 谢谢@Thanks!
Icicle丶凌 + 1 我很赞同!
lemon395 + 1 + 1 我很赞同!
Zome + 1 + 1 用心讨论,共获提升!
kyrzy0416 + 2 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
52pj420112 + 1 + 1 我很赞同!
liu18335229964 + 1 + 1 我很赞同!
591550797 + 1 + 1 我很赞同!
zj_tj + 1 + 1 热心回复!
ihaveyou + 1 热心回复!
wojaiyh + 1 + 1 谢谢@Thanks!
hjsm + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hwf411 + 1 + 1 谢谢@Thanks!
ws001980 + 1 + 1 谢谢@Thanks!
moonrabbit + 1 + 1 谢谢@Thanks!
吴风 + 1 谢谢@Thanks!
52bandari + 1 + 1 用心讨论,共获提升!
ag129 + 1 + 1 谢谢@Thanks!
zjh106 + 1 + 1 热心回复!
iceSleeping + 1 + 1 谢谢@Thanks!
yangqing020629 + 1 + 1 我很赞同!
jie520yun + 1 + 1 我很赞同!
xie792 + 1 + 1 用心讨论,共获提升!
xiaoyaodulang + 1 + 1 我很赞同!
dzc999 + 1 + 1 谢谢@Thanks!
xingchi + 1 + 1 谢谢@Thanks!
小寒丶 + 1 + 1 我很赞同!
失落丶月 + 1 + 1 我很赞同!
wuqing89403 + 1 + 1 谢谢@Thanks!
SangerTom + 1 用心讨论,共获提升!
导演 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zhijiandeyanhuo + 1 + 1 谢谢@Thanks!
yuzmb520 + 1 + 1 谢谢@Thanks!
leolcg + 1 + 1 我很赞同!
uuiuu + 1 我很赞同!
Beast。 + 2 + 1 谢谢@Thanks!
旁观者迷 + 1 + 1 谢谢@Thanks!
memi + 1 + 1 谢谢@Thanks!
何方妖孽 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
wj18235894766 + 1 + 1 谢谢@Thanks!
xn2113 + 1 + 1 谢谢@Thanks!
Issacclark1 + 1 谢谢@Thanks!
wwbzmt + 1 + 1 谢谢@Thanks!
awen1344 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
myd444 + 1 鼓励转贴优秀软件安全工具和文档!
skywalkicer + 1 + 1 谢谢@Thanks!
Glaotou + 1 + 1 谢谢@Thanks!
不会化的冰 + 1 + 1 热心回复!
mydream_168 + 1 + 1 谢谢@Thanks!
liy007 + 1 用心讨论,共获提升!
Codeman + 1 + 1 我很赞同!
guyuchao3 + 1 + 1 我很赞同!
XAQ1113 + 1 谢谢@Thanks!
Sundy745 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
許你①ぜ溫柔 + 1 + 1 用心讨论,共获提升!
tanlini + 1 + 1 测试了一下很NICE。
liaryl + 1 + 1 鼓励转贴优秀软件安全工具和文档!
qwer1243 + 1 + 1 我很赞同!
cczyx + 1 我很赞同!
crbiggun + 1 + 1 我很赞同!
cl836 + 1 + 1 谢谢@Thanks!
gxsky + 1 + 1 谢谢大佬!
Jesus1207 + 1 + 1 用心讨论,共获提升!
SomeBottle + 1 + 1 谢谢@Thanks!
joeredhair + 1 + 1 谢谢@Thanks!
qiangq233 + 1 + 1 热心回复!
星鱼 + 2 + 1 谢谢@Thanks!
abc023119 + 1 + 1 谢谢@Thanks!
diliuyue + 1 谢谢@Thanks!
jb007 + 1 热心回复!
哒劳德 + 1 + 1 我很赞同!
大白康 + 1 谢谢@Thanks!
奥怪 + 2 + 1 用心讨论,共获提升!
wapjzczh + 1 + 1 用心讨论,共获提升!
weidechan + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
啊好菜啊 + 1 谢谢@Thanks!
a6455081a + 1 我很赞同!
shihdhr + 1 + 1 热心回复!
shifuwong + 1 + 1 谢谢@Thanks!
a22488 + 1 + 1 谢谢@Thanks!
絕情 + 1 + 1 用心讨论,共获提升!
tme2252 + 1 + 1 热心回复!
zzhaoxue + 2 + 1 热心回复!
lyslxx + 1 + 1 我很赞同!
post927 + 1 + 1 谢谢@Thanks!
zhulingfenga + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
唯一圣琴士 发表于 2025-1-9 13:22
本帖最后由 唯一圣琴士 于 2025-1-10 13:20 编辑
绝版ren物 发表于 2025-1-9 11:56
分享下软件学习学习

主体是个收款软件,这个合并二维码只是其中一个功能。不敢发。。这软件是邀请制的,之前有过一次违规了,怕巡查直接ban了我

====================
【2025年1月10日】统一回复一下需要软件或合并二维码的盆友。
您可以私信我,说明需要合并二维码还是软件。需要合并二维码的留下宝蓝和微绿的两个收款码原图和联系方式,我合并好了直接给你发过去,需要软件我直接把安装包发过去。不再回复私信。毕竟发一次私信要消耗5cb。

如果巡查或版主觉得这个回帖有违规行为麻烦帮忙直接删帖。谢谢了
推荐
唯一圣琴士 发表于 2025-1-9 09:42
谢谢分享。我想说有一款软件很早就可以做到像这样合并二维码。有本地图形化界面,合成出来的图片自带宝蓝和微绿标志性颜色。



这是软件界面显示(无任何不良引导或指向,有引流嫌疑的文字已模糊处理,如果巡查或版主觉得不妥可直接帮忙删帖)

点评

哈哈哈 我搜了没搜到,看起来他位置放的不一样哦 代码是开源的哦, 如果你感觉有更好的实现方式,欢迎PR~ 或者你确定他的实现方式更好,可以发软件过来,探究一下他的原理,更新一下实现方式  发表于 2025-1-9 10:13

免费评分

参与人数 6吾爱币 +9 热心值 +6 收起 理由
坏人。丶 + 2 + 1 我很赞同!
恋尘 + 1 + 1 求下载链接
man5604820 + 1 + 1 求下载链接。
qa1368 + 1 + 1 求下载链接
yezhengw111 + 2 + 1 热心回复!
654812282 + 2 + 1 求下载链接。。

查看全部评分

推荐
小豹珠宝 发表于 2025-1-8 20:25
本帖最后由 小豹珠宝 于 2025-1-8 21:34 编辑

我试了以下转变成python,基本界面和功能出来了,但是最后合并的时候出来的效果不理想。
最后不知道怎么处理了。楼主或者其他大神看看有没有什么好的建议一下?


点评

我用的H + version6目前我也不知道那种方式最好,那个码放上面,要不要旋转,要不要清除上层的一部分.所以把所有参数都开出来了.ps最开始我也用的python,打包出来太大了,而且不好放服务器,而且简单就用js重构了  发表于 2025-1-10 00:01
推荐
我在路上 发表于 2025-1-8 09:20
不错。。。
3#
kongson 发表于 2025-1-8 09:22
收藏,有用到的一天。谢谢
4#
tempxx01 发表于 2025-1-8 09:24
谢谢楼主分享,很棒!!
5#
kurage7 发表于 2025-1-8 09:25
试试看,感谢分享
6#
ytw6176 发表于 2025-1-8 09:25
牛逼,还能这么玩,我以为要搞个中间网页做识别
7#
SherlockProel 发表于 2025-1-8 09:28
微信支付宝都支持?牛逼克拉斯
8#
lane2007 发表于 2025-1-8 09:29
这个挺厉害啊,不用花钱就可以合并了,不知道效果好不好了
9#
youzisky0701 发表于 2025-1-8 09:32
不错不错,感谢分享
10#
tiansheng1 发表于 2025-1-8 09:35
感谢楼主分享,很棒!!太有实力啦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-20 17:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表