1.UIWebView 和 WKWebView必须都实现, 因为 SDK 中会在有 WKWebView 的时候自动调用 WKWebView 的方法, 如果不实现 WKWebView 会造成崩溃;

2. UIWebView 发送请求

    //1.设置请求路径NSURL *URL=[NSURL URLWithString:@"一网通支付接口地址"];//2.创建请求对象NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];request.timeoutInterval=5.0;//设置请求超时为5秒request.HTTPMethod=@"POST";//设置请求方法//设置请求体NSString *jsonRequestData = [NSString stringWithFormat:@"jsonRequestData=%@", [@"这里是通过后台获取的数据字典(参照文档里的数据结构)" JSONString]];request.HTTPBody=[jsonRequestData dataUsingEncoding:NSUTF8StringEncoding];[_webView loadRequest: request];

3. WKWebView 发送请求

因为 WKWebView 存在的 bug, 不能直接像 UIWebView一样直接发送 post 参数 (具体参考:http://www.jianshu.com/p/403853b63537)

我使用的是 通过 JavaScript 解决

js 代码如下(假如命名为:JSPOST.html):

 <html><head><script>//调用格式: post('URL', {"key": "value"});function post(path, params) {var method = "post";var form = document.createElement("form");form.setAttribute("method", method);form.setAttribute("action", path);var hiddenField = document.createElement("input");hiddenField.setAttribute("type", "hidden");hiddenField.setAttribute("name", "jsonRequestData");hiddenField.setAttribute("value", params);form.appendChild(hiddenField);document.body.appendChild(form);form.submit();}</script></head><body></body>
</html>

OC 实现代码

- (void)viewWillAppear:(BOOL)animated
{[super viewWillAppear:animated];[[CMBWebKeyboard shareInstance] hideKeyboard];// 获取JS所在的路径NSString *path = [[NSBundle mainBundle] pathForResource:@"JSPOST" ofType:@"html"];// 获得html内容NSString *html = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];// 加载js[self.webView loadHTMLString:html baseURL:[[NSBundle mainBundle] bundleURL]];
}// 加载完成的代理方法
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {// 判断是否需要加载(仅在第一次加载)if (self.needLoadJSPOST) {// 调用使用JS发送POST请求的方法[self postRequestWithJS];// 将Flag置为NO(后面就不需要加载了)self.needLoadJSPOST = NO;}
}// 调用JS发送POST请求
- (void)postRequestWithJS {// 发送POST的参数NSString *postData = [NSString stringWithFormat:@"%@", [@"这里是通过后台获取的数据字典(参照文档里的数据结构)" JSONString]];// 请求的页面地址NSString *urlStr = @"一网通支付接口地址";NSString *jscript = [NSString stringWithFormat:@"post('%@', '%@');", urlStr, postData];// 调用JS代码[self.webView evaluateJavaScript:jscript completionHandler:nil];
}

其他坑网上有了解决方案, 我就不写了.

还有其他的问题欢迎大家交流

iOS 集成一网通支付的坑相关推荐

  1. iOS开发-集成一网通支付

    这两天一直在搞招行的一网通支付,网上的相关资料少之又少.其官方文档也让人只想呵呵.其支付流程: 1)向后台服务器请求支付URL(这里后台返回的是一个表单,通过loadHTMLString方法加载). ...

  2. php支付宝ios12.1.4支付失败,iOS集成支付宝和遇到的坑

    首先导入支付宝SDK 和依赖库 98B035F7-6F66-4770-A8BB-F7E04CFFF4F1.png libc++.tbd libz.tbd CoreMotion.framework CF ...

  3. iOS 集成通联支付

    摘要:sdk部分可登陆http://113.108.182.3:8282/techsp/index.html选择{移动支付支持},[相关资料下载---移动支付V2.8开发包].网站下载相关技术对接文档 ...

  4. Android平台招商银行“一网通”支付对接采坑记

    公司最近的App中需要做支付功能,支付中需要支持微信支付.支付宝支付.一网通支付.本文主要记录在对接Android平台中的"一网通"过程中遇到的坑,如果有类似需求的朋友,可供你参考 ...

  5. ios浏览器微信支付回调页面_iOS集成H5微信支付实现跳转与回调的解决方案

    前言 最近有个需求,不能在iOS客户端内集成支付宝和微信的App支付SDK(为了防苹果审核检测SDK),因此使用H5支付,虽然微信和支付宝的H5支付文档都说不要在App内使用H5支付而是使用App支付 ...

  6. ios使用支付宝进行支付,注意事项 集成支付宝钱包支付iOS SDK的方法与经验。...

    下载 首先,你要想找到这个SDK,都得费点功夫.现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 "请点此下载集成开发包" Baidu和Googlep排在前面的支付宝开 ...

  7. iOS开发支付集成之支付宝支付

    项目中要用到支付功能,需要支付宝,微信,银联三大支付,所以打算总结一下,写两篇文章,方便以后的查阅, 大家在做的时候也能稍微参考下,用到的地方避免再次被坑.这是第二篇支付宝集成,第一篇银联支付在这里. ...

  8. 李洪强iOS开发支付集成之支付宝支付

    iOS开发支付集成之支付宝支付 下载支付宝SDK 首先是开发包下载,还是比较难发现的,网上以前文章中的链接都打不开,我找了好久才找到的.最新的地址在这里(注意的是下载出来的SDK包里面并没有传说中的开 ...

  9. 集成支付宝钱包支付iOS SDK的方法与经验

    没想到,支付宝的SDK是我目前用过的所有第三方SDK中最难用的一个了. 下载 首先,你要想找到这个SDK,都得费点功夫.现在的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 "请点此 ...

最新文章

  1. 扩增子图表解读5火山图:差异OTU数量及变化规律
  2. ajax返回头部页面,ajax getResponseHeader获取中文响应头
  3. abap 在table control(表控件) 实现查找功能
  4. Vue.js-Day03-AM【超级详细:Node.js环境安装、安装淘宝镜像(Win、Mac)、安装Vue脚手架、初始化Vue项目-命令解释(Vscode、命令行窗口)、目录介绍、Vue文件介绍】
  5. 百度关键词分析工具_【青峰课堂】5分钟了解百度搜索推广的拓词工具—关键词规划师...
  6. canvas填充和描边介绍
  7. linux 黑酷命令行背景图片
  8. 0bug到底碰痛了谁的神经?
  9. Java基础之IO流
  10. WS2812B全彩LED驱动
  11. SAP-MM MRP类型详解
  12. 电机矢量控制(霍尔位置传感器)
  13. Java快速对接微信登录
  14. spark kryo java,在Spark中自定义Kryo序列化输入输出API
  15. 下载链接在微信中无法打开的解决方案
  16. 技巧:彻底删除电脑弹窗广告,还你一个干净的桌面!
  17. Excel的外部数据的引用
  18. 计算机应用基础excel2007 6.2使用函数和公式 教案,计算机应用基础教案62使用函数和公式.docx...
  19. 20131012-Actel公司申请License的方法
  20. UE4后期处理材质:扁平化风格描边

热门文章

  1. 月考总结-----(成绩出来之前)
  2. scrapy下载图片视频
  3. 静默活体检测+人脸检测+人脸识别结合在NCNN模型下的推理(Windows下的VS环境)
  4. java基础恶补1(基础)(内容来自牛客网Java宝典)
  5. CodeForces 732A-Buy a Shovel
  6. 某客户领导汇报材料编写问题与思考
  7. PDF转换为PPT详细的方法
  8. 股票因子扩展1(涨停因子计算)——从零到实盘4
  9. springboot spring.factories说明
  10. 直接把页面的table导出到excel表中