zoukankan      html  css  js  c++  java
  • IOS-支付宝

     
    一、使用支付宝进行一个完整的支付功能,大致有以下步骤:
    与支付宝签约,获得商户ID(partner)和账号ID(seller)
    下载相应的公钥私钥文件(加密签名用)
    下载支付宝SDK
    生成订单信息
    调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
    支付完毕后返回支付结果给商户客户端和服务器
     
    注意:我们主要负责下单,和处理支付结果
     
     
    二、调用接口步骤

    1.封装订单模型

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

    // 生成订单描述

    NSString *orderSpec = [order description];

    2.签名

    id<DataSigner> signer = CreateRSADataSigner(@“私钥key”);

    // 传入订单描述 进行 签名

    NSString *signedString = [signer signString:orderSpec];

    3.生成订单字符串

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

                             orderSpec, signedString, @"RSA"];

    4.调用支付接口

    AlixPay * alixpay = [AlixPay shared];

    // appScheme:商户自己的协议头

    int ret = [alixpay pay:orderString applicationScheme:appScheme];

     
     
    代码:
     1 - (IBAction)buy {
     2     // 1.生成订单信息
     3     AlixPayOrder *order = [[AlixPayOrder alloc] init];
     4     order.partner = PartnerID; // 商户ID
     5     order.seller = SellerID; // 帐号ID
     6     
     7     order.tradeNO = @"2014082717183778587475"; // 订单ID(由商家自行制定)
     8     order.productName = self.deal.title; // 商品标题
     9     order.productDescription = self.deal.desc; // 商品描述
    10     order.amount = [NSString stringWithFormat:@"%.2f", [self.deal.current_price floatValue]]; //商品价格
    11     order.notifyURL =  @"http%3A%2F%2Fwwww.xxx.com"; // 回调URL
    12     
    13     // 2.签名加密
    14     id<DataSigner> signer = CreateRSADataSigner(PartnerPrivKey);
    15     NSString *signedString = [signer signString:[order description]];
    16     
    17     // 3.利用订单信息、签名信息、签名类型生成一个订单字符串
    18     NSString *orderString = [NSString stringWithFormat:@"%@&sign="%@"&sign_type="%@"",
    19                              [order description], signedString, @"RSA"];
    20     
    21     // 4.打开支付宝,传递订单信息
    22     [AlixLibService payOrder:orderString AndScheme:@"heituan" seletor:@selector(paymentResultDelegate:) target:self];
    23 }
     
  • 相关阅读:
    旧的非flash版Metalink的入口
    了解rman catalog的兼容性
    Identify ksusetxn DID:An Deadlock ID
    [zt]如何有效地报告Bug
    深入了解ASMM
    解决sqlplus的segmentation fault或hang问题
    [zt]提问的艺术
    oracle 好书 05 ( 内存组件与 oracle 进程 )
    oracle 好书 03 ( 数据字典 )
    Oracle 好书 02 ( 安装oracle 10g软件及创建数据库 )
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/5341536.html
Copyright © 2011-2022 走看看