{
memo="";
result="partner="311811"&seller_id="nse@gmail.com"&out_trade_no="S005372"&subject="U522bU5885U8ba2U5355"&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开发支付宝支付成功返回字符串的处理操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对靠谱客网站的支持!
最后
以上就是俏皮衬衫最近收集整理的关于iOS开发支付宝支付成功返回字符串的处理操作的全部内容,更多相关iOS开发支付宝支付成功返回字符串内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复