iOS開發(fā)支付寶支付成功返回字符串的處理操作
{
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;
}
如上所示,為支付寶的返回?cái)?shù)據(jù)結(jié)果??赡苡械耐瑢W(xué)就懵了,這個(gè)result是一個(gè)字符串怎么把它分解成字典用那。
我封裝了一個(gè)方法可以用
/**
* 支付寶返回字段解析
*
* @param AllString 字段
* @param FirstSeparateString 第一個(gè)分離字段的詞
* @param SecondSeparateString 第二個(gè)分離字段的詞
*
* @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用的時(shí)候代碼如下
-(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=@"網(wǎng)絡(luò)連接出錯(cuò)";
break;
default:
break;
}
[HUDTooles showTextHUD:returnStr];
[HUDTooles removeHUD:4];
}
}];
}
以上所述是小編給大家介紹的iOS開發(fā)支付寶支付成功返回字符串的處理操作,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS 11 使用兩種方法替換(Method Swizzling)去掉導(dǎo)航欄返回按鈕的文字
這篇文章主要介紹了iOS 11 使用方法替換(Method Swizzling)去掉導(dǎo)航欄返回按鈕的文字,需要的朋友可以參考下2018-05-05
IOS開發(fā)之適配iOS10及Xcode8的注意點(diǎn)
這篇文章主要介紹了IOS開發(fā)之適配iOS10及Xcode8的注意點(diǎn),本文給大家介紹了可能出現(xiàn)的問題及相應(yīng)的解決方法,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起看看2016-10-10
關(guān)于iOS 11下app圖標(biāo)變空白問題的解決方法
升級(jí)到iOS11系統(tǒng)下自己的項(xiàng)目桌面app圖標(biāo)不見了,通過查找相關(guān)的資料終于找到了解決方法,下面這篇文章主要給大家介紹了關(guān)于iOS 11下app圖標(biāo)變空白問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12
iOS - UIButton(UIEdgeInsets)/設(shè)置button上的文字和圖片上下垂直居中對(duì)齊
這篇文章主要介紹了iOS - UIButton(UIEdgeInsets)/設(shè)置button上的文字和圖片上下垂直居中對(duì)齊的相關(guān)資料,需要的朋友可以參考下2015-09-09
iOS開發(fā)中Quartz2D控制圓形縮放和實(shí)現(xiàn)刷幀效果
這篇文章主要介紹了iOS開發(fā)中Quartz2D控制圓形縮放和實(shí)現(xiàn)刷幀效果的方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12

