服务器之家

服务器之家 > 正文

iOS开发支付宝支付成功返回字符串的处理操作

时间:2021-03-07 16:41     来源/作者:Lea__DongYang
?
1
2
3
4
5
{
  memo="";
  result="partner=\"311811\"&seller_id=\"nse@gmail.com\"&out_trade_no=\"S005372\"&subject=\"\U522b\U5885\U8ba2\U5355\"&body=\"\U5885\"&total_fee=\"0.1\"&notify_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是一个字符串怎么把它分解成字典用那。

我封装了一个方法可以用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * 支付宝返回字段解析
 *
 * @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用的时候代码如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-(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开发支付宝支付成功返回字符串的处理操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/lea__dongyang/article/details/56601696

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部