微信扫码支付长链接实现异步通知前端

微信支付分为:h5支付(微信外部浏览器,如:QQ浏览器,360等),公众号支付(微信内部),小程序支付,扫码支付(一般是pc端),以上的都做过,除了扫码支付,最近要做个pc端的扫码支付,看了官方文档,不仅一万只cnm路过。。。,没有同步回调地址,只有异步回调地址,这时候两个钟解决方案,一种是ajax轮询,点击购买之后触发,大约10秒左右请求一次后端接口,判断订单表的状态码是否已完成,完成则说明异步回调已成功,跳转到对应支付成功的页面就行了,例如订单详情页。另一种则是使用socket长链接,我这边使用了两种,长链接,但是因为担心socket不稳定,加上了ajax轮询,不过轮询时间改成了30秒请求一次接口,然后就是部署环境,使用了我9月份的一篇文档里的(wen-send-msg),不得不说,你不经意间看的知识,当时看起来可能没用,但是总会在某一天发现有作用,部署就参考我9月的文档,唯一需要注意的是,如果要是https服务,需要在start_io.php中加上证书,如下图所示:

微信扫码支付长链接实现异步通知前端_第1张图片
socket_io.php

前端部分如下图:

微信扫码支付长链接实现异步通知前端_第2张图片
前端js

后端php只需要在微信异步回调的位置,使用curl模仿触发一下就可以了:


微信扫码支付长链接实现异步通知前端_第3张图片
我这边url为http://www.xxx.com:2121/?type=publish&to='.$order_id.'&content='.$order_id

你可能感兴趣的:(微信扫码支付长链接实现异步通知前端)