一忽冻、支付寶返回結(jié)果的處理:
- 支付寶支付成功后會返回一個字典,類似于下面的格式(對我們有用的是key值result對應的一串字符串天揖,我們需要拿到里面的值做相應的操作):
{
memo = ""撑柔;
result = "partner=\"2088101568358171\"&seller_id=\"xxx@alipay.com\"&out_trade_no=\"0819145412-6177\"&subject=\"測試\"&body=\"測試測試\"&total_fee=\"0.01\"¬ify_url=\"[http://notify.msp.hk/notify.htm](http://notify.msp.hk/notify.htm)\"&service=\"mobile.securitypay.pay\"&payment_type=\"1\"&_input_charset=\"utf-8\"&it_b_pay=\"30m\"&success=\"true\"&sign_type=\"RSA\"&sign=\"hkFZr+zE9499nuqDNLZEF7W75RFFPsly876QuRSeN8WMaUgcdR00IKy5ZyBJ4eldhoJ/2zghqrD4E2G2mNjs3aE+HCLiBXrPDNdLKCZgSOIqmv46TfPTEqopYfhs+o5fZzXxt34fwdrzN4mX6S13cr3UwmEV4L3Ffir/02RBVtU=\"";
resultStatus ="9000";
}
- 開始解析(轉(zhuǎn)NSString為NSDictionary類型)
NSDictionary *returnDic = [self stringToDictionaryWithString:resultDic[@"result"]];
- (NSDictionary *)stringToDictionaryWithString:(NSString *)string {
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dict = nil;
if (!data) return nil;
dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
if (![dict isKindOfClass:[NSDictionary class]]) return nil;
return dict;
}
成功轉(zhuǎn)化為NSDictionary類型帆吻,就可以隨意使用了普泡。
二播掷、微信支付返回結(jié)果的處理:
- 微信支付的返回結(jié)果就跟支付寶不一樣了,它是一種類xml格式的撼班,類似于下面:
<xml>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<attach><![CDATA[支付測試]]></attach>
<bank_type><![CDATA[CFT]]></bank_type>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[Y]]></is_subscribe>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]></nonce_str>
<openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid>
<out_trade_no><![CDATA[1409811653]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[B552ED6B279343CB493C5DD0D78AB241]]></sign>
<sub_mch_id><![CDATA[10000100]]></sub_mch_id>
<time_end><![CDATA[20140903131540]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
</xml>
- 開始解析(轉(zhuǎn)xml格式為NSDictionary類型)
NSString *orderString = [response objectForKey:@"orderinfo"];
接下來就是對于xml的解析歧匈,解析方法在這里---github地址,它是基于SAX模式的砰嘁,對NSXMLParser的二次封裝件炉,可以參考學習下。