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");

 }

 希望可以帮助需要的人,谢谢大家了!!!!

 

posted @ 2015-07-04 09:40  朱峰博客  阅读(354)  评论(0编辑  收藏  举报