关于ios 集成支付宝功能的大概


首先添加支付宝SDK 

导入

AlipaySDK.bundle
AlipaySDK.framework



前期准备工作大概就是这些。


//此按钮为点击支付 按钮触发,

- (IBAction)AlipayAction:(id)sender {

    

/**           核心理解

  1.  我们跟自己的服务器索取 商户ID  账号ID  私钥(这是通过商品信息,去后台获取接口)

  2.  通过获取到的信息 去给阿里给的 “order“model赋值 生成订单信息及签名

  3.  NSString *orderSpec = [order description];//将商品信息拼接成字符串(可以理解把 阿里给的order  最后转为一个字符串)

  4.  获取私钥并将商品信息的字符串签名,得到最终阿里需要的   <签名成功字符>

  5.  调用阿里SDK的方法,将字符串放进里面去 ------->完成

 */

    /*

     *商户的唯一的parnterseller

     *签约后,支付宝会为每个商户分配一个唯一的 parnter seller

     */

    

    // 在这里进行第一步;

    //然后把三个参数(商户ID  账号ID  私钥) 赋值到下面

    

    NSString *partner = @"服务器提供";

    NSString *seller = @"服务器提供";

    NSString *privateKey = @"服务器提供";

    

    //partnerseller获取失败,提示

    if ([partner length] == 0 ||

        [seller length] == 0 ||

        [privateKey length] == 0)

    {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"

                                                        message:@"缺少partner或者seller或者私钥。"

                                                       delegate:self

                                              cancelButtonTitle:@"确定"

                                              otherButtonTitles:nil];

        [alert show];

        return;

    }

    

    /*

     *生成订单信息及签名

     */

    //将商品信息赋予AlixPayOrder的成员变量

    Order *order = [[Order alloc] init];

    order.partner = partner;

    order.seller = seller;

    order.tradeNO = @"服务器提供"; //订单ID(由商家自行制定)

    order.productName = @"服务器提供"; //商品标题

    order.productDescription = @"服务器提供"; //商品描述

    order.amount = @"服务器提供"; //商品价格

    order.notifyURL @"服务器提供"; //回调URL

    

    order.service = @"mobile.securitypay.pay";//固定

    order.paymentType = @"1";//固定

    order.inputCharset = @"utf-8";//固定

    order.itBPay = @"30m";//固定

    order.showUrl = @"m.alipay.com";//固定

    

    //应用注册scheme,AlixPayDemo-Info.plist定义URL types 用于快捷支付成功后重新唤起商户应用

    NSString *appScheme = @"alisdkdemo";

    

    //将商品信息拼接成字符串

    NSString *orderSpec = [order description];

    NSLog(@"orderSpec = %@",orderSpec);

    

    //获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode

    id<DataSigner> signer = CreateRSADataSigner(privateKey);

    NSString *signedString = [signer signString:orderSpec];

    

    //将签名成功字符串格式化为订单字符串,请严格按照该格式

    NSString *orderString = nil;

    if (signedString != nil) {

        orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",

                       orderSpec, signedString, @"RSA"];

        

        [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {

            if ([[resultDic objectForKey:@"resultStatus"] intValue]==9000) {

                

               // 9000 订单支付成功

               // 8000 正在处理中

               // 4000 订单支付失败

               // 6001 用户中途取消

               // 6002 网络连接出错

                

                //这里的9000,表示支付成功,我们这里可以调用一个服务器接口,告诉服务器,支付完毕。

            }

            NSLog(@"reslut = %@",resultDic);

        }];

    }

    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值