iOS開發(fā)支付寶支付成功返回字符串的處理操作
更新時間:2017年02月23日 09:38:03 作者:Lea__DongYang
很多朋友在做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; }
如上所示,為支付寶的返回數(shù)據(jù)結果??赡苡械耐瑢W就懵了,這個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=@"網(wǎng)絡連接出錯"; break; default: break; } [HUDTooles showTextHUD:returnStr]; [HUDTooles removeHUD:4]; } }]; }
以上所述是小編給大家介紹的iOS開發(fā)支付寶支付成功返回字符串的處理操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
iOS 11 使用兩種方法替換(Method Swizzling)去掉導航欄返回按鈕的文字
這篇文章主要介紹了iOS 11 使用方法替換(Method Swizzling)去掉導航欄返回按鈕的文字,需要的朋友可以參考下2018-05-05iOS - UIButton(UIEdgeInsets)/設置button上的文字和圖片上下垂直居中對齊
這篇文章主要介紹了iOS - UIButton(UIEdgeInsets)/設置button上的文字和圖片上下垂直居中對齊的相關資料,需要的朋友可以參考下2015-09-09iOS開發(fā)中Quartz2D控制圓形縮放和實現(xiàn)刷幀效果
這篇文章主要介紹了iOS開發(fā)中Quartz2D控制圓形縮放和實現(xiàn)刷幀效果的方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12