由于网络支付不统一,各大支付平台都不想放弃自己的一片江山,纷纷推出自己的收付款方式,导致要想用网络付款,还需要各个平台都有账号才行。一个名为芝麻的微信公众号提供了将各大支付平台的二维码整合在一起的功能,目前很多网友,线下超市都在用它。它能让你只需要准备一个二维码就能正常使用各个平台的收款功能,今天跟着代码狗一起来制作一个支付宝QQ微信多合一收款万能收钱码。效果如下图:
原理
支付宝QQ微信多合一收款万能收钱码其实只是一个网页,它将用户传过来的支付方式标识UA作为生成付款二维码的平台。比如用户用QQ扫描了我们的支付宝QQ微信多合一收款万能收钱码,那么它就会读出我们在支付宝QQ微信多合一收款万能收钱码上存下的网页地址,打开这个网页的时候,网页接收到用户使用的APP标识useragent,就会对应生成一个该APP平台所使用的二维码,让用户接着扫一次。而这个二维码中的信息,就是我们收款用的链接。
具体实现
首先我们需要生成二维码,这个可以依靠自己的服务器,使用php类库PHP QR Code 但是需要服务器支持GD2。详情请看这篇文章:PHP生成网址二维码
然后我们需要做一个网页,它将接收用户的UA并动态的生成对应平台的二维码,UA判断的方法请看这篇文章:js判断用户UA并自动跳转到对应网页,这里就不贴全部代码了,整个文件我会放在文章末尾,需要的请自行下载。
请将以下支付代码换成你自己的代码,不然默认是转给代码狗博客站长的哟。
// 在以下双引号中粘贴QQ钱包收款链接 qqUrl: "https://i.qianbao.qq.com/wallet/sqrcode.htm?m=tenpay&a=1&u=1016134519&ac=7538A0D3EB4D0837D31AC7827B5614753AEA141B073F9DD9F7AA2667E1CE9BC6&n=%E7%99%BE%E7%82%BC%E9%92%A2&f=wallet", // 在以下双引号中粘贴微信收款链接 wechatUrl: "wxp://f2f0INsjpeufeD8Z34twqXUrJamfT_LX8tWh", // 在以下双引号中粘贴支付宝收款链接 aliUrl: "https://ds.alipay.com/?from=mobilecodec&scheme=alipays%3A%2F%2Fplatformapi%2Fstartapp%3FsaId%3D10000007%26clientVersion%3D3.7.0.0718%26qrcode%3Dhttps%253A%252F%252Fqr.alipay.com%252FFKX09286HAHGM7EMZAUK7F%253F_s%253Dweb-other",
支付代码获取
打开自己的收款码,并截图或者保存图片,然后识别二维码,或者到下面的在线二维码识别网站识别你的支付地址。将识别出来的二维码内容替换掉上面的支付链接即可。
草料二维码识别:https://cli.im/deqr
在线二维码识别:http://jiema.wwei.cn/
做好了这个网页我们就利用PHP将这个网页的网络地址生成二维码,这样就能实现多合一了。
代码来自网友,已经改到最简洁了。由于网上版本太多,找不到原创作者,不能留下地址,代码狗博客对此深表歉意。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/242326.html