说道支付宝SDK集成就让人感觉到头疼,找个集成包都不好找,原来旧版本的支付宝SDK现在依然可以使用,但是

不支付64位,现在新版本的已经支付64位了。

这个是快捷支付SDK的位置,https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=1#ps-tabinfo-hash

点击 技术集成,就有一个集成开发包,下载后会有SDK。

把集成包全部放到同一个文件夹中,如AlipaySDK2.1.2,

那么需要在工程配置中header path 中添加AlipaySDK2.1.2相对于工程的路径,否则会提示openssl/rsa.h不存在之类的提示。

接下来就是集成代码了。

我这里写了一个支付宝helper类

//
//  HYBAliapayHelper.h
//
//  Created by 黄仪标 on 14/12/10.
//  Copyright (c) 2014年 xiaoyaor. All rights reserved.
//#import <Foundation/Foundation.h>/*!* @brief  支付宝支付功能封装类,此类提供一键式调起支付宝功能,方便快捷** @author haungyibiao*/
@interface HYBAliapayHelper : NSObject// 先调这个方法来获取服务器的数据
+ (AFHTTPRequestOperation *)requestWithParams:(NSDictionary *)paramscompletion:(HYBSuccessDictBlock)completionerrorBlock:(HYBErrorBlock)errorBlock;// 再调这个方法来调起支付宝
// 参数:一,调用- (void)requestWithParams:(NSDictionary *)params
// completion:(HYBSuccessDictBlock)completion
// errorBlock:(HYBErrorBlock)errorBlock 所返回来的参数
// resultNumber 有以下几种状态:
+ (void)alixPayWithResponse:(NSDictionary *)responsecompletion:(HYBSuccessIdBlock)completion;// 在appdelegate中调用
+ (void)handleOpenURL:(NSURL *)url application:(UIApplication *)application;@end

这里使用的是AFN网络库。

