1添加支付宝源文件和库文件AlipayOrder.h    AlipayOrder.m    AlipayResult.h    AlipayResult.m  AlixLibService.h   PartnerConfig.h    AlipayRsaLib.a    Alixpay.bundle   AlixPaylib_arc.a    libcrypto.a   libssl.a

2添加json类库和demo中的rsa签名    json文件夹和RSA文件夹

3添加相关类库  CoreGraphics.framework  Foundation.framework UIKit.framework  CFNetwork.framework  SystemConfiguration.framework

4在delegate文件中加入支付回调函数

//独立客户端回调函数

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

[self parse:url application:application];

return YES;

}

- (void)parse:(NSURL *)url application:(UIApplication *)application {

//结果处理

AlixPayResult* result = [selfhandleOpenURL:url];

if (result)

{

if (result.statusCode == 9000)

{

/*

*用公钥验证签名 严格验证请使用result.resultString与result.signString验签

*/

//交易成功

NSString* key = @"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRAFljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQEB/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5KsiNG9zpgmLCUYuLkxpLQIDAQAB";

id<DataVerifier> verifier;

verifier = CreateRSADataVerifier(key);

if ([verifier verifyString:result.resultStringwithSign:result.signString])

{

//验证签名成功,交易结果无篡改

UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"提示"

message:result.statusMessage

delegate:nil

cancelButtonTitle:@"确定"

otherButtonTitles:nil];

[alertView show];

alertView.delegate = self;

//验签错误

else {

UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"提示"

message:@"签名错误"

delegate:nil

cancelButtonTitle:@"确定"

otherButtonTitles:nil];

[alertView show];

}

}

//如果支付失败,可以通过result.statusCode查询错误码

else {

UIAlertView * alertView = [[UIAlertViewalloc] initWithTitle:@"提示"

message:result.statusMessage

delegate:nil

cancelButtonTitle:@"确定"

otherButtonTitles:nil];

[alertView show];

}

}

else

{

//交易失败

}

NSLog(@"1111%i",result.statusCode);

NSLog(@"222%@",result.description);

NSLog(@"333%@",result);

NSLog(@"444%@",result.resultString);

}

- (AlixPayResult *)resultFromURL:(NSURL *)url {

NSString * query = [[url query] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

#if ! __has_feature(objc_arc)

return [[[AlixPayResult alloc] initWithString:query] autorelease];

#else

return [[AlixPayResult alloc] initWithString:query];

#endif

}

- (AlixPayResult *)handleOpenURL:(NSURL *)url {

AlixPayResult * result = nil;

if (url != nil && [[url host] compare:@"safepay"] == 0) {

result = [self resultFromURL:url];

}

return result;

}

5设置url 在target中的info中,添加URL Types

支付宝sdk iOS 集成的更多相关文章

  1. 大叔也说Xamarin~Android篇~支付宝SDK的集成

    回到目录 首先做为支付宝SDK它提供了多种平台,网页版,wap版,IOS版,android版等等,今天主要说一下在xamarin里使用android平台的sdk的方法,在网上介绍这块的文章不多,大叔本 ...

  2. 支付宝SDK ios快捷支付

    配置PartnerConfig.h的参数 //合作身份者id,以2088开头的16位纯数字 #define PartnerID @"" //收款支付宝账号 #define Sell ...

  3. iOS开发——高级篇——如何集成支付宝SDK

    一.什么是支付宝 第三方支付平台 和内购非常相似内购是用户将钱付款给苹果,之后苹果分成给商户支付宝是用户将钱付款给支付宝,之后支付宝将钱转入我们的账户 使用支付宝前提购买的物品必须是和应用程序无关的. ...

  4. iOS集成支付宝

    需要企业和支付宝签约这个是需要审核的[3天左右   以邮件形式告知你] 使用支付宝进行一个完整的支付功能,大致有以下步骤: 1>先与支付宝签约,获得商户ID(partner)和账号ID(sell ...

  5. iOS集成支付宝支付

    本文由本人原创发表于博客园,转载请注明出处 http://www.cnblogs.com/wangqw/p/5074907.html 一. 开发前准备 iOS 支付宝SDK下载地址:(内含iOS An ...

  6. 集成支付宝SDK遇到的坑

    一.首先我先把集成过程说一下.小编想说的话:支付宝是我做支付中觉得坑最多的一个,各种编译不过,各种出问题. 废话不多说,进入主题:1.首先当前是下载官方SDK啦,当前你也可以通过cocopods进行导 ...

  7. 视频云SDK iOS持续集成项目实践

    1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...

  8. 支付宝sdk集成,报系统繁忙 请稍后再试(ALI64)

    移动快捷支付,往往需要集成支付宝的sdk,集成的过程相对简单,只要按照支付宝的文档,进行操作一般不会出问题.            下面主要说明一下,集成sdk后报"系统繁忙 请稍后再试(A ...

  9. IOS集成到支付宝的步骤及问题

    一,在支付宝开放平台下载支付宝SDK(https://openhome.alipay.com/platform/document.htm#down) 二,添加sdk文件到xcode 1,新建一个ali ...

随机推荐

  1. Angular本地数据存储LocalStorage

    //本地存储数据===================================.factory('locals',['$window',function($window){ return{ / ...

  2. sas正则式之prxparen

    sas正则式之prxparen 今天还是要继续正则式的内容,这周的内容是prxparen函数,这个函数我个人觉得特别有用,是因为他和"|"结合使用可以同时容纳很多种情况的字符串. ...

  3. MyBatis-Spring(四)--MapperFactoryBean实现增删改查

    上一篇文章中提到,使用SqlSessionTemplat时需要输入一长串字符串来获取mapper,这种方式IDE不会检查程序的准确性并且很容易出错,所以这篇文章介绍另一种可以避免这种问题,并且也可以使 ...

  4. JS防抖动

    这道题目经常与事件触发器同时存在,为了考察面试者在一些具体业务流程上(信息流,搜索框输入查询)等,能否综合的考虑实现思路. 题目:在某些信息列表中一般采用瀑布流,滚动一屏时加载相应的数据,请思考如何避 ...

  5. hibernate4注解字段为mysql的text

    文章的正文detail就需要设置为text 在getter方法上添加注解 @Lob @Basic(fetch = FetchType.LAZY) @Type(type = "text&quo ...

  6. VS2010中Cocos2d-x中文乱码问题

    不罗嗦,直接进入主题,VS2010的默认编码是"GB2312",那么以创建一个label为例,当我们使用 CCLabelTTF::create(const char *label, ...

  7. py3.x和py2.x的区别

    1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比Py2 ...

  8. Ubuntu修改mysql编码格式

    今天在Ubuntu系统上部署了第一个net core的web网站,遇到了mysql入库数据乱码的情况.无奈,ubuntu系统不熟悉,mysql命令不熟悉,只得在网上查找各种资料.还是老规矩,主要参考的 ...

  9. 【python之路43】tornado的用法(一)

    一.tonado的代码 1.返回字符串 #!/usr/bin/env python # -*- coding:utf-8 -*- import tornado.ioloop import tornad ...

  10. web前端学习(四)JavaScript学习笔记部分(9)-- JavaScript面向对象详解

    1.认识面向对象 1.1.概念 1.一切事物皆是对象 2.对象具有封装和继承特性 3.信息隐藏(类的信息隐藏,包括属性和方法) <!DOCTYPE html> <html lang= ...