ios 支付宝支付流程

转载 2015年11月20日 21:07:48


  1. 步骤1:  启动IDE(如Xcode),把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,

    并导入到项目工程中。

AlipaySDK.bundle   					
AlipaySDK.framework


  1. 步骤2:  在需要调用AlipaySDK的文件中,增加头文件引用。#import <AlipaySDK/AlipaySDK.h>


    步骤3: 配置请求信息。

          Order *order = [[Order alloc] init];
           order.partner = partner;//
合作身份者ID,以 2088 开头由 16 位纯数字组成的字符串。请参考“7.1 如何获得PID与 密钥”。
           order.seller = seller;//

支付宝收款账号,手机号码或邮箱格式。

private_key//商户方的私钥,pkcs8 格式

     order.tradeNO = [self generateTradeNO]; //订单ID(由商家□自□行制定)order.productName = product.subject; //商品标题  order.productDescription = product.body; //商品描述

order.amount = [NSString stringWithFormat:@"%.2f",product.price]; //商 品价格

 

order.notifyURL = @"http://www.xxx.com"; //回调URL order.service = @"mobile.securitypay.pay"; order.paymentType = @"1";
order.inputCharset = @"utf-8";

order.itBPay = @"30m";

//应用注册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) {

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

}];


步骤4: 配置支付宝客户端返回url处理方法。
如示例 
AliSDKDemo\APAppDelegate.m 文件中,

@implementation AppDelegate 中增加如下代码:

- (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; }

注意:

  1. 出于安全考虑,请商户尽量把私钥保 存在服务端,在服务端进行签名验签。

  2. 点击项目名称,点击“Info”选项卡,在“URL Types”选项中,点击“+”, 在“URL Schemes”中输入“alisdkdemo”。“alisdkdemo”来自于文件 “APViewController.m”的 NSString *appScheme = @"alisdkdemo";


  1. 步骤1:  启动IDE(如Xcode),把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,

    并导入到项目工程中。

AlipaySDK.bundle   					
AlipaySDK.framework


  1. 步骤2:  在需要调用AlipaySDK的文件中,增加头文件引用。#import <AlipaySDK/AlipaySDK.h>


    步骤3: 配置请求信息。

          Order *order = [[Order alloc] init];
           order.partner = partner;//
合作身份者ID,以 2088 开头由 16 位纯数字组成的字符串。请参考“7.1 如何获得PID与 密钥”。
           order.seller = seller;//

支付宝收款账号,手机号码或邮箱格式。

private_key//商户方的私钥,pkcs8 格式

     order.tradeNO = [self generateTradeNO]; //订单ID(由商家□自□行制定)order.productName = product.subject; //商品标题  order.productDescription = product.body; //商品描述

order.amount = [NSString stringWithFormat:@"%.2f",product.price]; //商 品价格

 

order.notifyURL = @"http://www.xxx.com"; //回调URL order.service = @"mobile.securitypay.pay"; order.paymentType = @"1";
order.inputCharset = @"utf-8";

order.itBPay = @"30m";

//应用注册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) {

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

}];


步骤4: 配置支付宝客户端返回url处理方法。
如示例 
AliSDKDemo\APAppDelegate.m 文件中,

@implementation AppDelegate 中增加如下代码:

- (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; }

注意:

  1. 出于安全考虑,请商户尽量把私钥保 存在服务端,在服务端进行签名验签。

  2. 点击项目名称,点击“Info”选项卡,在“URL Types”选项中,点击“+”, 在“URL Schemes”中输入“alisdkdemo”。“alisdkdemo”来自于文件 “APViewController.m”的 NSString *appScheme = @"alisdkdemo";

相关文章推荐

iOS集成支付宝详细流程

最近需要向项目中集成支付宝,果然如网上各大牛所言,官文蛮坑,特别对我这种小菜鸟来说。。。 废了一天劲儿总算是搞出来了,在此记录下我所遇到的一些坑: 先记录一些用到的资料传送门: 官方demo下载...

iOS开发支付宝集成流程与注意事项

原文链接:http://www.bubuko.com/infodetail-1121251.html 一、什么是支付宝 第三方支付平台 和内购非常相似 内购是用户将钱付款给苹果...

iOS支付宝集成详细流程

iOS支付宝集成详细流程 实现支付宝支付的准备工作: 1.向支付宝签约,成为支付宝的商户 签约完成后,支付宝会提供一些必要的数据给我们 商户ID:partner 账号ID:seller 即支...

iOS支付宝(Alipay)接入详细流程,比微信支付更简单,项目实战中的问题分析

最近在项目中接入了微信支付和支付宝支付,总的来说没有那么坑,很多人都说文档不全什么的,确实没有面面 俱到,但是认真一步一步测试下还是妥妥的,再配合懂得后台,效率也是很高的,看了这篇文章,你也只要几分...

iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析

最近在项目中接入了微信支付和支付宝支付,总的来说没有那么坑,很多人都说文档不全什么的,确实没有面面 俱到,但是认真一步一步测试下还是妥妥的,再配合懂得后台,效率也是很高的,看了这篇文章,你也只要几分钟...

iOS 支付宝支付开发集成流程,这里记载的是签名保存在前台的集成,

1 alipay 要做支付宝支付,对于新手,首先要了解的这个支付的业务逻辑,总体逻辑,下面就是基于支付宝SDK集成的交互流程, 1,公司boss用公司账号,申请支付宝账号,向支付宝签约获得...

iOS集成支付宝支付流程详解

接入前期准备工作接入前期准备工作包括商户签约和密钥配置。开发包集成流程:(这里只是讲述iOS) 将我们下载的sdk压缩包解压,找到客户端demo(PS:sdk下载链接:支付宝SDK下载) 导入代码。 ...

支付宝注销账户操作流程

  • 2016-01-20 15:16
  • 164KB
  • 下载

在iOS9上调用支付宝不回调的问题解决,以及支付宝嵌入的流程梳理

又有一段时间没有经营自己的博客了,这一段有点忙啊! 在最近的一个项目中再一次用到了第三方支付,对,就是支付宝,之前的项目其实已经实现过相应的功能,那是还是在ios8的系统下,这不在iOS9下就遇到了一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)