支付宝支付

作者: 芝麻绿豆 | 来源:发表于2015-12-27 16:21 被阅读2190次

支付宝集成的介绍

第三方支付平台,支付宝是用户将钱付款给支付宝,之后支付宝将钱转入我们自己的账户。

集成支付宝的步骤

  • 向支付宝申请, 与支付宝签约,获得商户ID(partner)和账号ID(seller)和私钥(privateKey)

  • 下载支付宝SDK

  • 生成订单信息,签名加密

  • 调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道

  • 支付完毕后,支付宝客户端会自动跳回到原来的应用程序

  • 在原来的应用程序中显示支付结果给用户看

集成的流程图(官方)

下载SDK

官网地址:https://www.alipay.com

根据dome配置开发环境:(微信提供了一个公共的测试账号,支付宝没有)


支付完成之后跳转的APP

集成流程

  • 项目中展示对应的商品内容

  • 当用户点击购买时,通过支付宝购买商品

  • 购买流程

    • 根据对应的商品,生成订单
    • 对订单进行签名加密
    • 调用支付宝客户端进行支付
  • 支付成功或者失败时回调

    • 通过网页支付,则直接在block中直接拿到支付结果
    • 通过支付宝客户端支付,则在appdelegate的代理方法中拿到支付结果
  • 主要代码

    // 1.获取签约之后的三个数据
    NSString *partner = @"";
    NSString *seller = @"";
    NSString *privateKey = @"";
    
    // 2.生成订单和签名
    Order *order = [[Order alloc] init];
    order.partner = partner;
    order.seller = seller;
    order.tradeNO = nil; //订单ID(由商家自行制定)
    order.productName = product.name; //商品标题
    order.productDescription = product.detail; //商品描述
    order.amount = [NSString stringWithFormat:@"%.2f",product.price]; //商品价格
    
    // 服务器的回调地址
    order.notifyURL =  @"http://www.xxx.com"; // 用户支付成功后,支付宝服务器会同步通知我们的服务器.我们服务器需要有一个可以回调的地址
    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 = @"alipay";
    
    //将商品信息拼接成字符串
    NSString *orderSpec = [order description];
    
    //获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode
    id<DataSigner> signer = CreateRSADataSigner(privateKey);
    NSString *signedString = [signer signString:orderSpec];
    
    //将签名成功字符串格式化为订单字符串,请严格按照该格式
    NSString *orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
                       orderSpec, signedString, @"RSA"];
    
    // 跳转到支付宝进行支付
    [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
        NSLog(@"reslut = %@",resultDic);
    }];
  • 在AppDelegate配置处理返回的支付结果
  -(BOOL)application:(UIApplication *)application  openURL:(NSURL *)url  sourceApplication:(NSString *)sourceApplication  annotation:(id)annotation {
    
    //跳转支付宝钱包进行支付,处理支付结果
    [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
        NSLog(@"result = %@",resultDic);
    }];
    
    return YES;
}

相关文章

  • Android支付宝支付集成

    Android支付宝支付 标签: android Android支付宝支付使用的流程介绍 支付宝流程介绍 支付宝流...

  • ## [iOS 支付宝支付]

    [iOS开发系列-支付宝支付] 概述 开发中支付通常都会集成支付宝支付,下面讲解支付宝的整体流程。 集成支付宝支付...

  • 三方支付流程总结

    支付宝支付和微信支付 支付宝支付流程图: 支付宝支付: 当我们选择点击了支付宝支付按钮开始 1.app选择商品进行...

  • iOS支付

    支付宝支付 支付宝支付支付宝补充 微信支付 微信支付 内购 iOS开发 内购流程

  • 奖品合集

    支付宝44.44x12 支付宝200x1 支付宝121x1 支付宝111x1 支付宝100x1 支付宝88x1 支...

  • 对接支付宝支付接口开发笔记

    支付宝对接学习笔记: 功能介绍: 支付宝对接 支付宝回调 查询支付状态(略过不讲) 要求: 熟悉支付宝对接核心文档...

  • iOS集成支付宝支付

    一、支付宝支付,首先利用CocoaPods,导入支付宝SDK 二、 创建支付宝支付管理类 AlipayManag...

  • 历害word哥,支付宝AR红包风靡朋友圈

    支付宝又来搞事情,2016年12月22日,支付宝又出新玩法:支付宝AR红包! 支付宝用户可以利用支付宝的红包功能:...

  • iOS支付宝功能集成

    iOS快速集成支付宝详解/支付宝集成获取私钥与公钥 在集成支付宝功能前,我们必须了解下什么支付宝流程,下图是支付宝...

  • iOS第三方支付(支付宝、微信)

    这里会详细讲解支付宝和微信支付 一、支付宝支付 1.准备工作 1> 向支付宝”签约" 成为支付宝的”商户”, 签约...

网友评论

本文标题:支付宝支付

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