首页 > 系统 > iOS > 正文

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

2020-07-26 02:55:33
字体:
来源:转载
供稿:网友

{  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是一个字符串怎么把它分解成字典用那。

我封装了一个方法可以用

/** * 支付宝返回字段解析 * * @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开发支付宝支付成功返回字符串的处理操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表