iOS 支付宝支付及授权
这篇博客只是讲解了客户端如何接入
下载支付的SDK
[https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1](https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1)
从demo中可以找到AlipaySDK.bundle和AlipaySDK.framework ,将他们添加到项目中,一定要记着是copy。
在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:
添加url schemes
点击项目名称,点击“Info”选项卡,在“URL Types”选项中,点击“+”,在“URL Schemes”中输入“xxx”,这里输入什么都可以,自己选择,只要能让支付宝找到回调就可以。![](/assets/blank.gif)
在需要调用AlipaySDK的文件中,增加头文件引用。
import <AlipaySDK/AlipaySDK.h>
这里的orderString不用客户端管,服务器端会将这个字符串拼接好传给客户端,这里的appScheme要和上面的url schemes保持一致。
[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {NSLog(@"reslut = %@",resultDic);}];
支付结果通知:
在@implementation AppDelegate中以下代码中的NSLog改为实际业务处理代码
//这个是在ios9后的接口,如果需要适配ios9以前的系统,请找对应的api
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{if ([url.host isEqualToString:@"safepay"]) {//跳转支付宝钱包进行支付,处理支付结果[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {DLog(@"result = %@",resultDic);NSInteger orderState = [resultDic[@"resultStatus"] integerValue];NSString *notice = nil;if (orderState == 9000) {[[NSNotificationCenter defaultCenter] postNotificationName:AppPay object:nil];notice = @"支付成功";} else {switch (orderState) {case 8000:notice = @"支付正在处理中";break;case 4000:notice = @"支付失败";break;case 6001:notice = @"支付取消";break;case 6002:notice = @"网络连接出错";break;default:break;}}}];}return YES;
}
下面是授权流程:
基本的配置和支付是一样的,不同的是在调用支付接口的地方变成授权接口
//这里的orderString也是由服务器拼接好返回,AppScheme同支付一样
[[AlipaySDK defaultService] auth_V2WithInfo:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {DLog(@"%@",resultDic);
}];
在@implementation AppDelegate中以下代码中的NSLog改为实际业务处理代码
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{if ([url.host isEqualToString:@"safepay"]) {[[AlipaySDK defaultService] processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {DLog(@"result = %@",resultDic);}];}return YES;
}
如果授权成功:
【resultStatus=9000memo="处理成功"result="success=true&auth_code=d9d1b5acc26e461dbfcb6974c8ff5E64&result_code=200 &user_id=2088003646494707"】
可以得到auth_code和user_id,这样只要截取出需要的数据就可以了,这样基本上授权完成。
如果哪里写的不对或者有补充的,欢迎斧正~
iOS 支付宝支付及授权相关推荐
- iOS支付宝支付集成
概述 iOS支付宝支付集成 详细 代码下载:http://www.demodashi.com/demo/10729.html 支付宝和微信都是业界的老大哥,相信大家都有所觉得文档.SDK都是各种坑吧( ...
- iOS 支付宝支付集成获取私钥
为什么80%的码农都做不了架构师?>>> http://doc.open.alipay.com/doc2/apiList?docType=4 登录到支付宝开放平台,下载相关支付 ...
- ios支付宝支付--看我就够了
神灯产品用户体验群:573431381 微信支付请看这里 http://blog.csdn.net/xoxo_x/article/details/52129632 本文文章将介绍支付宝支付,当第三方支 ...
- iOS 支付宝支付开发集成流程,这里记载的是签名保存在前台的集成,
1 alipay 要做支付宝支付,对于新手,首先要了解的这个支付的业务逻辑,总体逻辑,下面就是基于支付宝SDK集成的交互流程, 1,公司boss用公司账号,申请支付宝账号,向支付宝签约 获得商户ID( ...
- iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析
最近在项目中接入了微信支付和支付宝支付,总的来说没有那么坑,很多人都说文档不全什么的,确实没有面面俱到,但是认真一步一步测试下还是妥妥的,再配合懂得后台,效率也是很高的,看了这篇文章,你也只要几分钟, ...
- ios支付宝支付失败不回调_iOS支付宝H5支付无法返回APP解决方案
本文只讨论你已经成功实现客户端->支付宝支付流程,仅仅是支付完成后无法返回自己的APP的问题. 如果你的支付流程是客户端->Safari->支付宝不在本文讨论范围之类. iOS支付宝 ...
- ios 支付宝支付集成
支付宝支付: 下载官方demo,把需要的framwork下载下来,在自己的工程中,新建文件夹,然后全部塞进去,到build phases中把需要的全部导入,其中xcode7以上需要多导入两个.a文件, ...
- ios 支付宝支付 回调数据_iOS逆向支付宝
去掉 ptrace 和 __RESTRICT section 两个保护 脱壳和dump头文件 分析和调试 编写Tweak 总结 环境 MacBook,iPhoneX,iOS 9.3.3越狱, iOS支 ...
- iOS 支付宝支付 微信支付SDK接口不统一? 盘他!
开发过支付宝.微信支付的同学都知道,微信的支付 API 设计感觉是 Java 开发工程师写的,远不如支付宝 SDK 的接口设计用起来顺手.在这里,统一封装微信支付和支付宝支付的API,使两种支付方 ...
最新文章
- 十字相乘法c语言,十字相乘法的运算方法
- 小技巧:帮你批量删除代码前的行号
- 专注、突围、转型—2015协同OA市场盘点
- tip for interview
- 至毕业设计组同学的一封公开信
- jsp+tomcat程序helloworld
- 数据可视化分析票房数据报告_票房收入分析和可视化
- java调用tuxedo中间件,BEA-TUXEDO中间件介绍.ppt
- jQuery获取动态创建元素的内容
- 制作linux镜像时哪些文件时必须打包的,如何将linux系统制作成iso镜像文件?通过Mondo Rescue工具将linux系统制作成ISO镜像...
- Oracle 存储过程笔记.
- 相关系数excel_数学建模笔记——相关系数
- 电子取证技术--概述
- 程序员的表达能力 -- 程序员是表达大师! 提高形象思维能力 表达的基本模式 结构化思维能力 成长为优秀的架构师
- springMVC实现图片打包下载
- java中的Stream
- POS接口与GE接口区别
- WMS系统学习之ModernWMS
- 高中数学必修2试题:直线平面平行的判定及其性质
- Android 手势拦截的实现(简化水平、垂直手势操作的拦截处理)