1. 后台提供的是一个可以使用webView加载的URL, URL的返回值为一个带有订单信息的from表单, 只有是这种类型,才能沿用以下代码

  2. 如果你请求的网络接口, 返回值中直接包含订单信息串, 那么可用直接传orderInfo的方法直接来做.

步骤1 集成支付宝SDK

步骤2 在加载webView的界面这样写


- (void)viewDidLoad {[super viewDidLoad];self.view.backgroundColor = [UIColor whiteColor];/// 初始化webView_webView = [[UIWebView alloc]initWithFrame:self.view.bounds];/// 设置代理_webView.delegate = self;[self.view addSubview:_webView];/// loadNSURLRequest *request = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString:self.strUrl]];[_webView loadRequest:request];[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(payCancel:) name:RP_NOTIFITION_PAYCANCEL object:nil];
}
- (void)payCancel:(NSNotification*)notifi{[self.navigationController popViewControllerAnimated:YES];
}
#pragma mark -
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{NSString* orderInfo = [[AlipaySDK defaultService]fetchOrderInfoFromH5PayUrl:[request.URL absoluteString]];if (orderInfo.length > 0) {// 调用支付接口进行支付/*{isProcessUrlPay = 1;resultCode = 6001;returnUrl = "";}*/[[AlipaySDK defaultService]payUrlOrder:orderInfo fromScheme:@"zhandaotingche" callback:^(NSDictionary* result) {/*9000    订单支付成功8000    正在处理中,支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态4000    订单支付失败5000    重复请求6001    用户中途取消6002    网络连接出错6004    支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态其它    其它支付错误*/if ([[result objectForKey:@"resultCode"] isEqualToString:@"6001"]) {[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYCANCEL object:nil];}else if ([[result objectForKey:@"resultCode"] isEqualToString:@"9000"]){[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYSUSSCESS object:nil];}else if ([[result objectForKey:@"resultCode"] isEqualToString:@"4000"]){[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYFAIL object:nil];}}];}return YES;
}

在AppDelegate中 中补充

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{if ([url.host isEqualToString:@"safepay"]) {// 支付跳转支付宝钱包进行支付,处理支付结果[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {NSLog(@"result = %@",resultDic);if ([[resultDic objectForKey:@"resultCode"] isEqualToString:@"6001"]) {[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYCANCEL object:nil];}else if ([[resultDic objectForKey:@"resultCode"] isEqualToString:@"9000"]){[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYSUSSCESS object:nil];}else if ([[resultDic objectForKey:@"resultCode"] isEqualToString:@"4000"]){[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYFAIL object:nil];}}];}return YES;
}
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{[WXApi handleOpenURL:url delegate:self];if ([url.host isEqualToString:@"safepay"]) {// 支付跳转支付宝钱包进行支付,处理支付结果[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {NSLog(@"result = %@",resultDic);if ([[resultDic objectForKey:@"resultCode"] isEqualToString:@"6001"]) {[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYCANCEL object:nil];}else if ([[resultDic objectForKey:@"resultCode"] isEqualToString:@"9000"]){[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYSUSSCESS object:nil];}else if ([[resultDic objectForKey:@"resultCode"] isEqualToString:@"4000"]){[[NSNotificationCenter defaultCenter]postNotificationName:RP_NOTIFITION_PAYFAIL object:nil];}}];}return YES;
}

good!

待补充~

iOS 支付宝手机网站支付相关推荐

  1. php手机网站支付宝_PHP实现支付宝手机网站支付功能

    PHP实现支付宝手机网站支付功能的方法:首先开通支付宝商家中心里面的手机网站支付:然后进入开发者中心,获取到APPID:接着去文档中心下载"DEMO":最后将"demo& ...

  2. 支付宝手机网站支付补全信息提示 系统综合评估签约条件不满足解决

    申请支付宝 手机网站支付 成功后需补全经营信息,但是补全提交时提示  "系统综合评估签约条件不满足解决",需要检查下自己的支付宝账号是否满足以下申请条件: 1.申请前必须拥有经过实 ...

  3. 支付--支付宝手机网站支付(WAP)

    介绍: 这是放在微信供公众号内的一个项目,支付模块设计到微信公众号支付和支付宝手机网站支付,这次把支付宝手机网站支付整理下来. 文档: 支付宝手机网站支付的开发文档: https://docs.ope ...

  4. 支付宝手机网站支付实战踩坑

    准备 需求 需求就是最简单的对接支付宝支付接口 方案心路历程 简单用http对接一下,不过想了一下觉得第三方提供的SDK总是不用,所以打算尝试一下 支付宝新版SDK,从文档到git再安装到使用,然后放 ...

  5. 4 支付宝手机网站支付demo讲解

    目录 1 引言 2 业务流程 3 用户下单 4 商户系统处理订单信息 5 支付宝向用户展示支付信息 6 用户付款 7 同步通知与异步通知 1 引言 前面三小节我们已经学过如何使用支付宝手机网站支付的功 ...

  6. 对接支付宝手机网站支付接口,alin10071

    最近项目要增加支付宝扫二维码实现h5支付的功能,我们采用了调用支付宝手机网站支付接口:alipay.trade.wap.pay 但是每次调起返回都是 无可用支付方式 测了一天才发现是因为我的支付宝余额 ...

  7. Magento支付宝手机网站支付插件V6.0旗舰版发布,支持在微信中使用支付宝支付,订单重新支付功能!...

    2019独角兽企业重金招聘Python工程师标准>>> 功能 严格按照支付宝接口文档编写代码. 支付宝异步通知机制,确保订单状态及时更新,无丢失遗漏. 订单完美对接:支付后即使关掉支 ...

  8. 支付宝手机网站支付签约强开WAP支付,提示“系统综合评估签约条件不满足”或不满足国家法律法规或支付宝用户服务协议等的解决方案!支付宝H5支付开通方法详解

    一.如何开通支付宝手机网站支付 正常来说,按照官方的指引要求填写相关资料,即可开通支付宝手机网站支付.但是,更多的时候我们的申请都会碰到一些阻力,常见的阻力就是"系统综合评估签约条件不满足, ...

  9. 【支付宝支付】Java实现支付宝手机网站支付流程

    前言 微信登录网页授权与APP授权 微信JSAPI支付 微信APP支付 微信APP和JSAPI退款 支付宝手机网站支付 支付宝APP支付 支付宝退款 以上我都放到个人公众号,搜一搜:JAVA大贼船,文 ...

  10. Laravel 集成支付宝手机网站支付

    前期准备: 1.下载SDK,里面还有Demo,可以参照Demo里面的内容快速接入 支付宝 手机网站支付SDK&Demo 2.把下载的zip文件解压,放到项目目录里,这里作者放在app文件夹里, ...

最新文章

  1. 亲测有用的音乐推荐网站
  2. Delphi 7下使用VT实现树型列表结合控件
  3. 5 华为兼容性 双指缩放_华为EMUI10“滚屏翻译”之背后的学问
  4. wordpress漏洞上传php文件夹,WordPress Asset-Manager PHP文件上传漏洞
  5. ubuntu之find方法
  6. Android Studio(6)---编写APP
  7. 开发环境、测试环境、生产环境
  8. 设计模式(三): FACTORY工厂模式 -- 创建型模式
  9. NOIP2007 T1奖学金 解题报告-S.B.S.
  10. 分享webStorm汉化
  11. 郝斌C语言开篇 C语言简介
  12. 智齿科技宣布完成1亿美元D轮融资,暂未取得有效专利
  13. 防止iOS自动识别数字为电话号码
  14. JS语法之:require
  15. 【转】走火大神说:去年这时候又辞退了一个老油条,不知道他现在是否在开公司了,可以对比一下混工资的水平...
  16. Sql语句操作数据库(修改表,修改数据库)
  17. 洛谷 P3258 [JLOI2014]松鼠的新家 树上差分
  18. OSChina 周二乱弹 ——宅女喵 租男友 包吃住 100一天
  19. 财务和计算机操作方面的专业知识,会计基础的学习方法
  20. C++异常处理 详解

热门文章

  1. 1976年图灵奖--米凯尔·拉宾和达纳·斯科特简介
  2. linux定时任务生效_linux设置定时任务
  3. 1946年2月14号第一台计算机,1946年2月14日 世界上第一台计算机诞生,世界,您好!...
  4. python绘图--由逐日风场数据计算月平均风场数据并绘制二维填色图
  5. 发现同义词 python_同义词查找算法
  6. 201711671221第一周总结
  7. [cnblogs镜像]苹果操作系统名称演变史 新名称macOS
  8. matlab-俄罗斯方块小游戏
  9. qq离线文件服务器是怎么实现秒传,一招教你提高QQ文件传输速度的方法
  10. 错误提示 relocation overflow in R_ARM_THM_CALL