这篇文章主要介绍了iOS开发支付宝支付成功返回字符串如何处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
{
memo="";
result="partner=\"311811\"&seller_id=\"nse@gmail.com\"&out_trade_no=\"S005372\"&subject=\"\U522b\U5885\U8ba2\U5355\"&body=\"\U5885\"&total_fee=\"0.1\"¬ify_url=\"http://baidu.com\"&service=\"mobile.secy.pay\"&payment_type=\"1\"&_input_charset=\"UTF-8\"&it_b_pay=\"30m\"&success=\"true\"&sign_type=\"RSA\"&sign=\"dMiqkRZvnpTnJp9zbwGNAL3Bu43RMocNwOAsRYFnueZX8Uwy81zXHLg=\"";
resultStatus=9000;
}
如上所示,为支付宝的返回数据结果。可能有的同学就懵了,这个result是一个字符串怎么把它分解成字典用那。
我封装了一个方法可以用
/**
* 支付宝返回字段解析
*
* @param AllString 字段
* @param FirstSeparateString 第一个分离字段的词
* @param SecondSeparateString 第二个分离字段的词
*
* @return 返回字典
*/
+(NSDictionary *)VEComponentsStringToDic:(NSString*)AllString withSeparateString:(NSString *)FirstSeparateString AndSeparateString:(NSString *)SecondSeparateString;
+(NSMutableDictionary *)VEComponentsStringToDic:(NSString*)AllString withSeparateString:(NSString *)FirstSeparateString AndSeparateString:(NSString*)SecondSeparateString{
NSMutableDictionary *dic=[NSMutableDictionary dictionary];
NSArray *FirstArr=[AllString componentsSeparatedByString:FirstSeparateString];
for (int i=0; i<FirstArr.count; i++) {
NSString *Firststr=FirstArr[i];
NSArray *SecondArr=[Firststr componentsSeparatedByString:SecondSeparateString];
[dic setObject:SecondArr[1] forKey:SecondArr[0]];
}
return dic;
}
在AppDelegate用的时候代码如下
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSInteger orderState=[resultDic[@"resultStatus"]integerValue];
if (orderState==9000) {
NSString *allString=resultDic[@"result"];
NSString * FirstSeparateString=@"\"&";
NSString * SecondSeparateString=@"=\"";
NSMutableDictionary *dic=[CommonToolsVEComponentsStringToDic:allString withSeparateString:FirstSeparateString AndSeparateString:SecondSeparateString];
NSLog(@"ali=%@",dic);
if ([dic[@"success"]isEqualToString:@"true"]) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"AliPaySucceed" object:nil userInfo:dic];
}
}else{
NSString *returnStr;
switch (orderState) {
case 8000:
returnStr=@"订单正在处理中";
break;
case 4000:
returnStr=@"订单支付失败";
break;
case 6001:
returnStr=@"订单取消";
break;
case 6002:
returnStr=@"网络连接出错";
break;
default:
break;
}
[HUDTooles showTextHUD:returnStr];
[HUDTooles removeHUD:4];
}
}];
}
感谢你能够认真阅读完这篇文章,希望小编分享的“iOS开发支付宝支付成功返回字符串如何处理”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。