背景

相信很多开发者或者运营者,在为网站(博彩、棋牌 )即时到账充值发愁、还在为无法申请支付宝即时到账接口而担忧。

那么恭喜你,看到了这篇文章,我将为你提供一总思路,为你解决这一切。实现即充即到,支付宝到账的同时,相应的金额充值到您网站的相应账户上 。
在次声明我这里只提供思路,具体实现还是靠自己。

实现思路

一、获取接口

我们打开支付宝网站,登录上去并且查询自己的交易记录,我们可以看到选定时间的交易记录表单。
支付宝免接口支付方案
看到表单,如果你从事的web开发,这时候你就应该有一点想法了,表单一般都是通过json文件返回的,那么支付宝这个交易记录是否也存在这样一个json.
带着这个想法我们F12测试下。
支付宝免接口支付方案

事实证明我们都想法是对的,确实存在这样的一个地址

https://mbillexprod.alipay.com/enterprise/tradeListQuery.json

二、模拟登录

好了接口有了,那么该考虑它的参数以及怎么访问它了,这里我提供PHP的代码


 try {
            return (new \GuzzleHttp\Client())
                ->request('POST', "https://mbillexprod.alipay.com/enterprise/tradeListQuery.json", [
                    'timeout' => 10,
                    'headers' => [
                        'Cookie' => $this->cookie,
                        'Origin' => 'https://mbillexprod.alipay.com',
                        'Accept-Encoding' => 'gzip, deflate, br',
                        'Accept-Language' => 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
                        'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
                        'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8',
                        'Accept' => 'application/json, text/javascript',
                        'Referer' => 'https://mbillexprod.alipay.com/enterprise/tradeListQuery.htm',
                        'X-Requested-With' => 'XMLHttpRequest',
                        'Connection' => 'keep-alive',
                    ],
                    'body' => 'queryEntrance=1&billUserId=' . Cookie::getCookieName('uid', $this->cookie) .
                        '&status=SUCCESS&entityFilterType=0&activeTargetSearchItem=tradeNo&tradeFrom=ALL&startTime=' .
                        date('Y-m-d', strtotime('-1 day')) . '+00%3A00%3A00&endTime=' . date('Y-m-d') .
                        '+23%3A59%3A59&pageSize=20&pageNum=1&total=1&sortTarget=gmtCreate&order=descend&sortType=0&_input_charset=gbk&ctoken=' .
                        Cookie::getCookieName('ctoken', $this->cookie),
                ])
                ->getBody();
        } catch (GuzzleException $e) {
            throw new PayException($e->getMessage(), 500);
        } catch (PayException $e) {
            throw new PayException($e->getMessage(), 445);
        }

简而言之,就是我们通过爬虫的来模拟登录支付宝,并调用上面的json。

三、处理交易数据

好了到了这里我们就假设已经得到了json的数据,现在我们来处理这些交易数据:
1.用户通过扫二维码,向我们支付,并且在备注一栏输入用户名账号
2.系统检测到json中有一笔新交易
3.根据用户支付余额和备注的账号,系统自动更改数据库中的用户的余额。

如果是其他卡盟类,也可以输出订单号和用户名,自己提取卡密等。

优劣

  • 优点:
    1.免做接口:不存在技术问题,不用花钱做接口,不存在技术问题,不用花钱做接口。
    2.免流量费:支付宝接口每笔流量都需要费用,自己做接口省钱。
    3.安全可靠:自己实现代码,不存在后台,免于其他第三方小支付平台的掣肘。

  • 缺点:

  1. 费心:必须需要用户备注用户ID,如果错了必须客服介入处理。
  2. 延时:因为需要监控交易记录,所以我们不一定能随时到账。

相关文章: