0

    微信支付宝,我的支付收款接口现状剖析

    2023.06.20 | admin | 168次围观

    前言

    在国内环境,广大的我的站点及应用,由于业务发展需求,每每须要以我的资质申请对接微信和支付宝的支付渠道。然而如今不管是微信仍是支付宝,仅支持具备企业资质的主体申请接口对接,对我的开发者而言,路已经彻底卡死了。然而道高一尺,魔高一丈,聪明勤劳的国人想出了不少方法绕过这些限制。本文主要剖析当前具备可操做性的两种方法,供有缘人参考决策。web

    1.经过金额 原理

    安卓端的支付宝,在收到收款消息时,会弹出收到 XX 元的应用栏通知消息。这个通知栏消息,是能够经过编程手段获取到的。只须要监听用户的通知栏消息,判断是不是支付宝的通知,而后解析里面的金额,就具备了自定义回调接口的基础。编程

    想像这样一种场景:用户A在网站发起100元的支付微信支付接口web端能用app吗,而后网站后台呈现100元的收款二维码(这个二维码能够事先生成放在后台)出来,用户付款成功后,在商家的移动端,经过程序监控到支付宝收到了100元的订单,而后给网站回调。ok,后续的流程和回调逻辑,能够继续作了。api

    场景再复杂一点,那假如同一时间,有另一个用户B也发起了100元的支付,可能尚未付款。同时商家移动端检测到了一个100元的订单,进行回调。因为只有金额信息,网站后台没法区分这个100元的订单,到底属于用户A,仍是属于用户B,一会儿就乱套了。涉及到钱的事都是大事,估计用户得炸了。安全

    这种并发场景,能够经过一个很简单的技巧解决,即当多个用户发起同一金额的支付时,给不一样的用户,呈现不一样的金额二维码。好比上面的场景,用户A,呈现100元的二维码,同一时间用户B发起100元的订单支付请求,那就呈现99.99元的支付二维码,用户C再来,就呈现99.98元的支付二维码,依次类推。这样,移动端监测到的是不一样的金额,所以也就具有了经过金额,区分订单和用户的能力。服务器

    优势 原理简单,实现简单。 帐号比较安全,没有被支付宝风控的风险。 缺点

    上面这种经过不一样的金额实现回调的方式,缺点是很是明显的,随便列几点:微信

    仅支持支付宝。微信的移动端通知消息里面,并不包含金额信息,所以这种方法就熄火了。 因为是经过金额进行订单和用户区分,所以须要提早上传收款二维码,包括用于应付并发场景的大量上下浮动的二维码。对于有大量订价的站点和应用,这个工做量是很是可观的。 不利于订价调整。每次订价调整,都须要上传大量收款二维码。 不支持任意金额。仍是由于要事先上传收款二维码。 表明

    经过金额区分订单和用户的方式实现支付接口回调,因为原理简单,实现成本并不高,所以如今市面上有大量基于该原理实现的支付接口平台。列举以下:并发

    1.paysapi框架

    点评:paysapi 官网提到支持微信。实际上是经过上传一张任意金额的微信二维码实现的。也就是用户发起支付后,须要人肉的输入支付金额,这在体验上是比较差的。

    2.goddpay高并发

    点评:和 paysapi 的网站仍是一毛同样。

    3.支付吧性能

    点评:无 2.移动端 hook 原理

    移动端安卓平台,是一个比较开放的平台。咱们运行的几乎全部软件,都是能够经过必定的手段,进行底层编程 hook,自定义其行为的。好比微信消息防撤回,摇骰子划拳做弊,自动抢红包,还有支付宝的余额 & 等级自定义装逼等功能微信支付接口web端能用app吗,都是经过诸如 xposed, virtualxposed 等 hook 框架技术编程实现的。

    一样,微信和支付宝的收款二维码自动生成,包括支付成功的消息检测,也是能够经过 hook 的手段,进行编程做业的。大体流程以下:

    用户发起订单支付请求,而后移动端 hook 软件,监测到这个支付请求,获取到金额和平台(微信仍是支付宝)信息。调用相关的软件,注入相关的二维码生成行为,ok,相关金额的二维码生成成功,再显示给用户。

    用户支付成功后,一样的,不管是微信,仍是支付宝,都会检测到相关的支付成功信息。移动端 hook 软件,一样也能够检测到。而后进行回调。再后续,就是业务系统处理流程逻辑了。

    缺点 须要安装移动端 hook 框架,好比 xposed, virtualxposed 等。其中,xposed 软件,还要求系统必须 root。 存在必定的安全风险。由于 hook 软件,能够监测到微信和支付宝的软件行为,包括你的密码信息,所以存在必定的安全风险。 帐号存在被风控的可能。不管是微信仍是支付宝,对自家软件被自定义的行为,都是零容忍的。 优势 与上述经过金额实现回调的方式比起来,这种方式有明显的优势,就是不须要提早上传大量二维码,支持任意金额的支付处理。 同时支持微信和支付宝。 并发能力,能够相对作到比较高。 表明

    基于 hook 方式实现支付接口回调,对软件开发者的要求较高。所以相关的解决方案并很少见,现简单列举以下:

    微米富 点评:基于 virtualxposed。虽然网站几乎和 paysapi 一毛同样,但接口回调实现的原理,却截然不同。另外,微米富还有一个特殊的地方,就是其在移动端 hook 软件里面,内置了一个微型的 web 服务器,直接接收并处理用户的支付请求。这也致使了几个问题,一是限于移动端 web 服务器的性能,并发的处理,有必定的限制。二是支付页面的调整和定义,须要修改移动端代码。三是软件配置流程复杂(web 服务器代理相关的配置)。 greenyep 点评:基于 virtualxposed。greenyep 和 微米富有一些细微的区别。它并未在移动端 hook 软件里面内置 web 服务器,而是采用定时检测的方式,去后台服务检测订单信息。这样作的好处是能够有一个中心化的平台作订单的调度和统计,同时性能也较内置 web 服务器的方式,有必定的提升。缺点也是明显的,并不方便软件的分发,作一些私有化的部署。 建议 若是站点和应用的支付场景比较简单,同时对微信支付没有强需求,能够考虑诸如 paysapi 等经过金额进行区分实现接口回调的平台。 若是对安全及风险敏感度较高,一样建议考虑 paysapi 等平台。 若是支付场景比较复杂,须要支持任意金额,同时对微信和支付宝渠道均有需求,能够考虑诸如微米富,greenyep 等平台。 接上,若是对系统稳定性,并发能力要求较高,能够考虑 greenyep 平台。 接上,若是指望私有部署的便捷性,能够考虑微米富平台。

    正规渠道类

    那到底有没有一款产品能同时知足我的支付收款需求呢?

    又能够支持相对的高并发,低延迟,资金安全无风险,同时还不须要企业资质,用极低的成本获得高效的回报。

    答案是有的:

    开户只须要:1身份证2对应的银行卡(结算用)3对应的实名认证的微信

    十分钟便可开户,拥有正规的我的可用的商户号和密钥。

    以上拙见,欢迎拍砖

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论