@implementation HYBAliapayHelper+ (AFHTTPRequestOperation *)requestWithParams:(NSDictionary *)paramscompletion:(HYBSuccessDictBlock)completionerrorBlock:(HYBErrorBlock)errorBlock {return [HYBHttpManager aliapayMerchantInfoParams:params completion:^(NSDictionary *resultDict) {if (completion) {completion(resultDict);}} errorBlock:^(NSError *error) {errorBlock(error);}];
}// resultNumber 有以下几种状态:
// 0 表示成功,1表示未安装,2表示签名错误,3表示参数错误,4,失败原因,字符串类型
+ (void)alixPayWithResponse:(NSDictionary *)responseObjectcompletion:(HYBSuccessIdBlock)completion {
// 此处省略与SDK无关的代码/*9000 订单支付成功8000 正在处理中 4000 订单支付失败6001 用户中途取消6002 网络连接出错*/ // 这个callback是使用HTML5网页版支付时的回调,如果是用客户端支付,是不会回调到这里的[[AlipaySDK defaultService] payOrder:payRequest fromScheme:@"XiaoYaoUserUrlSchemes" callback:^(NSDictionary *resultDic) {if (delegate.alipayResultBlock) {// html5回调处理NSNumber *number = @([resultDic[@"resultStatus"] integerValue]);delegate.alipayResultBlock(number);// 这里的Delegate是AppDelegate}}];
}// 跳到支付宝应用后回调,这个是调用支付宝客户端时,会通过这个方法回调
+ (void)handleOpenURL:(NSURL *)url application:(UIApplication *)application {[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;DDLogVerbose(@"resultDic = %@", resultDic);if (delegate.alipayResultBlock) {// 跳到支付宝应用后回调NSString *status = resultDic[@"resultStatus"];DDLogVerbose(@"%@", status);NSNumber *number = @([status integerValue]);delegate.alipayResultBlock(number);}}];return;
}- (NSError *)errorWithMessage:(NSString *)message {NSError *error = [[NSError alloc] initWithDomain:message code:0 userInfo:nil];NSLog(@"%@", [error description]);return error;
}@end

这里需要特别注意的是两个callback的条件。

支付宝当前最新版集成2.1.2版本相关推荐

  1. Spring Boot集成支付宝(最新版SDK)—— 手机支付

    前言 前些日子写了一篇关于H5网页集成支付宝的文章: Spring Boot集成支付宝(最新版SDK)-- H5/网页支付 当时写了好久,往那一坐就是俩小时,写完直接就发布了,发布之后才感觉少点啥-- ...

  2. android 支付宝和微信支付封装,Android支付宝和微信支付集成

    场景 随着移动支付的兴起,在我们的app'中,会经常有集成支付的需求.这时候一般都会采用微信和支付宝的sdk 来集成 (一)支付宝支付 在使用支付宝支付的过程中,我们是在服务器端生成订单,客户端访问接 ...

  3. Spring Boot最新版集成邮件发送功能大全

    Spring Boot最新版集成邮件发送功能大全 前言 一.开启SMTP服务并获取授权码 二.创建Spring Boot项目 1.配置邮箱基本信息: 2.简单邮件发送: 3.发送带附件的邮件: 5.使 ...

  4. Java实现单次转账到支付宝账户(新版接口)(SpringBoot)

    Java实现单次转账到到个人支付宝账户(新版接口) 前言:支付宝5月21日发布通知单次转账接口升级,老版接口不再维护 1.首先需要认证企业支付宝账户 注册链接: https://auth.alipay ...

  5. Android 支付宝和微信支付集成

    原文地址:http://blog.csdn.net/wbwjx/article/details/50383183 场景 随着移动支付的兴起,在我们的app中,会经常有集成支付的需求.这时候一般都会采用 ...

  6. iOS项目集成unity(2020+ 版本)

    iOS 集成unity 随着unity版本的升级,老式unity(例如2017版本)的集成方式对于 2020 + 版本就不适用了,而且老式的unity集成相当复杂.新版的集成还相对容易一些. 这里我只 ...

  7. wamp增加php,新版PHPWAMP自定义添加PHP版本方法步骤

    新版PHPWAMP自定义添加PHP版本方法步骤 发布时间:2020-05-08 10:19:50 来源:亿速云 阅读:210 作者:三月 本文主要给大家介绍新版PHPWAMP自定义添加PHP版本方法步 ...

  8. Docker 安装最新版禅道16.5版本 原创

    Docker 安装最新版禅道16.5版本 原创 1下载禅道 2运行镜像 3.查看启动日志,可以看到启动成功: 下载禅道 docker pull idoop/zentao; 2.运行镜像 docker ...

  9. SAP Business ByDesign 和支付宝与钉钉集成的一个原型开发案例

    原文:Doing Business on the Go – Invoice to Cash the China Way (PoC) 众所周知,中国移动应用市场具有如下特点: 腾讯和阿里巴巴的多用途平台 ...

最新文章

  1. python基于条件、规则构建已有字典的子集
  2. js中的正则表达式入门
  3. django 学习笔记(一)
  4. [Spark][Python]PageRank 程序
  5. C语言试题四十三之求出ss所指字符串中指定字符的个数,并返回此值。
  6. 国际:如何识别真正的程序员
  7. CENTOS 7 踢用户_CentOS服务器及MySQL数据库性能测试-乐搏软件测试
  8. bzoj 2121 DP
  9. 打造自己的分布式搜索引擎底层架构(非Lucene)
  10. Ubuntu操作U盘相关
  11. PHP 100 个最常用的函数
  12. 雷达原理---线性调频信号的MATLAB仿真
  13. java pos58打印_POS58小票打印机
  14. 关于快速幂与快速积取模实现的尝试
  15. jquery查子元素
  16. 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义 模板)
  17. 【计算机网络】物理层
  18. Character类
  19. 手机淘宝客户端架构探索实践
  20. 拼多多校招----最大乘积(python)

热门文章

  1. matlab中ncread读取nc文件其中一个三维参数的其中一维_Matlab使用技巧总结-1
  2. Node MemoryLeak
  3. 查看计算机上隐藏用户,隐藏或显示 InetOrgPerson 对象类 - Windows Server | Microsoft Docs...
  4. js 中meta 移除head_JS函数和winform函数之间的相互调用
  5. 基于Mind+的NB-IOT自动获取时间和位置
  6. c语言验证寝室是否满人,寝室管理系统c语言.doc
  7. Spring AOP底层实现原理(动态代理)
  8. mysql 张三的语文成绩_八道 经典的 MYSQL 面试题目(有答案)
  9. mate40系统鸿蒙,Mate40领衔更新!鸿蒙系统首批升级机型名单:这些机型可坐等推送...
  10. 动态规划_leetcode322