1 刚刚接触如题这一块儿,发现里面坑还是很多的。所以总结了一下要注意的一些点如下。
2 先说一下iOS9的适配问题。到了这个版本如果想打开外部app就要在plist添加白名单否则openURL的时候会失败且打印错误信息。具体要做的就是在plist添加LSApplicationQueriesSchemes数组,里面装的都是要打开的外部程序的URL scheme。
3 然后分开说一下,先是微信的:微信的支付接口封装要比支付宝的完善一些,用起来也更顺手。要注意的就是,他的支付采用回调函数,要先指定负责回调的类,具体做法:iOS9.0之前的系统实现 – application:openURL:sourceApplication:annotation:,返回return [WXApi handleOpenURL:<#(NSURL )#> delegate:<#(id<WXApiDelegate>)#>],其中delegate传哪个类的实例,系统回调的时候就会在哪个类里面寻找并调用-(void) onResp:(BaseResp)resp方法。这个方法不论支付结果如何都会被调用。为了让AppDelegate不那么臃肿,我选择自己写一个单例的类,然后把所有微信回调的处理都交给这个类,要注意的是这个类要实现WxApiDelegate这个协议就可以。iOS9.0之后要实现
– application:openURL:options:,注意点同上。
接着说一下支付宝支付:同注意添加白名单;如果用户没装它的app,就会打开网页支付;支付请求 payOrder:orderString fromScheme:appScheme callback:,用RSA算法加密,我们的做法是整个签名(orderString)过程都交给公司服务器,(前台)省事又安全_^;支付结果采用block回调,会返回一个resultStatus(错误代号)和一个result字符串,代号为9000且串中的success=”true”才算支付成功,其他情况通过代号来判断,百度上说是有返回9000但是订单其实并没有支付成功的情况发生。
注:这里只说了一些注意事项,具体的支付流程参考对应的开放平台。
微信和支付宝sdk使用注意事项
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- ps:先来支付宝的。首先集成支付宝的SDK,这个真心是运气加上技术相结合才行~有时候一样的工程,就是给你报错~你能...
- 实现支付宝支付的准备工作: 1.向支付宝签约,成为支付宝的商户 签约完成后,支付宝会提供一些必要的数据给我们 商户...