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. 2019-2019-2-20175332-实验三《敏捷开发与XP实践》实验报告

    一.编码标准 题目要求: 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能. 实验步骤 1.安装ali ...

  2. PhpStorm中terminal窗口字体修改

    在PhpStorm–File–Settings–Tools–Terminal中可以看到terminal调用的系统的cmd.exe程序 因此需要做的就是修改系统的cmd.exe中的字体,如下: CMD命 ...

  3. PAT甲级——A1055 The World's Richest

    Forbes magazine publishes every year its list of billionaires based on the annual ranking of the wor ...

  4. InnoDB: Error number 24 means ‘Too many open files’

    一.问题的描述 备份程序 执行前滚的时候报错.(-apply-log) InnoDB: Errornumber 24 means 'Too many open files'. InnoDB: Some ...

  5. Leetcode400Nth Digit第N个数字

    在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231). 示例 1: ...

  6. 【vue】openshopping-vue

    这是一个基于Vue实现开箱即用H5移动端商城的单页应用 作者的开源地址是:https://github.com/yrinleung/openshopping-vue 我们一起来欣赏页面吧 看看代码有什 ...

  7. H5C3--媒体查询(向上兼容,向下覆盖),link中引入的ont and only

    一.使用 实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. xml转化为数组

    function xml_to_array($xml) { return json_decode(json_encode(simplexml_load_string($xml)), true); }

  9. Asio与Boost.Asio

    译自http://think-async.com/Asio/AsioAndBoostAsio Asio有两种变体:(非Boost)Asio和Boost.Asio.本文概要描述二者的不同. 1. 源代码 ...

  10. python基础--数据类型的常用方法1

    1.数字类型 整型 用途:存qq号,手机号,不带字母的身份证号... 进制转换: 二进制转十进制:10 -->  1*(2**1) + 0*(2**0) 2 八进制转十进制:  235  --& ...