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

支付接入(JAVA端)

支付宝(新版)

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

第一步:接入支付宝SDK
加入SDKjar包

下载地址:https://docs.open.alipay.com/54/104509
里面有SDK包和一个DEMO(DEMO有用)。

产品介绍:https://docs.open.alipay.com/204
里面是APP接入的大概步骤。

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

Created with Raphaël 2.1.0 APPClient APPClient APPServer APPServer ALIPAY ALIPAY 1. 用户发起支付请求 2. 返回一个本地订单ID 2.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

没有透传,待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值