JAVA服务端 支付宝App支付集成
JAVA服务端 支付宝App支付集成
Java支付流程:(与java服务端有关的步骤,下面有详细流程图)
(1) 根据前台传参,生成签名订单
(2) 返回签名后的订单
--------------------android
(3) 根据前台传来的支付结果,进行验签,解析支付结果
(4) 将最终支付结果传给前台
--------------------android
(5) 接收支付宝服务端发送的异步通知
(6) 响应支付宝服务端
---------------------支付宝服务端
二、系统交互流程
如图,以Android平台为例:
图中虚线标识商户链路,实线标识支付宝链路。
第4步:调用支付接口:此消息就是本接口所描述的支付宝客户端SDK提供的支付对象PayTask,将商户签名后的订单信息传进payv2方法唤起支付宝收银台,交易数据格式具体参见请求参数说明。
第5步:支付请求:支付宝客户端SDK将会按照商户客户端提供的请求参数发送支付请求。
第8步:接口返回支付结果:商户客户端在第4步中调用的支付接口,会返回最终的支付结果(即同步通知),参见客户端同步返回。
第13步:用户在支付宝APP或H5收银台完成支付后,会根据商户在手机网站支付API中传入的前台回跳地址return_url自动跳转回商户页面,同时在URL请求中附带上支付结果参数。同时,支付宝还会根据原始支付API中传入的异步通知地址notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统,详情见支付结果异步通知。
特别注意:
o 构造交易数据并签名必须在商户服务端完成,商户的应用私钥绝对不能保存在商户APP客户端中,也不能从服务端下发。
o 同步返回的数据,只是一个简单的结果通知,商户确定该笔交易付款是否成功需要依赖服务端收到支付宝异步通知的结果进行判断。
o 商户系统接收到通知以后,必须通过验签(验证通知中的sign参数)来确保支付通知是由支付宝发送的。建议使用支付宝提供的SDK来完成,详细验签规则参考异步通知验签。
三、JAVA服务端具体接口实现
下面这个文档写的很详细
https://my.oschina.net/u/3681868/blog/1563628
四、App支付请求参数说明
文档很详细
https://docs.open.alipay.com/204/105465/
服务器同步/异步通知参数说明:
https://docs.open.alipay.com/204/105301/