iOS开发- 支付宝2017.7.28为止最新SDK引入后直接报错和AL138173
2017-07-30 14:43
357 查看
1.根据支付宝提供的文档接入SDK后,运行时直接报错,在开发文档对应iOS最下方有 swift引入的问题说明,需要引入#import <UIKit/UIKit.h>,Object-C情况下也报 了错,同样的,在报错文件中引入#import <UIKit/UIKit.h>即可。
2.AL138173,由于现在的支付宝已经简化到只需要几句代码就能搞定的地步,订单签名的拼接都不需要客户端来完成,而是放到后端来处理。所以,当出现这种错误的时候,一定是签名的问题,要么是后台在签名的时候报错,要么是签名在前台做处理时除了某些问题: 1)需要对签名进行转码,有些特殊字符在url中没有转码UTF-8就会报这种错,个人认为,没有哪个后台会把不符合url规范的字符串传给前台,所以这种情况比较少见,如果真碰上了,要么自己转码,要么让服务端转码。 2)对订单字符串进行了二次拼接 //如下叹号处为比较危险的地方,特别需要注意后端传过来是已经凭借过的订单字符串信息还是仅仅只有签名,这里很容易被误导。 if (signedString != nil) { //应用注册scheme,在AliSDKDemo-Info.plist定义URL types NSString *appScheme = @"xxxxxx"; //!!!!!!!! NOTE: 将签名成功字符串格式化为订单字符串,请严格按照该格式 NSString *orderString = [NSString stringWithFormat:@"%@&sign=%@",orderInfoEncoded, signedString]; // NOTE: 调用支付结果开始支付 [[AlipaySDK defaultService] payOrder:signedString fromScheme:appScheme callback:^(NSDictionary *resultDic) { NSLog(@"reslut = %@",resultDic); }]; }
最后,再说一点,不要自己拼接订单,切记。
相关文章推荐
- iOS开发中,如何将第三方或者自己生成的静态库(SDK)引入到自己的项目中?
- ios开发——支付宝SDK集成流程
- iOS开发 引入支付宝需要注意的地方
- iOS开发 引入支付宝 缺少 #include <openssl/asn1.h>
- IOS支付宝开发SDK的集成
- ios开发——支付宝SDK集成流程
- iOS开发之第三方支付支付宝支付教程,史上最新最全第三方支付宝支付方式实现、支付宝集成教程,支付宝实现流程
- iOS开发——高级篇——如何集成支付宝SDK
- iOS开发 引入支付宝需要注意的地方
- iOS开发如何集成支付宝SDK
- iOS开发关于三方框架的使用注意的地方,跟新到最新的SDK
- iOS开发——高级篇——如何集成支付宝SDK
- ios开发——支付宝SDK集成流程
- iOS开发之第三方支付支付宝支付教程,史上最新最全第三方支付宝支付方式实现、支付宝集成教程,支付宝实现流程
- iOS 最新版本支付宝支付开发流程
- ios开发——支付宝SDK集成流程
- iOS开发支付宝 集成SDK注意事项
- 支付宝支付iOS开发官方SDK
- 移动端(iOS)SDK开发注意点
- iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)