iOS支付宝支付主要代码
来源:互联网 发布:浙江大学行知学院 编辑:程序博客网 时间:2024/06/14 10:46
/*
*点击获取prodcut实例并初始化订单信息
*/
Product*product = [[Product alloc] init];
product.subject=@"机票";
product.body=@"乘客机票";
product.price=0.01f;
/*
*商户的唯一的parnter和seller。
*签约后,支付宝会为每个商户分配一个唯一的parnter和seller。
*/
/*=======================需要填写商户app申请的===================================*/
NSString*partner =alipayPartner;
NSString*seller =alipaySeller;
NSString*privateKey =alipayPrivateKey;
//partner和seller获取失败,提示
if([partner length] ==0|| [seller length] ==0)
{
UIAlertView*alert = [[UIAlertView alloc]initWithTitle:@"提示"
message:@"缺少partner或者seller。"
delegate:self
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alertshow];
return;
}
/*
*生成订单信息及签名
*/
//将商品信息赋予AlixPayOrder的成员变量
Order*aliOrder = [[Order alloc] init];
aliOrder.partner= partner;
aliOrder.seller= seller;
aliOrder.tradeNO = [self generateTradeNO];//订单ID(由商家自行制定)
aliOrder.productName= product.subject;//商品标题这个参数是这笔交易的名称,因为这笔交易不一定只买一件商品。它的作用不仅是在收银台里可以清晰的显示出来,而且在支付宝的账户的交易明细的列表里,它也是排在第一列,由此可推测出,它有财务对账、作为交易查询的筛选条件等诸多作用。非常重要
aliOrder.productDescription= product.body;//订单描述
aliOrder.amount= [NSStringstringWithFormat:@"%.2f",product.price];//商品价格
aliOrder.notifyURL=@"http://www.xxx.com";//回调URL
aliOrder.service=@"mobile.securitypay.pay";//服务名称(参数service)
aliOrder.paymentType=@"1";//支付宝类型.1代表商品购买
aliOrder.inputCharset=@"utf-8";//编码类型
aliOrder.itBPay=@"30m";
aliOrder.showUrl=@"m.alipay.com";//展示地址,即在支付宝页面时商品名称旁边的“详情”的链接地址
//应用注册scheme,在-Info.plist定义URL types
NSString*appScheme =@"alipayForSpringAirlines";
//将商品信息拼接成字符串
NSString*orderSpec = [aliOrderdescription];
NSLog(@"orderSpec = %@",orderSpec);
//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode
id signer =CreateRSADataSigner(privateKey);
NSString*signedString = [signersignString:orderSpec];
//将签名成功字符串格式化为订单字符串,请严格按照该格式
NSString*orderString =nil;
if(signedString !=nil) {
orderString = [NSStringstringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
orderSpec, signedString,@"RSA"];
[[AlipaySDKdefaultService]payOrder:orderStringfromScheme:appSchemecallback:^(NSDictionary*resultDic) {
NSLog(@"reslut = %@",resultDic);
}];
}
- (NSString*)generateTradeNO
{ static int kNumber =15;
NSString*sourceStr =@"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSMutableString *resultStr = [[NSMutableString alloc] init];
srand(time(0));
for(inti =0; i < kNumber; i++)
{ unsigned index =rand() % [sourceStr length];
NSString*oneStr = [sourceStr substringWithRange:NSMakeRange(index,1)];
[resultStr appendString:oneStr];
} return resultStr; }
- iOS支付宝支付主要代码
- iOS 支付宝支付主要代码
- iOS 支付宝支付
- ios 支付宝支付
- iOS 支付宝支付
- IOS支付宝支付
- iOS 支付宝支付
- 支付宝支付iOS
- iOS 支付宝支付
- ios 支付宝支付
- iOS支付宝支付
- iOS支付宝支付
- iOS- 支付宝支付
- ios支付宝支付
- iOS 支付宝支付
- 支付宝支付iOS
- iOS 支付宝支付
- iOS 第三方支付 支付宝支付
- 【Jason's_Knowledge】算法竞赛中的快速排序及其应用
- Ubuntu Webapps 及 HTML 5介绍 (英文视频)
- ios8通知
- shell基本命令1
- springMVC中Dispatcher中的/和/*的区别
- iOS支付宝支付主要代码
- iOS8推送消息的快速回复处理
- init_MUTEX
- uva 519 Puzzle (II)(回溯)
- HDU 1176 免费馅饼(基础DP)
- shell基本命令2
- 正规则表达式参考
- java压缩/解压缩zip格式文件
- unity3d Vector4