h5支付不能打开支付宝 ios_iOS 手机网站支付转Native支付(H5支付页面调起支付宝客户端(app))...
为了节约开发成本,很多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))...相关推荐
- SpringBoot集成支付宝沙箱手机网站支付详细流程和踩坑分享
描述 本文主要讲解SpringBoot集成支付宝沙箱手机网站支付,即网页点击按钮发起支付,跳转到沙箱app付款 由于其他博客的流程大多笼统,有时候并不能找到正确的集成方式,本文尽可能详细的阐述付款,异 ...
- 支付宝/微信手机网站支付总结
1. 微信H5支付 2. 支付宝app支付 3. 支付宝当面付 标签:支付宝.手机网站支付.个人总结 1.关于申请账号必备清单: 营业执照 法人的身份证信息 企业对公账号信息 邮箱(作为登录账号) 一 ...
- php 支付宝wap接口,呕心之作:支付宝的手机网站支付接口的应用,呕心之作_PHP教程...
呕心之作:支付宝的手机网站支付接口的应用,呕心之作 由于去年做手机Portl接口的工作,需要使用支付宝的支付,于是手机网站支付接口就成了首选. 1.首先下载接口包 支付宝商家服务中心链接:https: ...
- Spring Boot支付宝集成手机网站支付
一:简介 手机网站支付常用于HTML5应用,常见于微信公众号上的应用.手机网站支付文档 手机网站支付的流程图: 1.用户点击H5应用中的支付按钮 2.点击支付按钮会请求后台接口,后台接口请求支付宝的支 ...
- 呕心之作:支付宝的手机网站支付接口的应用
由于去年做手机Portl接口的工作,需要使用支付宝的支付,于是手机网站支付接口就成了首选. 1.首先下载接口包 支付宝商家服务中心链接:https://b.alipay.com/login.htm?g ...
- 支付宝的手机网站支付接口的应用
1.首先下载接口包 支付宝商家服务中心链接:https://b.alipay.com/login.htm?goto=https://b.alipay.com:443/newIndex.htm 手机网站 ...
- tp5之 支付宝wappay手机网站支付
沙箱环境 支付(当面付教程),参考下面这个可以配置环境 https://blog.csdn.net/a639735331/article/details/92847337 支付宝支付 沙箱 https ...
- H5页面调起高德地图APP/百度地图APP
直接通过链接跳转即可唤起高德地图APP或者百度地图APP,示例如下: var s = startAddressInfo;//起点地址信息var e = endAddressInfo;//终点地址信息i ...
- 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结
前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...
- 支付宝手机网站支付,app支付,PC端支付流程以及服务端php支付下单,回调流程详解
一.支付宝支付相关文档地址: 支付宝支付相关的文档地址:https://open.alipay.com/api 电脑网站支付:https://opendocs.alipay.com/open/270/ ...
最新文章
- 自定义Quartz超实用工具类
- “staticMetaObject”: 不是“****”的成员
- 什么是CRM中间件的1250事件
- 每日英语:Five Really Dumb Money Moves You've Got to Avoid
- python画图猪_用Python的turtle画一只小猪乔治【刚学python两天,记念一下】
- git 提交文件_git原理与实战
- application.properties数据库敏感信息加密这么简单?
- shutdown TCP ports,blocked all malicious scan
- 算法之最长公共子序列(LCS)问题
- 大端模式 小端模式学习笔记
- HDFS 读取、写入、遍历文件夹获取文件全路径、append
- php 便利字符串,Go语言遍历字符串——获取每一个字符串元素
- vue 中使用axios的总结
- Origin 2017 给曲线加标记符号
- 两台计算机互相共享一个网络,两台电脑共用一个路由器上网,但两台电脑不能互相访问共享,怎样设置啊?两台电脑系统都XP的...
- app上架vivo应用商店流程
- linux制作 引导盘,制作Linux引导盘的四种方法
- 用逗号分割并在Python中去除空格
- 云效x钉钉:让研发工作更简单
- 一个男人一天最舒服的地方在地下车库
热门文章
- python三维数组读取图片_python读取图片的方式,以及将图片以三维数组的形式输出方法...
- 把N*N矩阵顺时针旋转90°输出(2018携程校招笔试题)
- 有多少旅游企业入驻了抖音平台?有多少抖音用户喜欢看旅游视频?
- 思科3650交换机的密码恢复
- 计算机想ping一下网络,怎么ping网速(详细教您ping网络的方法)
- python-pptx 操作PPTx幻灯片文件删除并替换图片
- Node.js基础入门第七天
- 用java怎么开发图片标注工具,图片标注工具选型
- Google Chrome谷歌浏览器去掉右上角更新提示图标
- 《Java 程序设计任务驱动式实训教程》pdf,附下载链接