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

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

一,在支付宝开放平台下载支付宝SDK(https://openhome.alipay.com/platform/document.htm#down)

二,添加sdk文件到xcode

1,新建一个aliPaySDK文件夹,提取SDK包中以下文件到此文件夹里,在xcode中添加此文件夹

2.在xcode中,点击项目名,选择"target"->"Link Binary With Libraries"添加依赖库。

这个库文件你要按照 支付宝接入文档里边的库一个一个添加  不然会出错

按最新的   看清楚再加  (下图只是参考 .....  大家要注意)

3.编译项目,会出现以下问题:

1)"Unknown type name ‘NSString‘ "或者"Unknown type name ‘NSData‘ "等不识别常见类的问题。

这是因为缺少Foundation类库和UIKit类库,支付宝Demo中之所以没有出现此错误,是因为在.pch文件中导入过这些类库

解决办法:只需要在出现错误的文件中导入这些类库即可

2)‘openssl/asn1.h‘ file not found

这是openssl文件夹头文件链接问题,如果openssl文件夹随意拉进项目中,即使添加头文件链接,也可能解决不了此问题,

这也是问什么一开始就将所需要的文件放到一个新建文件夹中再添加到项目中的原因。

解决办法:Targets->Build Settings->Header Search Path中添加1中建立的aliPaySDK文件夹的路径(拖拽此文件夹至输入框即可)

3)根据项目需求添加demo中ViewController中的代码 编译后可能会出下面错误:

"_OBJC_CLASS_$_Product", referencedfrom: objc-class-ref in ViewController.o

AlipaySDK的demo中将Product的定义写在了ViewControler.h中所致

解决办法:新建Product类,将ViewController中的代码拷贝过去即可。

三,添加支付逻辑代码,完成支付过程。

ViewController.m文件

1/*============================================================================*/2/*=======================需要填写商户app申请的===================================*/3/*============================================================================*/4//这里的三个参数是公司和支付宝签约之后得到的,没有这三个参数无法完成支付5NSString*partner =@"";6NSString*seller =@"";7NSString*privateKey =@"";8/*============================================================================*/9/*============================================================================*/10/*============================================================================*/1112//partner和seller获取失败,提示13if([partner length] ==0||14[seller length] ==0||15[privateKey length] ==0)16{17UIAlertView*alert = [[UIAlertViewalloc] initWithTitle:@"提示"18message:@"缺少partner或者seller或者私钥。"19delegate:self20cancelButtonTitle:@"确定"21otherButtonTitles:nil];22[alert show];23return;24}2526/*

27      *生成订单信息及签名

28      */29//将商品信息赋予AlixPayOrder的成员变量30Order *order = [[Order alloc] init];31order.partner = partner;32order.seller = seller;33#warning 这里需要填商品信息34order.tradeNO =@"";//订单ID(由商家自行制定)35order.productName =@"测试商品";//商品标题36order.productDescription =@"这是一个测试商品";//商品描述37order.amount =@"0.01";//商品价格38order.notifyURL =@"";//回调URL   这个URL是在支付之后,支付宝通知后台服务器,使数据同步更新,必须填,不然支付无法成功3940//下面的参数是固定的,不需要改变41order.service =@"mobile.securitypay.pay";42order.paymentType =@"1";43order.inputCharset =@"utf-8";44order.itBPay =@"30m";45order.showUrl =@"m.alipay.com";4647//应用注册scheme,在AlixPayDemo-Info.plist定义URL types48//如果不知道scheme是神马东西,请自行百度49NSString*appScheme =@"";5051//将商品信息拼接成字符串52NSString*orderSpec = [order description];5354//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode55id signer = CreateRSADataSigner(privateKey);56NSString*signedString = [signer signString:orderSpec];5758//将签名成功字符串格式化为订单字符串,请严格按照该格式59NSString*orderString =nil;60if(signedString !=nil) {61orderString = [NSStringstringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",62orderSpec, signedString,@"RSA"];636465[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary*resultDic) {66NSLog(@"使用支付宝的支付结果 %@",resultDic);6768}];6970}

AppDelegate.m

1- (BOOL)application:(UIApplication*)application2openURL:(NSURL*)url3sourceApplication:(NSString*)sourceApplication4annotation:(id)annotation {56//跳转支付宝钱包进行支付,处理支付结果7[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary*resultDic) {8NSLog(@"result = %@",resultDic);9}];1011returnYES;12}

以上就是支付宝集成流程和可能遇到的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • 在我们应用开发中我们经常在自己的项目中使用到支付,下面我们来谈谈iOS这块的支付;iOS支付主要分为两类,第三方支...
    Hither阅读 8,254评论 9 42
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    sillen阅读 1,351评论 0 1
  • 写得不错很详细,转一个!其中base64报错的确实是一个坑,挺恶心,发现支付宝和微信官方文档都是写得不怎么详尽 在...
    白屏阅读 1,762评论 4 48
  • 中学时代几乎每年寒暑假,我和妹妹都会从乡下乘坐大巴来上海,陪伴在这里打工的母亲。当时父亲在家务农,同时照顾我和妹妹...
    赵不弃阅读 238评论 2 4