为了节约开发成本,很多Native-H5混合App采用手机网站支付的方式去实现支付模块。但手机网站支付的网络依赖比较严重,也通常需要经过更多的验证,这种种原因导致手机网站支付的成功率比Native支付低,对商户的利益造成影响。

一:导入sdk流程如下:

1.下载sdk,把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,并导入到项目工程中。

AlipaySDK.bundle

AlipaySDK.framework

2.在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:

h5alipay.png

注意:

如果是Xcode 7.0之后的版本,需要添加libc++.tbd、libz.tbd;

如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib。

二:使用说明:

1.在需要调用AlipaySDK的文件中,增加头文件引用。

#import

2.调用接口

[[AlipaySDK defaultService]fetchOrderInfoFromH5PayUrl:url]

3.实现UIWebViewDelegate协议,拦截H5的URL(如果使用WKUIDelegate协议,请点击查看)

如果返回的resultCode为9000,接入方可以提示用户支付成功;返回结果不是9000的情况,无需做任何处理。如果returnUrl不为空,建议接入方跳转到该returnUrl。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

{

NSString* orderInfo = [[AlipaySDK defaultService]fetchOrderInfoFromH5PayUrl:[request.URL absoluteString]];

if (orderInfo.length > 0) {

// 调用支付接口进行支付

[[AlipaySDK defaultService]payUrlOrder:orderInfo fromScheme:@"alisdkdemo" callback:^(NSDictionary* result) {

// 处理返回结果

NSString* resultCode = result[@"resultCode"];

//建议操作: 根据resultCode做处理

// returnUrl 代表 第三方App需要跳转的成功页URL

NSString* returnUrl = result[@"returnUrl"];

//建议操作: 打开returnUrl

}];

return NO;

}

return YES;

}

4.支付宝客户端返回url处理方法,在AppDelegate.m文件中,增加头文件引用

#import

在@implementation 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) {

//【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】

NSLog(@"result = %@",resultDic);

}];

}

if ([url.host isEqualToString:@"platformapi"]){//支付宝钱包快登授权返回authCode

[[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {

//【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】

NSLog(@"result = %@",resultDic);

}];

}

return YES;

}

h5支付不能打开支付宝 ios_iOS 手机网站支付转Native支付(H5支付页面调起支付宝客户端(app))...相关推荐

  1. SpringBoot集成支付宝沙箱手机网站支付详细流程和踩坑分享

    描述 本文主要讲解SpringBoot集成支付宝沙箱手机网站支付,即网页点击按钮发起支付,跳转到沙箱app付款 由于其他博客的流程大多笼统,有时候并不能找到正确的集成方式,本文尽可能详细的阐述付款,异 ...

  2. 支付宝/微信手机网站支付总结

    1. 微信H5支付 2. 支付宝app支付 3. 支付宝当面付 标签:支付宝.手机网站支付.个人总结 1.关于申请账号必备清单: 营业执照 法人的身份证信息 企业对公账号信息 邮箱(作为登录账号) 一 ...

  3. php 支付宝wap接口,呕心之作:支付宝的手机网站支付接口的应用,呕心之作_PHP教程...

    呕心之作:支付宝的手机网站支付接口的应用,呕心之作 由于去年做手机Portl接口的工作,需要使用支付宝的支付,于是手机网站支付接口就成了首选. 1.首先下载接口包 支付宝商家服务中心链接:https: ...

  4. Spring Boot支付宝集成手机网站支付

    一:简介 手机网站支付常用于HTML5应用,常见于微信公众号上的应用.手机网站支付文档 手机网站支付的流程图: 1.用户点击H5应用中的支付按钮 2.点击支付按钮会请求后台接口,后台接口请求支付宝的支 ...

  5. 呕心之作:支付宝的手机网站支付接口的应用

    由于去年做手机Portl接口的工作,需要使用支付宝的支付,于是手机网站支付接口就成了首选. 1.首先下载接口包 支付宝商家服务中心链接:https://b.alipay.com/login.htm?g ...

  6. 支付宝的手机网站支付接口的应用

    1.首先下载接口包 支付宝商家服务中心链接:https://b.alipay.com/login.htm?goto=https://b.alipay.com:443/newIndex.htm 手机网站 ...

  7. tp5之 支付宝wappay手机网站支付

    沙箱环境 支付(当面付教程),参考下面这个可以配置环境 https://blog.csdn.net/a639735331/article/details/92847337 支付宝支付 沙箱 https ...

  8. H5页面调起高德地图APP/百度地图APP

    直接通过链接跳转即可唤起高德地图APP或者百度地图APP,示例如下: var s = startAddressInfo;//起点地址信息var e = endAddressInfo;//终点地址信息i ...

  9. 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

    前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...

  10. 支付宝手机网站支付,app支付,PC端支付流程以及服务端php支付下单,回调流程详解

    一.支付宝支付相关文档地址: 支付宝支付相关的文档地址:https://open.alipay.com/api 电脑网站支付:https://opendocs.alipay.com/open/270/ ...

最新文章

  1. 自定义Quartz超实用工具类
  2. “staticMetaObject”: 不是“****”的成员
  3. 什么是CRM中间件的1250事件
  4. 每日英语:Five Really Dumb Money Moves You've Got to Avoid
  5. python画图猪_用Python的turtle画一只小猪乔治【刚学python两天,记念一下】
  6. git 提交文件_git原理与实战
  7. application.properties数据库敏感信息加密这么简单?
  8. shutdown TCP ports,blocked all malicious scan
  9. 算法之最长公共子序列(LCS)问题
  10. 大端模式 小端模式学习笔记
  11. HDFS 读取、写入、遍历文件夹获取文件全路径、append
  12. php 便利字符串,Go语言遍历字符串——获取每一个字符串元素
  13. vue 中使用axios的总结
  14. Origin 2017 给曲线加标记符号
  15. 两台计算机互相共享一个网络,两台电脑共用一个路由器上网,但两台电脑不能互相访问共享,怎样设置啊?两台电脑系统都XP的...
  16. app上架vivo应用商店流程
  17. linux制作 引导盘,制作Linux引导盘的四种方法
  18. 用逗号分割并在Python中去除空格
  19. 云效x钉钉:让研发工作更简单
  20. 一个男人一天最舒服的地方在地下车库

热门文章

  1. python三维数组读取图片_python读取图片的方式,以及将图片以三维数组的形式输出方法...
  2. 把N*N矩阵顺时针旋转90°输出(2018携程校招笔试题)
  3. 有多少旅游企业入驻了抖音平台?有多少抖音用户喜欢看旅游视频?
  4. 思科3650交换机的密码恢复
  5. 计算机想ping一下网络,怎么ping网速(详细教您ping网络的方法)
  6. python-pptx 操作PPTx幻灯片文件删除并替换图片
  7. Node.js基础入门第七天
  8. 用java怎么开发图片标注工具,图片标注工具选型
  9. Google Chrome谷歌浏览器去掉右上角更新提示图标
  10. 《Java 程序设计任务驱动式实训教程》pdf,附下载链接