【源码】实现微信支付宝收款码二合一

2018-07-10
0评论
/
11506阅读
爱搜啊

切记通过所谓的在线生成“微信支付宝收款码二合一”都是通过别人的服务器进行的收款跳转,非常不安全

今天分享款微信支付宝收款码二合一的源码,可以直接搭建属于自己的二维码。

最近把支付宝和微信的收款码和在一起的芝麻收款二维码火了

反正现在开发都是越来越简单了 https://www.hotapp.cn/shouqian    芝麻收款二维码的网址

提交一个微信支付二维码,一个支付宝支付 二维码,会生成一个二维码,

通用支付宝和微信支付 扫描这个二维码,微信支付会跳转到一个h5界面,上边还有一个二维码是财付通的,

识别就可以跳转到微信支付了 支付宝支付,扫描就直接可以跳转到支付宝支付了 

效果图:

实现微信支付宝收款二维码二合一源码

可是原理呢,是这样德: 大家一定都想问是如何判断打开软件的类型,把Request Header Cookie 都看看就明白了,

扫码二维码时不会传入任何参数, 但会有一个请求头,就是这个请求头告知了我打开软件的类型。 

使用request获取名为User-Agent的请求头, 支付宝的请求头:

ucbrowser/1.0.0.100 u3/0.8.0 mobile safari/534.30 alipaydefined(nt:wifi,ws:360|604|3.0) aliapp(ap/9.9.7.112401) alipayclient/9.9.7.112401 language/zh-hans usestatusbar/true

微信的请求头:

mqqbrowser/6.8 tbs/036887 safari/537.36 micromessenger/6.3.31.940 nettype/wifi language/zh_cn

就是根据这两个请求头去判断对应的软件类型,根据不同的软件类型去唤醒不同的支付。

知道这个要实现起来就简单多了

下面是实现的原理

if(navigator.userAgent.match(/Alipay/i)) {
    // 支付宝
} else if(navigator.userAgent.match(/MicroMessenger\//i)) {
    // 微信
} else if(navigator.userAgent.match(/QQ\//i)) {
    // QQ
} else {
    // 其它
}

理论上来说,进行判定后直接给跳转到对应的收款页面就行了,然而实际测试发现在QQ和微信中并不能直接调用付款功能,只有支付宝能直接进行付款。

这里有个折中的办法,就是如果是微信收款就弹出一个H5页面放一个二维码,提示用户长按识别二维码的方法实现。

收款链接获取

1、把微信和支付宝的收款码保存下来用二维码识别工具获取二维码中的收款链接(https://cli.im/deqr/

2、然后分别替换源码中的12、15、18行的收款链接为自己的

3、然后就大功告成了。。。

下载地址:

实现微信支付宝收款二维码二合一源码下载

备用地址:

链接: https://pan.baidu.com/s/1iMcNCtxdhrdUoS42qot5Ow 密码: qkk7


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2018-07-10发布