- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于微信的扫码支付系统设计
1 总结
在线支付打破了传统的接受终端业务模式,其风险控制级别直接关系到客户的信息安全和资金安全。
1.1 基于微信模拟:扫码支付即时通知
扫码支付已经成为日常生活的一部分, 而在支付过程中, 商家需要查看用户手机审核支付款项是否到账, 此举使扫码支付的用户体验下降, 并与扫完即走的移动支付理念相违背, 虽微信已推出到账提醒功能, 但让商家手机时时留在商业场所仅为审核支付到账情况是困难的, 因此在商家和用户手机以外的设备接收支付信息并反馈给商家是更好的问题解决思路。为此本文提出了一种基于微信模拟登陆的支付通知设计方案, 旨在为商家提供更为便捷的, 脱离手机也能审核支付情况的系统, 从而达到微信扫码支付即时通知的目的。
本支付系统的改进主要基于网络抓包
此次设计的扫码支付确认装置具有体积小, 反馈实时、应用场景广, 配置简单等诸多优点, 而且能够在身边没有手机时也能准确实时同步接收支付信息, 具有一定的实用性。因此, 针对实用价值高这一特性去研究并开发出一套支付确认系统具有非常积极的现实意义。
2 支付确认装置设计
本次设计是以微信模拟登陆为技术核心的, 然后围绕在公众号接收到的支付信息, 通过Socket通信把信息发送到ESP8266通信模块上, 从而实现在手机以外的设备接收支付确认信息的目的。
本次设计的系统主要由微信模拟登陆模块、消息监听模块、TCP/IP通信模块和WIFI模块四大模块组成。
使用微信模拟登陆接收支付信息是为了借助微信强大的实时通信技术, 以便实时接收支付信息, 满足实际业务场景的需要。消息监听模块主要由定时发送POST请求的函数组成, TCP/IP通信模块主要使用基于套接字连接的Socket通信, WIFI模块部分主要由ESP8266芯片和Flash, 晶振等外围器件组成。
支付确认装置的设计任务主要为以下三个方面:
1) 微信支付信息在后台客户端进程的接收;
2) 支付到账信息被实时发送出去;
3) 到账信息被ESP8266模块接收并显示。
2.1 组建登录微信
结合微信模拟登陆技术、TCP/IP通信技术、信息处理技术等多种技术而设计了以下的方案来实现扫码支付确认装置。
设计方案结构简图如下所示:
在没有企业认证的情况下, 为了在手机电脑以外的设备接收微信支付到账的信息, 必须要先模拟登陆微信, 此过程需要通过网页抓包了解请求微信登陆二维码的必要参数, 并通过HTTP请求, 得到登陆二维码具体步骤如下;
1) 构造Request请求参数;
2) 利用urlopen () 方法发起HTTP请求;
3) 使用正则表达式提取code参数和uuid参数;
4) 构造结合带uuid参数的url和values参数的Request
请求参数;
5) 再次使用urlopen () 方法发起HTTP请求;
6) 得到登陆二维码, 并用手机扫描登陆。
同时, 本次设计中的WIFI模块ESP8266在信息接收方面有着不错的抗干扰性, 并且有价格低廉, 丢包率较低等优点。
2.2 系统soc监测技术
1、系统最核心的功能是支付消息通知功能, 借助微信即时通信的特点, 把支付信息实时同步发送到ESP8266通信模块上, 采用的是基于TCP/IP协议的Socket通信技术。
2、系统中的信息在Socket通信设计过程中需要进行编码转换, 因为在TCP/IP通信中一般传输的信息是字节流, 而在模拟登陆微信的进程中, 收到的信息属于字符串, 因此要进行编码转换。
3、系统随时监听来自微信支付公众号的转账信息, 一旦确认为扫码转账, 即时把信息发送到ESP8266模块上。
4、系统在信息接收方面是属于被动式的, 所以操作成本接近0。
5、系统的Socket通信功能由硬件ESP8266模块和模拟登陆微信这个进程内引用的Socket相关函数完成。
6、系统在电源方面是由USB直接供电。
2.3 维码及其系统
要想实现装置的支付信息确认功能, 首先需要通过网页抓包了解网页版微信的登陆二维码请求参数, 再通过程序模拟请求微信二维码的过程, 在本机得到并用手机扫登陆二维码, 即可完成在自定义程序端的网页版微信登陆, 并实现信息收发功能。其次需要有一个单片机模块, 但单片机大多都不直接支持无线通信功能, 所以选择ESP82662这款WIFI模块芯片去完成信息接收的任务。最后, WIFI模块收到的消息要输出, 为了直观显示, 通过串口调试助手把信息显示在数据接收窗口上。
3 系统硬件设计
3.1 硬件设计方案
3.2 系统总体控制方案
为了接收信息, 需要把ESP8266模块设置成服务器模式, 即可连接多个客户端, 配置步骤如下:
1) 设置WIFI模式为soft AP+station模式;
2) 重启生效;
3) 启动
原创力文档


文档评论(0)