客户端支付过程(简单记忆一下):
开始当然是集成SDK的相关步骤,默认配置完成。
用户需要支付--〉向自己服务器发送需支付商品信息--〉((这里服务器要做的)。。。。)--〉服务器向客户端返回参数
接下来的过程支付宝和微信分开:
1.支付宝:--〉服务器返回的参数(前提是服务器都已经加密过,参数可以直接用)--〉直接调起支付(支付宝在调起的时候,需要另一个参数schem,这里犯过错误)--〉支付--〉支付完成
若手机没有安装支付宝客户端,发起网页支付,支付成功后会直接回调,发起支付时的回调block;
若手机装有支付宝客户端,跳转支付,回调,需要在appdelegate中实现appdelegate openurl 方法,,,,(这里遇到问题是,将schem写错了,导致不能在支付成功后,跳回自己的程序),,,,schem正确的情况下,会回跳自己的程序
--〉接收到支付完成结果--〉,,,(根据文档说法,,需要调起支付查询接口,查询支付结果),,,-——〉确定支付结果--〉 选择适当的方法通知相应界面做相应的改变
2.微信:--〉服务器返回参数--〉从参数中提取相应的值(赋值给微信自己的实体类PayReq的相应属性partnerId prepayId package nonceStr timeStamp sign这几个属性)调用支付接口--〉支付--〉返回支付结果--〉需要在appdelegate中实现openURL方法(与支付宝这一步一样), 并且result 的结果 有它的写法 [WXApi handleOpenURL:url delegate:self],实现这个方法后都会在支付完成后调起,回调方法,onResp (在appdelegate方法中实现,并且需要遵守 WXApiDelegate 协议 ,导入WXApi.h文件)--〉得到支付完成消息--〉调起支付查询接口--〉确定支付结果——〉通知相应界面变化