您的位置:首页 > 移动开发 > IOS开发

iOS开发支付宝支付

2016-11-23 16:35 239 查看
今天做支付宝支付用的不是原生集成,搞得有点懵,之前做集成的都是直接根据文档走就好了,在这里记录下遇到的问题

调用支付接口,后台返回一段form表单,开始总是已集成的逻辑去考虑,怎么转换成json格式,就开始各种转html,发现怎么都不会自动输出,看了下前段代码发现这里是带脚本可以自动跳转操作的,就试了下用webview进行处理,

web view处理html的方法

    [self.webView
loadHTMLString:htmlStr baseURL:baseURL];

反过来看,后台返回了form表单数据,可是没有地址,就想办法把它存放到本地然后进行读取,于是有了下面操作

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);// 获取Document路径
NSString *saveDirectory = [paths objectAtIndex:0];
NSString *saveFileName = @"payHTML.html";// 设置文件名
NSString *filePath = [saveDirectory stringByAppendingPathComponent:saveFileName];// 获取文件路径
[_webURL writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];// 将文件写入到文件路径下这样就可以正常使用了

在这里提供一个解决html的第三方TFHpple

NSData *htmlData = [baseString dataUsingEncoding:NSUTF8StringEncoding];
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *itemArray = [xpathParser searchWithXPathQuery:@"//form"];
NSLog(@"%@",itemArray);
TFHppleElement *element = [itemArray objectAtIndex:0];
NSDictionary *Tag = [element attributes];
NSLog(@"%@",Tag);


参考:https://segmentfault.com/a/1190000003860297
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息