利用支付宝Cookie监听交易订单实现个人支付宝收款实时回调通知
阅读原文时间:2021年08月11日阅读:1

在网上、社区里搜了一下好像没找到什么文章详细分享这种方式的,这些天我花了些时间研究整理了一下,发现这种方式能实时获取到支付宝里的二维码收款记录,从而很好地实现个人支付宝免签约收款实时回调,于是在这里分享一下。

流程很简单,主要就是3步:

1.登录网页支付宝,获取cookie

2.抓包分析支付宝的交易订单接口

3.模拟测试订单接口请求,投入使用

1.先去支付宝官网登录,扫码登录或账密登录都阔以。

登录成功后,直接F12(打开开发者工具),在console中输入document.cookie并回车,即可获取到你登录后的cookie。

2.找一找支付宝二维码收款的交易订单记录在哪,简单浏览后马上发现是在“对账中心”-“业务查询”-“交易订单”菜单下。

再次F12打开开发者工具,进入network,再次点击订单页面的“查询”,抓取请求的接口。

简单分析一下接口,发现需要用到的必须用到的ctoken(拼接在url后面),billUserId(传参),这俩都能从cookie中提取到,所以木有问题~而其他的一些接口参数,就照着他的方式传即可。

3.然后可以直接到Postman等工具里模拟请求测试一下,除了上面提到那些参数,发现header头除了cookie以外,referer这个值也是必须的。再回到浏览器把这个值复制过来再次测试请求,成功!

最后就直接编写一些简单的代码方法,在用到的时候去调用请求接口就好了,PHP参考代码如下:

$userId, 'pageNum' => 1, 'pageSize' => 20, 'startTime' => date('Y-m-d') . ' 00:00:00', 'endTime' => date("Y-m-d", strtotime("+1 day")) . ' 00:00:00', 'status' => 'ALL', 'queryEntrance' => 1, 'entityFilterType' => 1, 'sortTarget' => 'gmtCreate', 'activeTargetSearchItem' => 'tradeNo', 'tradeFrom' => 'ALL', 'sortType' => 0, '\_input\_charset' => 'gbk' \]; $res = go\_curl($url, $data, $header, $cookie); print\_r($res); } //发送Http请求 function go\_curl($url, $post = 0, $header = 0, $cookie = 0, $nobaody = 0) { $ch = curl\_init(); curl\_setopt($ch, CURLOPT\_URL, $url); curl\_setopt($ch, CURLOPT\_TIMEOUT, 15); curl\_setopt($ch, CURLOPT\_SSL\_VERIFYPEER, false); curl\_setopt($ch, CURLOPT\_SSL\_VERIFYHOST, false); if ($post) { curl\_setopt($ch, CURLOPT\_POST, 1); curl\_setopt($ch, CURLOPT\_POSTFIELDS, $post); } if ($header) { curl\_setopt($ch, CURLOPT\_HTTPHEADER, $header); } if ($cookie) { curl\_setopt($ch, CURLOPT\_COOKIE, $cookie); } if ($nobaody) { curl\_setopt($ch, CURLOPT\_NOBODY, 1); } curl\_setopt($ch, CURLOPT\_TIMEOUT, 60); curl\_setopt($ch, CURLOPT\_ENCODING, 'gzip'); curl\_setopt($ch, CURLOPT\_RETURNTRANSFER, 1); $ret = curl\_exec($ch); curl\_close($ch); return $ret; } ?>

相应代码gitee地址https://gitee.com/niaogang/gogozhifu-web-zfb

最后还要补充说明一下,如果用于实现个人收款实时回调,那么要考虑一下接口重复请求的频率、交易金额匹配、保持cookie有效等问题,这些问题解决方法也很多,多思考都是可以解决的。

有任何问题或想法欢迎交流讨论~

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器