public string WxAppPay(WxOrderPay pay) { this.config = pay; string noncestr = Sha1Util.GetNonceStr(); SortedList <String, String> postParams = new SortedList <String, String>(); postParams.Add("appid", pay.AppId); postParams.Add("mch_id", pay.PartnerKey); postParams.Add("nonce_str", noncestr); postParams.Add("body", pay.body); postParams.Add("out_trade_no", pay.orderNo); postParams.Add("total_fee", (double.Parse(pay.tradeAmount) * 100).ToString());//元转分 postParams.Add("spbill_create_ip", System.Web.HttpContext.Current.Request.UserHostAddress); postParams.Add("notify_url", pay.notifyUrl); postParams.Add("trade_type", "JSAPI");//APP postParams.Add("openid", pay.openId); string sign = this.CreateSign(postParams); postParams.Add("sign", sign); string prepayid = this.Unifiedorder(postParams); SortedList <String, String> outParams = new SortedList <String, String>(); outParams.Add("appId", config.AppId); outParams.Add("timeStamp", Sha1Util.GetTimeStamp(DateTime.Now)); outParams.Add("nonceStr", noncestr); //outParams.Add("partnerid", config.PartnerKey); outParams.Add("package", $"prepay_id={prepayid}"); //outParams.Add("prepayid", prepayid); outParams.Add("signType", "MD5"); //生成签名 sign = this.CreateSign(outParams); outParams.Add("sign", sign); outParams.Add("retcode", "0"); outParams.Add("retmsg", "成功"); string result = Newtonsoft.Json.JsonConvert.SerializeObject(outParams); return(result); }
public WeiXinPayClient() { this.config = new WeiXinPayConfig(); }
public WeiXinPayClient(WeiXinPayConfig config) { this.config = config; }