最新支付宝免签方案的java实现

前言

一个朋友在群里求助,咨询免签的事宜。我一时热心肠,主动回复,我可以实现。实际上是吹牛皮,没搞过。但是骑虎难下,朋友认真了,于是只好实现了一种。

2019-07-25 14:07:14 目前方案有效。

2019-07-25 15:34:23 发现一次手机验证。处理策略:手动点击几次其他地方。页面恢复正常。

2019-07-26 15:52:51 今天测试情况:9点开始到现在。出现手机扫码提示。扫码后正常运行。


最新支付宝免签方案的java实现_第1张图片
image.png

废话较多,如果想看效果,最底部有测试地址。

过程

通过搜索引擎,了解了下市面上,有很多实现方案,但是过于复杂,另外因为开源,也存在被支付宝干掉的情况。

  • 基本方案
    多数情况下,方案基本都是在于利用 支付宝的Pc端或者手机端,维持cookie在线,定时刷新,监控订单信息,从而实现免签支付。

  • 难点
    这里面最难的就是维持cookie在线。基本公开的方案都被支付宝干掉了。

  • 我的解决
    这里我选择了驱动模拟键盘 鼠标,模拟人工在线的情况,有点类似 按键精灵。
    依赖的工具:
    java 的robot来驱动自动化。
    谷歌浏览器记住账号和密码,这里发现在mac下能自动记录账号和密码,在window下只能记住账号。不过没事,实现输入密码很简单。
    屏幕坐标工具:在mac上存在一个工具 mypoint coordinates。window可以执行百度下。我从csdn上找了一个。

    最新支付宝免签方案的java实现_第2张图片
    image.png

伪代码

//截图指定区域
//图文转换
//特征判断是否在订单列表页
if(在列表页面){
//截图指定区域
//图文转换
//提取订单信息
//推送或者其他业务逻辑。
}else{
//点击账号和密码登录
//输入账号和密码
//点击登录
//截图-图文转换判断是否登录成功。
//不成功这告警通知。成功这进入正常循环。
}

优缺点

优点:和真人操作基本没什么区别。支付宝想检测出出是否为机器人,难度颇大。目前挂机测试,非常稳定,掉线可以自动登录。已经持续运行2天。2019-07-25 13:56:08 此刻。

缺点:在不同设备上运行,都需要修改坐标参数,较为麻烦。依赖图文转换接口的准确性。运行速度较慢,如果你的并发很大,短时间有大量支付订单,会存在遗漏。个人目前设定的是22秒获取最新的一条订单。

测试

测试时间:上班会开启,因此只能在 上午 9点到下午4点。其他时间不能测试。

测试方案:

目前测试是通过添加qq机器人推送来实现。

添加qq号: 3447478942为好友。加好友时需要验证码填写: 支付宝免签 否则不予通过。

添加成功后,对机器人 回复消息 @开通支付宝推送 即可收到推送。

扫描下方二维码进行支付。即可看到效果。

最新支付宝免签方案的java实现_第3张图片
image.png

测试程序目前的功能是:22秒刷新1次订单,获取最新的一条订单,然后推送到qq相关人员。

这里不区分是不是你的订单。也不区分是否支付成功。因此你即使没支付宝,也会收到推送消息。

如果不想收到测试消息,可以删除该qq好友或者 回复 @关闭支付宝推送

不定期清理 推送名单。如果很久没收到,说明被清理。 可以继续回复 @开通支付宝推送

最新支付宝免签方案的java实现_第4张图片
image.png

你可能感兴趣的:(最新支付宝免签方案的java实现)