您的位置:首页 > 移动开发

APP内支付的接入总结(支付宝&APP STORE)

2017-11-02 14:50 417 查看

支付接入(JAVA端)

支付宝(新版)

· 安卓APP内的支付宝支付接入

支付宝的接入文档有新版和旧版之分,看的时候真的是杂乱无章,也可能是我找的地方不太对吧……测试了好几天终于找见了一个目前(2017.10)能通过的数据版本,记录一下。

第一步:接入支付宝SDK



下载地址:https://docs.open.alipay.com/54/104509

里面有SDK包和一个DEMO(DEMO有用)。

产品介绍:https://docs.open.alipay.com/204

里面是APP接入的大概步骤。

下面是自己画的一个大概流程:

Created with Raphaël 2.1.0APPClientAPPClientAPPServerAPPServerALIPAYALIPAY1. 用户发起支付请求2. 返回一个本地订单ID2.1 加签3. 按照格式发送给支付宝方一个支付请求4. 支付宝方返回一个同步回调信息5. 支付完成的返回,请求服务器验证支付6. 验证支付是否成功的请求7. 支付信息返回8.1 验签8. 支付成功或失败提示

1、APP客户端发送一个用户的支付请求给APP服务器,包括订单金额、订单商品等信息。

2、APP服务器生成一个本地的订单号out_trade_id返回给客户端,作透传参数,并且返回加签后参数。

3、APP客户端按照支付宝接入文档的格式传送数据给支付宝方,其中包括本地订单ID(透传值)和一个支付宝的异步回调地址notify_url,来调起支付宝网页版或APP版来完成输入账号和密码来完成支付。

4、用户支付成功后,支付宝会返回两个回调信息:一个是同步信息,立即返回,一个是异步信息,发送到异步回调地址notify_url中。详细说明:https://docs.open.alipay.com/204/105301/ 。本例中APP项目中无可用的HTTP回调地址,不能接收到异步确认回调,故需要后续单独请求支付宝方做支付确认。

5、APP客户端接收到支付宝方的同步返回后,将透传的本地订单号out_trade_id和支付宝方的订单号trade_id传回APP服务器。

6、APP服务器接收到两个订单号,再次发送到ALIPAY进行查询。https://docs.open.alipay.com/api 该地址下的alipay.trade.query

7、支付信息返回

8、验签并发放道具并且通知APP客户端充值成功。

坑:

1、加签:支付验证发送给ALIPAY的请求参数,在上图第二步中使用。按照接入文档上的参数请求了好久,还从网上查了各种参数结构都不行,最后用了DEMO中的请求参数格式,才请求成功。如下:



之前的所有请求数据中biz_content都是作为辅助数据出现的,与out_trade_id等数据是并列出现的,怎么都调不通,后来换到了基本所有数据都在biz_content中,然后并列的只有notify_url后就调通了……

加签使用的是ali-sdk自带的sdkExecute()方法,如上图。

2、验签:待写

App Store

没有透传,待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