コード例 #1
0
        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())));
        }
コード例 #2
0
        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())));
        }