微信支付sdk编译混淆
A. 各支付SDK流程
一、微信支付
微信支付官方流程链接: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3
简要来说流程如下:
1.用户点击商品下单:“商户客户端”调用“商户服务端”生成订单,“商户服务端”后台调用“微信支付系统”的“统一下单API”接口,生成预付订单后,返回给“商户服务端后台”,商户后台再回调给“商户客户端”。
2.用户确认支付:“商户客户端”调用“调起微信支付”接口,界面跳转到微信进行支付。
3.用户支付成功:这里有三个回调,其一、“微信支付系统”通知“商户管理后台”支付信息。其二、“微信支付系统”通知“微信客户端”支付结果。其三、“微信支付系统”通过“商户客户端”实现的回调中处理支付状态,“商户客户端”可通过调用“商户管理后台”的接口查询当前订单状态。(商户管理后台也需要调用“微信支付系统”查询订单接口)
二、支付宝支付
支付流程图:
支付宝支付对比微信支付流程还进行了简化,即在生成订单时,不需要商户后台请求支付宝生成订单,基本流程如下:
1.“商家APP”请求“商家后台”下单,“商家后台”返回订单信息。
2.“商家APP”根据订单唤起“支付宝App”进行支付。
3.支付成功后,“支付宝支付后台”返回支付结果给“支付宝App”,“支付宝App”返回支付结果给“商家App”、“支付宝支付后台”异步通知支付结果给“商家后台”。
三、苹果支付
流程图:
支付流程:
1.用户点击购买,“App客户端”请求“App服务端”创建交易订单。
2.“APP客户端”拿到交易信息,然后开始调起“IAP 服务器”创建订单。
3.“IAP服务器”通知购买成功,并把收据信息写入APP沙盒中。
4.“APP客户端”去沙盒中拿到收据信息,并将收据信息上传到“APP服务器”,“APP服务器”把收据信息请求“IAP 服务器”验证,如果有则返回到“APP客户端”,把订单结束。
参考链接: https://juejin.im/post/5a3b14f36fb9a045104aa6c8