ios学习真机相关带我飞4

程胖出品——IOS支付宝入门详解

2015-12-18  本文已影响732人  胖子程

一、支付宝设置

<写在前言:如有哪里不对还请多多留言指正>

1.登陆支付宝开放平台,详情见图1

 1

2.创建应用并提交等待审核,详情见图2

 2

3.打开Mac上的终端,使用终端生成公钥和私钥(rsa_public_key.pem & rsa_private_key.pem)。操作命令如下。详情见图3

3.1.打开       OpenSSL

3.2.生成私钥em  genrsa -out rsa_private_key.pem 1024

3.3.生成公钥    rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

3.4.将RSA私钥转换成PKCS8格式   pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

3.5.退出终端    exit##

 3

4.打开公钥,上传公钥,详情见图4

步骤:点击“文档中心”->点击“移动支付”->点击“PID和密钥管理”->点击“上传RSA公钥”->点击“b.alipaty.com”->点击“查询PID、Key”->这时会让你安装证书,输入支付密码->安装成功后点击“上传RSA密钥”

 4.1  4.2  4.3  4.4  4.5 4.6

二、配置工程

1.下载AlipaySDK,并拖入工程中

2.添加SystemConfiguration.framework

 2

3.在Header Search Paths添加AlipaySDK路径

 3

4.在.m文件中

1 导入头文件

#import"AlipaySDK/AlipaySDK.h"

#import"DataSigner.h"

#import"Order.h"

2 添加PID/用户账号/私钥

//PID

#define PartnerID @"2088212441087012"

//用户账号

#define SellerID @"yourqqnumber@qq.com"

//私钥

#define RSAPrivateKey @“私钥"

3 生成订单

//生成点单

Order*order = [[Orderalloc]init];

//合作者身份(PID)

order.partner=PartnerID;

//商家支付宝账号

order.seller=SellerID;

//订单ID

order.tradeNO=@"234";

order.productName=@"商品名称";

order.productDescription=@"商品描述";

//商品价格

order.amount=@"124";

//回调URL

order.notifyURL=@"http://url";

//Bundle ID

order.service=@"com.chenglong.FCLZhiFuBaoDemo";

order.paymentType=@"1";

//编码格式

order.inputCharset=@"utf-8";

//订单超时时间

order.itBPay=@"45m";

//应用注册scheme,在AlixPayDemo-Info.plist定义URL types

NSString*appSchem =@"FCLZhiFuBaoDemo";

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

NSString*orderSpec = [orderdescription];

//使用私钥进行签名

idsigner =CreateRSADataSigner(RSAPrivateKey);

//签名我的订单描述

NSString*sinedString = [signersignString:orderSpec];

NSString*orderString =nil;

if(sinedString !=nil) {

orderString = [NSStringstringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",orderSpec,sinedString,@"RSA"];

[[AlipaySDKdefaultService]payOrder:orderStringfromScheme:appSchemcallback:^(NSDictionary*resultDic) {

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

}];

}

5.在入口类添加回调方法

-(BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation{

//支付后的回调

//当通过别的应用程序,将该应用程序打开时,会调用该方法

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

//当用户通过支付宝客户端进行支付时,会回调该block:standbyCallbac

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

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

}];

}

returnYES;

}

注意:使用支付宝前提是购买的物品必须是和应用无关的。比如衣服、电子产品。游戏中的道具是需要通过内购(苹果)购买。

上一篇下一篇

猜你喜欢

热点阅读