asp.net 参数按照字段名的ascii码从小到大排序
在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。如下:
public static void requestPay()
{
Dictionary<string, string> dics = new Dictionary<string, string>();
dics.Add("body", body);
dics.Add("mch_create_ip", mch_create_ip);
dics.Add("mch_id", mch_id);
dics.Add("nonce_str", nonce_str);
dics.Add("notify_url", notify_url);
dics.Add("ordno", ordno);
dics.Add("out_trade_no", out_trade_no);
dics.Add("service", service);
dics.Add("total_fee", total_fee);
getParamSrc(dics);
}
public static String getParamSrc(Dictionary<string, string> paramsMap)
{
var vDic = (from objDic in paramsMap orderby objDic.Key ascending select objDic);
StringBuilder str = new StringBuilder();
foreach (KeyValuePair<string, string> kv in vDic)
{
string pkey = kv.Key;
string pvalue = kv.Value;
str.Append(pkey + "=" + pvalue + "&");
}
String result = str.ToString().Substring(0, str.ToString().Length - 1);
return result;
}

浙公网安备 33010602011771号