收款码在我们的日常生活中已经十分普及,每个人的使用习惯都不一样,有人喜欢支付宝付款,有人喜欢微信付款,出示不同的收款码比较麻烦,现在很流行多合一的万能收款二维码,同时支持支付宝、微信、QQ扫描付款。但是大多数都是第三方提供的服务,虽然也有免费的,但毕竟依托别人的服务,万一自己的收钱码被替换了或者对方要收费就不好了,本文就是介绍站长自己如何制作生成万能收款码,求人不如求己,不用受制于人,而且安全性也能保障,赶快行动吧。
第三方工具生成
访问https://qr.52ecy.cn/ 上传自己的二维码合并即可,该工具是开源的。源码:https://github.com/178146582/qr
但毕竟是别人的,有安全风险,如果有同学担心安全问题(毕竟是收钱嘛,收款码被替换就不好了(⊙ o ⊙)),可以参考下面的方式部署到自己网站。
重点:
下载源码:https://github.com/mydnsvip/Public/raw/master/pay.zip
1、先单独生成保存微信、QQ、支付宝的收款码,如何生成保存不用单独介绍了吧。
2、打开https://cli.im/deqr ,上传微信、QQ、支付宝的收款二维码图片,会对应生成扫描结果,复制保存好这个结果,第3步要使用。
3、修改pay.html文件,将源码中QQ、微信、支付宝的收款码链接替换掉。
4、将pay.html上传到网站根目录,保证自己的网站www.xxx.com/pay.html能访问(也可以放到任意子目录), 访问https://cli.im/ ,将自己网站www.xxx.com/pay.html链接生成一个二维码,保存好这个二维码。
5、最后根据自己的喜好修改调整图片样式格式,大功告成。
理论上来说,判定后直接给跳转到对应的收款页面就行了,但实际测试QQ和微信中并不能直接调用付款功能,需要再识别一次,只有支付宝能直接进行付款,本站效果。
收款原理
生成的万能码其实就是一个判断的入口,获取客户端UserAgent,然后根据UserAgent跳转到不同地址或者显示对应二维码,比如你的客户端来自支付宝,就跳转到支付宝链接。三个支付方式的UserAgent
Alipay
: 支付宝MicroMessenger
: 微信QQ
: QQ or TIM
目前问题
- 支付宝:支付宝的二维码返回的是https链接,可以直接跳转到支付宝发起支付。
- 微信:微信使用的自家协议
wxp://
,无法直接发起支付,只能返回一个二维码让微信识别后再进行支付。 - QQ/TIM : 返回的https链接,无法直接发起支付,也需要返回二维码识别支付。
如果有什么不清楚的,可以给站长留言或者联系站长,视情况可以提供免费帮助生成。
联系方式
- 个人微信号:do_ornot_todo
- Email:contact#mydns.vip (将#改为@)
- QQ:1304547047