看一下这篇文章,非常不错,并在此感谢这篇文章的作者。
惯例,先写出嵌入支付宝的核心代码
- (IBAction)payWithAli:(UIButton *)sender {
//生成订单信息NSString *orderString=[AlipayRequestConfig genOrderWithProductName:@"金币" productDescription:@"兑换抵用券" amount:@"0.03"];
//前往支付宝界面
[[AlipaySDK defaultService] payOrder:orderString fromScheme:kAppScheme callback:^(NSDictionary *resultDic) {
dispatch_async(dispatch_get_main_queue(), ^{
//解析返回状态码int resultSuccess = [[resultDic objectForKey:kALipaykeyResult] intValue];
//是9000代表支付成功if (resultSuccess == kALipaykeyResultSuccess) {
NSLog(@"支付成功");
}else{
NSLog(@"支付失败");
}
});
}];
}
好了,代码写完了,其他的就是配置一些信息了。
最好先去读一下支付宝的官方帮助文档和实例代码(实例代码有些啰嗦)
1,将附件demo中的IntegratedAlipay文件夹拷贝到你所在的项目,找到AlipayHeader.h文件,填写必要的信息(kPartnerID,kSellerAccount,kAppScheme,kPrivateKey)。
2,在Build Phases-LinK Binary With libraries中添加SystemConfiguration.framework,添加步骤可以参阅 http://winann.blog.51cto.com/4424329/1601654。
3,在Build Settings中搜索Paths,找到FrameWork Search Paths,Header …,Library …,在个中添加你项目中AlipaySDK,和AlipayFils的路径;
实例 FrameWork Search Paths:
$(PROJECT_DIR)/IntegratedAlipay/IntegratedAlipay/AlipaySDK
Header Search Paths:
$(SRCROOT)/IntegratedAlipay/IntegratedAlipay/AlipayFiles
Library Search Paths:
$(PROJECT_DIR)/IntegratedAlipay/IntegratedAlipay/AlipaySDK
#include <openssl/asn1.h>
这里报找不到的错误,就是上面信息没有配置或配置错导致的。
4,在info-URL Types 中添加一个,其中URL Scemes中的值和AlipayHeader.h中的kAppScheme的值保持一致。
出现的问题总结
1,如果这时点击按钮,还没有跳转到支付宝界面,不要急,有以下两种解决方法:
(1)在info.plist下找到Main storyboard file base name,删掉
(2)如果用到了storyboard 可以在调用AlipaySDK defaultService,后添加
NSArray *array = [[UIApplication sharedApplication] windows]; UIWindow* win=[array objectAtIndex:0]; [win setHidden:NO];
在返回结果后,再设置为显示
2,“系统繁忙 请稍后再试 ali64“,去确认订单信息(代码中的orderString)是否有误
//正确的订单信息
partner="xxxxx"&seller_id="xxxxx"& out_trade_no="DZSZ2NFIBQQKM5M"&subject="1"&body="我是测试数据"& total_fee="0.02"¬ify_url="http://www.xxx.com"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&show_url="m.alipay.com"&sign="aQJQ5JnU8Aqw990.000000D1J4KgSfgLbokbQdTbf4U0.000000HDoIZNg3IgsgtGPs0.0000004CKzZjCxqqsg78KUJxmuZCREaaE0.000000IBum5H34JBexkXaWrtP5O1pc7EZb0.0000006O5oAhSiw0Y2faaLNk2DYuCbTV1omeEv0Ugkyr9t78i4uJFgig0wXpqocOcw1936"&sign_type="RSA"
3,支付宝官方demo,编译出错
Build Setting-Valid Architectures-添加armv7s,armv7,arm64
4,由于虚拟机不能安装支付宝钱包,所以跳转到支付包钱包的功能,还未测试,以后会补上
demo地址:http://download.csdn.net/detail/shenhualxt/8482219
以上就介绍了IOS快速嵌入支付宝,包括了方面的内容,希望对IOS开发有兴趣的朋友有所帮助。