支付宝开放平台支付更新升级全解析

2,865

由于支付宝增加开放平台的概念,支付申请和调用有了较大的更新和升级,本篇文章会带你介绍开放平台的支付申请方式和新支付接口和之前的区别。

0 系列文章

系列一 微信App支付全解析
系列二 支付宝App支付全解析
系列三 微信公众号支付全解析
系列四 微信扫码支付全解析
系列五 支付宝即时到账支付全解析
系列六 微信退款全解析
系列七 支付宝退款全解析
系列八 支付宝开放平台支付更新升级全解析

1 背景介绍

支付宝现在开始着重推开发平台这个概念,开放平台面向开发人员,商户平台面向非开发人员。(跟微信的很像)
建议大家先分别进去了解下2个平台的介绍和功能。

点次跳转支付宝开放平台

支付宝开放平台
支付宝开放平台

点此跳转支付宝商户平台

支付宝商户平台
支付宝商户平台

当我们点进支付文档的时候会发现全部重定向到了开放平台里。由此推断,支付宝会逐渐将开放支付能力放在开放平台里。而其中有几种支付方式都有了更新升级。

2 支付方式

支付宝的支付方式一共有以下几种

  1. 当面付
    -扫码支付
    -条码支付
  2. App支付
  3. 手机网站支付
  4. 即时到账支付

我们可以分别看下开放平台和商户平台的支付文档入口:

开放平台文档入口

开放平台支付文档
开放平台支付文档

商户平台文档入口

商户平台支付文档
商户平台支付文档

分别点进去浏览一遍发现。几种支付方式都还在商户平台和开放平台新老结果的过渡中。(不弄清楚还有点乱)

  1. 当面付必须得在开放平台申请AppId后才可以使用(应该是在开放平台后才出的)。
  2. 即时到账支付没有集成进开放平台,依旧只能通过老接口进行调用,入口也依旧只在商户平台。
  3. 而App支付和手机网站支付分别有新版和老版之分。

新版本的文档如下图:

新版本移动支付介绍
新版本移动支付介绍

老版本的文档如下图:

老版本移动支付文档
老版本移动支付文档

下面我们就着重介绍更新的2个支付方式的新老版本有什么区别

3 新老版本支付区别

完成一笔完整的支付会包含以下流程:

  1. 接入支付
  2. 创建交易信息
  3. 客户端发起支付
  4. 异步接收信息
  5. 查询交易
  6. 退款

老版本的流程在之前的系列文章已经说明的很详细了,下面主要说明新版本的流程。

3.1 接入支付

在开发平台中是需要创建应用的。具体的创建和配置指引官方文档如下:
openhome.alipay.com/platform/cu…

创建配置好应用后需要开通支付,进入具体应用-功能信息-申请功能

申请支付
申请支付

申请好后需要等审核通过后,即可使用接口进行支付。

3.2 创建交易支付

新版创建交易支付主要将partner换成了appid,就是说每笔支付不仅归属支付宝账号,更加归属于具体的应用。其他就是一些参数的微调和接口名的替换。这里不再赘述。

PS:支付宝提供了服务端的SDK,建议直接引用,不需要自己进行拼接参数,请求等

3.3 客户端发起支付

建议下载最新的客户端,然后替换为最新的方法。替换后发现是可以兼容低版本接口生成的参数的。

我Github上的客户端也已经更新了:

  1. Android端:PayAndroid
  2. iOS端:PayiOS

3.4 异步接收信息

新版本的文档对于异步接收信息和处理描述的更加明确。相对于老版本有参数的修改,比如金额的参数名有所修改。并且也增加提醒了怎么处理验证信息:

异步消息通知
异步消息通知

3.5 退款

在我看来更新接口后最方便的就是退款了。
老版本的退款流程是这样的:

老版本退款流程
老版本退款流程

PS:这里盗用了Ping++的退款流程图。
官方退款文档

就是说你要先用接口发起退款的请求,然后会返回给你一个地址,你要打开这个地址进入支付宝收银台输入支付密码才能退款。

虽然安全性提高,不过的确太麻烦了。必须手动确认每笔退款。

But!当你支付更新到使用新接口以后,你会发现多了这么一个退款接口

新退款接口
新退款接口

就是说调用后,同步就可以返回退款结果。简直方便了不知道多少。。。大大减少了退款验证的开发量和Bug几率。(其实老版本退款代码特别容易发生Bug)

4 总结

综上所述,如果有条件的或者新接支付宝支付的强烈建议使用开放平台新接口。已经接过的也建议更新升级代码。(如果客户端兼容的情况下)
Over。。。后面还会持续关注支付相关的更新和出现的一些问题。

结尾

更多文章关注我的公众号

我的公众号
我的公众号