微信与支付宝收款二维码合并原理与c++开发 |
您所在的位置:网站首页 › 收款码合并 › 微信与支付宝收款二维码合并原理与c++开发 |
二维码在网络和生活中的应用比比皆是。可我们也能发现,在商场、超市、菜市场等形形色色的场合,为了同时支持微信、支付宝,必须摆出2个二维码,这给商家、扫码者都带来了极大的不便。能不能将2个二维码合二为一,使得微信用户、支付宝用户,都扫同一个二维码呢?答案是肯定的。 合并原理: 二维码,就是用一个大方块中不同的小方格是否被使用(黑白)来表达各种信息。微信的收款码也罢,支付宝的收款码也罢,是将我们的微信号或支付宝号、收款数额等信息,先加密后以BASE64编码,发送到微信或支付宝的后台服务器进行处理。合并收款码,就是利用一个“中间服务器”,相当于一个“代理人”,将多个收款码集中在一起,并根据扫码者是微信还是支付宝,自动向各自的后台分别提供其所需的正确的收款信息。 二维码合并原理图开发思路: 知道了合并的原理,制作一个微信支付宝收款二维码合并程序,就比较简单了。其核心是用到二个二维码开发库,一个是Zxing,一个是Zint。根据开发语言,自己可选择下载。 (1)我们需要选择一个“中间服务器”,比如大名鼎鼎的heyfox.herokuapp.com. (2)紧接着,准备好微信和支付宝的收款二维码,利用二维码识别开发接口,将他们的文字信息判读出来。假设分别得到了: wxp://f2f0p9EKLQuvVi7ni3bKb0_-fE0HFR3X7xjO HTTPS://QR.ALIPAY.COM/FKX08744TYN8GRQ1BZSSAC 核心代码:利用Zxing二维码开发库 void __fastcall TForm1::bWxClick(TObject *Sender) { //open an image OpenDialog1->Filter=L"图片文件(*.jpg,*.png,*.bmp,*.gif,*.tif)|*.jpg;*.png;*.bmp;*.gif;*.tif"; if(OpenDialog1->Execute(Handle)) { usWx=fileToText(OpenDialog1->FileName); AnsiString ns= usWx; if(StrLComp(ns.c_str(),"wxp://",6)==0) imgWx->Picture->LoadFromFile(OpenDialog1->FileName); else { return; } } } (3)将上一步得到的文字信息,各取出一部分并进行合并,得到下面类似的文字: https://heyfox.herokuapp.com/pay?ali=FKX08744TYN8GRQ1BZSSAC&wx=f2f0p9EKLQuvVi7ni3bKb0_-fE0HFR3X7xjO (4)将第3步的文字内容,转为二维码,大功即靠成矣! 核心代码:利用zint二维码开发库 void __fastcall TForm1::zCombineClick(TObject *Sender) { if(!imgWx->Picture->Graphic || !imgZfb->Picture->Graphic ) { ShowMessage("请先打开微信、支付宝收款码!"); return; } UTF8String source=L"https://heyfox.herokuapp.com/pay?ali=" +usZfb.SubString(23,usZfb.Length()-22)+L"&wx="+ usWx.SubString(7,usWx.Length()-6); //生成二维码 getQrCode(source); } 如果想下载一个免费的运行于PC端的微信支付宝收款二维码合并器,可以从CSDN下载。这个工具使用起来也很简单,只要先准备好你的微信、支付宝收款码图片,再选择一个Logo,就OK了。 它的操作界面,类似于下图: 微信支付宝二维码合并器操作界面示例知道了原理和方法,合并更多的收款二维码,也就不在话下了。 好了,赶紧告诉周围那些采用二维码收款的朋友,用一个二维码合并工具,将他们的收款二维码合并吧。作为一个商家,如果别人都在面前摆放2个二维码,而你只要摆放1个,向你付款的微信用户也好,支付宝用户也好,扫同一个二维码,一定会显示很潮吧! 如果有什么不明白之处,就关注我的头条号,与我直接联系。第1次头条发文,不妥之处,希予海涵。 18.3.17 智有不明, 首发于今日头条 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |