这篇博客只是讲解了客户端如何接入

下载支付的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”,这里输入什么都可以,自己选择,只要能让支付宝找到回调就可以。

在需要调用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 支付宝支付及授权相关推荐

  1. iOS支付宝支付集成

    概述 iOS支付宝支付集成 详细 代码下载:http://www.demodashi.com/demo/10729.html 支付宝和微信都是业界的老大哥,相信大家都有所觉得文档.SDK都是各种坑吧( ...

  2. iOS 支付宝支付集成获取私钥

    为什么80%的码农都做不了架构师?>>>    http://doc.open.alipay.com/doc2/apiList?docType=4 登录到支付宝开放平台,下载相关支付 ...

  3. ios支付宝支付--看我就够了

    神灯产品用户体验群:573431381 微信支付请看这里 http://blog.csdn.net/xoxo_x/article/details/52129632 本文文章将介绍支付宝支付,当第三方支 ...

  4. iOS 支付宝支付开发集成流程,这里记载的是签名保存在前台的集成,

    1 alipay 要做支付宝支付,对于新手,首先要了解的这个支付的业务逻辑,总体逻辑,下面就是基于支付宝SDK集成的交互流程, 1,公司boss用公司账号,申请支付宝账号,向支付宝签约 获得商户ID( ...

  5. iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析

    最近在项目中接入了微信支付和支付宝支付,总的来说没有那么坑,很多人都说文档不全什么的,确实没有面面俱到,但是认真一步一步测试下还是妥妥的,再配合懂得后台,效率也是很高的,看了这篇文章,你也只要几分钟, ...

  6. ios支付宝支付失败不回调_iOS支付宝H5支付无法返回APP解决方案

    本文只讨论你已经成功实现客户端->支付宝支付流程,仅仅是支付完成后无法返回自己的APP的问题. 如果你的支付流程是客户端->Safari->支付宝不在本文讨论范围之类. iOS支付宝 ...

  7. ios 支付宝支付集成

    支付宝支付: 下载官方demo,把需要的framwork下载下来,在自己的工程中,新建文件夹,然后全部塞进去,到build phases中把需要的全部导入,其中xcode7以上需要多导入两个.a文件, ...

  8. ios 支付宝支付 回调数据_iOS逆向支付宝

    去掉 ptrace 和 __RESTRICT section 两个保护 脱壳和dump头文件 分析和调试 编写Tweak 总结 环境 MacBook,iPhoneX,iOS 9.3.3越狱, iOS支 ...

  9. iOS 支付宝支付 微信支付SDK接口不统一? 盘他!

      开发过支付宝.微信支付的同学都知道,微信的支付 API 设计感觉是 Java 开发工程师写的,远不如支付宝 SDK 的接口设计用起来顺手.在这里,统一封装微信支付和支付宝支付的API,使两种支付方 ...

最新文章

  1. 十字相乘法c语言,十字相乘法的运算方法
  2. 小技巧:帮你批量删除代码前的行号
  3. 专注、突围、转型—2015协同OA市场盘点
  4. tip for interview
  5. 至毕业设计组同学的一封公开信
  6. jsp+tomcat程序helloworld
  7. 数据可视化分析票房数据报告_票房收入分析和可视化
  8. java调用tuxedo中间件,BEA-TUXEDO中间件介绍.ppt
  9. jQuery获取动态创建元素的内容
  10. 制作linux镜像时哪些文件时必须打包的,如何将linux系统制作成iso镜像文件?通过Mondo Rescue工具将linux系统制作成ISO镜像...
  11. Oracle 存储过程笔记.
  12. 相关系数excel_数学建模笔记——相关系数
  13. 电子取证技术--概述
  14. 程序员的表达能力 -- 程序员是表达大师! 提高形象思维能力 表达的基本模式 结构化思维能力 成长为优秀的架构师
  15. springMVC实现图片打包下载
  16. java中的Stream
  17. POS接口与GE接口区别
  18. WMS系统学习之ModernWMS
  19. 高中数学必修2试题:直线平面平行的判定及其性质
  20. Android 手势拦截的实现(简化水平、垂直手势操作的拦截处理)

热门文章

  1. 软件外包接单经验谈-开发,部署、售后
  2. python绘制荷花_python题
  3. 解决微信小程序输入框无法输入的问题
  4. BUU Web[21-24]
  5. 使用工具Cronolog进行日志分隔
  6. unity gradle
  7. 立体角-高斯定理札记
  8. 全球及中国厕纸分配器行业销售趋势及营销渠道策略报告(新版)2022-2027
  9. Fraudar算法应用之二部图反欺诈(京东风控工程实例)
  10. SQL获取时间戳流水号