ios集成支付宝的功能
1.很多的项目现在要集成第三方的sdk来完成,今天我看了一下支付宝,应用了支付宝的功能,接下来给大家讲解下如何集成支付宝:
2.首先要和支付宝签约:(支持企业的账号),邮件得到一系列的东西:(所有的值在支付宝回复的邮件里面:注意,建议除appScheme以外的字段都从服务器请求);
3.第二你要下载AlipaySDK包,支付宝中心下载:
4.将你的下载的sdk导入到你的项目中去:
5.然后运行一下会报错,一个是order.h 还有一个是:找不到rsa.h文件:
解决方案: order.h 的解决方案:如图找到order.h (加上 - fno -objc - arc)
解决方案:rsa.h 文件:
1.你要导入Alipay.SDK 和systemconfig.framak 两个库:
2.点击项目名称,点击“Build Settings”选项卡,在搜索框中,以关键字“search” 搜索,对“Header Search Paths”增加头文件路径:“$(SRCROOT)/项目名称/IntegratedAlipay/AlipayFiles”
(注意:不包括引号,如果不是放到项目根目录下,请在项目名称后面加上相应的目录名);
4.在appDelegeate.m实现的代理如下:
//支付这一块
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
//如果极简 SDK 不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给 SDK if ([url.host isEqualToString:@"safepay"]) {
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
if ([url.host isEqualToString:@"platformapi"]){//支付宝钱包快登授权返回 authCode
[[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
}
return YES;
}
5.在 AlipayHeader.h 的实现文件(邮件里面发送过来的)kPartnerID、kSellerAccount、kNotifyURL、kAppScheme和kPrivateKey的值
#ifndef IntegratedAlipay_AlipayHeader_h
#define IntegratedAlipay_AlipayHeader_h
#import <AlipaySDK/AlipaySDK.h> // 导入AlipaySDK
#import "AlipayRequestConfig.h" // 导入支付类
#import "Order.h" // 导入订单类
#import "DataSigner.h" // 生成signer的类:获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循 RSA 签名规范, 并将签名字符串 base64 编码和 UrlEncode
#import <Foundation/Foundation.h> // 导入Foundation,防止某些类出现类似:“Cannot find interface declaration for 'NSObject', superclass of 'Base64'”的错误提示
/**
* partner:合作身份者ID,以 2088 开头由 16 位纯数字组成的字符串。
*
*/
#define kPartnerID @""
/**
* seller:支付宝收款账号,手机号码或邮箱格式。
*/
#define kSellerAccount @""
/**
* 支付宝服务器主动通知商户 网站里指定的页面 http 路径。
*/
#define kNotifyURL @""
/**
* appSckeme:应用注册scheme,在Info.plist定义URLtypes,处理支付宝回调
*/
#define kAppScheme @""
/**
* private_key:商户方的私钥,pkcs8 格式。
*/
#define kPrivateKey @""
//支付宝公钥
#define AlipayPubKey @"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRAFljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQEB/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5KsiNG9zpgmLCUYuLkxpLQIDAQAB"
#endif
6.在需要调用的地方实现调用的方法:
// 支付的功能
- (IBAction)onClickpayBtn:(UIButton *)sender {
[AlipayRequestConfig alipayWithPartner:kPartnerID seller:kSellerAccount tradeNO:[AlipayToolKit genTradeNoWithTime] productName:@"爱你" productDescription:@"好呀" amount:@"10" notifyURL:kNotifyURL itBPay:@"30"];
NSLog(@"Payment");
}
希望可以帮助需要的人,谢谢大家了!!!!