美文网首页
支付宝支付

支付宝支付

作者: 王欣12138 | 来源:发表于2016-07-08 11:50 被阅读30次

    1.下载支付宝SDK内涵demo

    2.在demo里面找到

    3.新建文本后导入到工程中

    4.新建pch文件 导入foundation框架

    5.在target中build setting 中找到header search path 加入导入文件路径

    6.导入以下框架

    7.登录支付宝开放平台  创建应用 找到 合作者id 2088802709******  RSA加密

    8.新建文件夹  生成私钥  打开命令 cd到文件夹目录下

    ```

    openssl genrsa -out rsa_private_key.pem 1024

    openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

    ```

    获取中间私钥

    ```

    lengwuju$ openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

    ```

    打开文件夹  用记事本打开公钥证书,获取公钥

    上传到支付宝   


    9.xcode

    `1》设置bound id

    `2》代码

    1>设置三个合作者id  私钥  卖家id

    2>生成订单信息

    3>私钥签名

    4>拼接订单字符串

    5>发送定案请求

    ```

    //订单的数据模型

    #import"Order.h"

    //生成加密对象

    #import"DataSigner.h"

    //支付宝库

    #import

    /******跳转方法中*******/

    //合作者id

    NSString*parteid =@"合作者id";

    //卖家的支付宝账号

    NSString*seller =@"卖家账号";

    //私钥

    NSString*private =@"私钥";

    //生成订单信息

    Order*order = [[Orderalloc]init];

    if([sellerlength] ==0|| [privatelength] ==0|| [parteidlength] ==0) {

    return;

    }

    //支付的四要素

    order.partner= parteid;

    order.sellerID= seller;

    //3.订单号

    order.outTradeNO=@"123145613";

    //4.金额

    order.totalFee=@"1.00";

    //支付必要参数

    //接口名称,固定为mobile.securitypay.pay。

    order.service=@"mobile.securitypay.pay";

    //编码格式

    //商户网站使用的编码格式,固定为utf-8。

    order.inputCharset=@"utf-8";

    //回调格式

    order.notifyURL=@"www.xxx.com";

    //签名

    //1.将所有商品信息拼接成字符串等待加密

    NSString*orderSpec = order.description;

    //2.使用RSA加密

    idsigner =CreateRSADataSigner(private);

    //加密后的订单信息

    NSString*signerStr = [signersignString:orderSpec];

    //生成一个订单字符串

    NSString*orderStr =nil;

    if(signer) {

    orderStr = [NSStringstringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",

    orderSpec, signerStr,@"RSA"];

    }

    //开始支付

    [[AlipaySDKdefaultService]payOrder:orderStrfromScheme:@"mypay"callback:^(NSDictionary*resultDic) {

    NSLog(@"返回结果==%@",resultDic);

    }];

    6>在appdelegate处理订单回调信息

    - (BOOL)application:(UIApplication*)application

    openURL:(NSURL*)url

    sourceApplication:(NSString*)sourceApplication

    annotation:(id)annotation {

    if([url.hostisEqualToString:@"safepay"]) {

    //跳转支付宝钱包进行支付,处理支付结果

    [[AlipaySDKdefaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary*resultDic) {

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

    }];

    }

    returnYES;

    }

    ```

    ```

    // NOTE: 9.0以后使用新API接口

    - (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary *)options

    {

    if([url.hostisEqualToString:@"safepay"]) {

    //跳转支付宝钱包进行支付,处理支付结果

    [[AlipaySDKdefaultService]processOrderWithPaymentResult:urlstandbyCallback:^(NSDictionary*resultDic) {

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

    }];

    }

    returnYES;

    }

    ```

    10.在 info - ueltype 设置返回标示

    相关文章

      网友评论

          本文标题:支付宝支付

          本文链接:https://www.haomeiwen.com/subject/sbaljttx.html