前言:大致说一下流程,其实支付宝官方文档写的很清楚了,还有就是下面我写的一些描述可能转载了其他博客的内容。
用户在app端提交订单--->选择支付方式即支付宝付款(调用了商家端的付款接口,调用之后会返回一个订单信息)---->
app端调用支付宝接口支付和返回的那个订单信息进行比对----->支付成功后,异步通知商家端支付成功(调用了了一个回调接口)
一、支付宝支付流程:
具体描述:
a.用户向商家服务器请求一个付款(预支付)
b.服务器生成一个带签名的订单发送给客户端
c.客户端通过这个订单向app sdk请求付款
d.sdk把用户引入支付宝付款界面进行支付
e.支付成功后支付宝向前端返回支付成功结果,并且向服务器发送一个支付通知
f.服务器接受通知并且验证是否是支付宝发送的成功结果
app端需要做的事情:
a.向自己的服务器请求一个订单
b.接受到订单后,向支付宝sdk发送一个支付请求
c.交易结束后返回一个成功或者失败
商家服务端需要做的事情:
a.写一个付款接口
b.写一个回调接口(即支付成功后,支付宝将结果异步通知到服务端)
二、应用场景流程:
图a: