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

2025-05-29 0 54
?

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 iOS开发支付宝支付成功返回字符串的处理操作 https://www.kuaiidc.com/90664.html

相关文章

发表评论
暂无评论