public string getJsParamater(PrePayResult result) { Dictionary <string, string> preJsParameters = new Dictionary <string, string>(); preJsParameters.Add("appId", result.appid); preJsParameters.Add("timeStamp", ((long)((DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds)).ToString()); preJsParameters.Add("nonceStr", Guid.NewGuid().ToString("N")); preJsParameters.Add("package", string.Format("prepay_id={0}", result.prepay_id));//这里的package就是prepay_id的值 preJsParameters.Add("signType", "MD5"); KeyValuePair <string, string>[] sortParameters = preJsParameters.OrderBy(item => item.Key).ToArray(); List <string> paramater = new List <string>(); foreach (KeyValuePair <string, string> item in sortParameters) { paramater.Add(string.Format("\"{0}\":\"{1}\"", item.Key, item.Value)); } paramater.Add(string.Format("\"paySign\":\"{0}\"", this.getSign(preJsParameters, this.channel.signKey)));//根据商户的signKey获取支付时的paySign return(string.Format("{{{0}}}", string.Join(",", paramater.ToArray()))); }
public string getAppParamater(PrePayResult result) { Dictionary <string, string> preJsParameters = new Dictionary <string, string>(); preJsParameters.Add("appid", result.appid); preJsParameters.Add("partnerid", this.channel.mch_id); //商户号 preJsParameters.Add("prepayid", result.prepay_id); //另外定义了一个prepayid preJsParameters.Add("package", "Sign=WXPay"); //这里的package是固定的 preJsParameters.Add("noncestr", Guid.NewGuid().ToString("N")); preJsParameters.Add("timestamp", ((long)((DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds)).ToString()); // preJsParameters.Add("signType", "MD5"); KeyValuePair <string, string>[] sortParameters = preJsParameters.OrderBy(item => item.Key).ToArray();//排序 List <string> paramater = new List <string>(); foreach (KeyValuePair <string, string> item in sortParameters) { paramater.Add(string.Format("\"{0}\":\"{1}\"", item.Key, item.Value)); } paramater.Add(string.Format("\"sign\":\"{0}\"", this.getSign(preJsParameters, this.channel.signKey)));//在加上sign,注意这里的sign名字和js支付的不一样 return(string.Format("{{{0}}}", string.Join(",", paramater.ToArray()))); }