public ActionResult Pay(string productCode, string productName, string productDesc, float price, int num, int paytype /*1-支付宝,2-微信,3-银联*/) { string orderno = wxPayService.generate_orderno(1, 1); #region 保存订单记录,以便接收支付成功消息时更新订单的状态 /// insert 到order表 //orders o = new orders(); //o.orderno = generate_orderno(1, 1); //o.product_code = cpcode; //o.product_name = cpname; //o.product_desc = cpdesc; //o.price = price; //o.num = num; //switch (paytype) //{ // case 1: // o.paytype = "支付宝"; // break; // case 2: // o.paytype = "微信支付"; // break; // case 3: // o.paytype = "银联支付"; // break; //} //o.sumittime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //o.Insert(); #endregion float f = price * 100.0F * num; int total_fee = (int)f; ////LogService.LOG_LEVENL = 3; ////LogService.Debug(this.GetType().ToString(), "total_fee=" + f); switch (paytype) { case 1: //支付宝 //Response.Redirect(Url.Action("Index", "aliPay") + "?productCode=" + cpcode + "&productName=" + cpname + "&productDesc=" + cpdesc + "&orderno=" + o.orderno + "&total_fee=" + total_fee); break; case 2: // 微信支付 // Response.Redirect(Url.Action("Index", "Weixin") + "?productCode=" + cpcode + "&productName=" + cpname + "&productDesc=" + cpdesc + "&orderno=" + orderno + "&total_fee=" + total_fee); NativePay nativePay = new NativePay(); //生成扫码支付模式二url string url = StringService.ToHexString(nativePay.GetPayUrl(productCode, productName, productDesc, orderno, total_fee)); Response.Redirect(Url.Action("ScanQRCodeImage", "Home") + "?url=" + HttpUtility.UrlEncode(url) + "&orderno=" + orderno); break; case 3: // 银联 //Response.Redirect(Url.Action("Index", "Bank") + "?productCode=" + cpcode + "&productName=" + cpname + "&productDesc=" + cpdesc + "&orderno=" + o.orderno + "&total_fee=" + total_fee); break; } return(Content("")); }