protected virtual string SetPayHelperBase(Utils.WxPayHelper wxPayHelper) { NameValueCollection postData = LoadPostData(); if (postData == null) { return(string.Empty); } if (string.IsNullOrWhiteSpace(postData["openid"]) || string.IsNullOrWhiteSpace(parameters["transaction_id"]) || string.IsNullOrWhiteSpace(parameters["out_trade_no"])) { return(string.Empty); } System.Collections.Generic.Dictionary <string, string> bizObj = new System.Collections.Generic.Dictionary <string, string>(); bizObj.Add("openid", postData["openid"]); bizObj.Add("transid", parameters["transaction_id"]); bizObj.Add("out_trade_no", parameters["out_trade_no"]); bizObj.Add("deliver_status", "1"); bizObj.Add("deliver_msg", "OK"); //先设置基本信息 wxPayHelper.SetAppId(postData["appid"]); wxPayHelper.SetAppKey(this.key2); wxPayHelper.SetSignType("SHA1"); string tmp = wxPayHelper.CreateDeliverNotifyXml(bizObj); //Core.Globals.WriteText(new System.Text.StringBuilder(tmp)); return(tmp); }
public override void SendRequest() { string action = HttpContext.Current.Request.QueryString["action"]; if (string.IsNullOrWhiteSpace(action)) { action = "show"; //HttpContext.Current.Response.Write("NO ACTION"); //HttpContext.Current.Response.End(); //return; } action = action.ToLower(); Utils.WxPayHelper wxPayHelper = new Utils.WxPayHelper(); //先设置基本信息 wxPayHelper.SetAppId(this.appid); wxPayHelper.SetAppKey(this.key2); wxPayHelper.SetPartnerKey(this.key); wxPayHelper.SetSignType("SHA1"); //设置请求package信息 wxPayHelper.SetParameter("bank_type", bank_type); wxPayHelper.SetParameter("body", body); //商品描述 wxPayHelper.SetParameter("partner", partner); //partner 商户号 wxPayHelper.SetParameter("out_trade_no", out_trade_no); //商家订单号 wxPayHelper.SetParameter("total_fee", total_fee); //商品金额,以分为单位 wxPayHelper.SetParameter("fee_type", fee_type); //币种,1人民币 wxPayHelper.SetParameter("notify_url", notify_url); wxPayHelper.SetParameter("spbill_create_ip", spbill_create_ip); //用户的公网ip,不是商户服务器IP wxPayHelper.SetParameter("input_charset", input_charset); //System.Console.Out.WriteLine("生成app支付package:"); //System.Console.Out.WriteLine(wxPayHelper.CreateAppPackage("test")); //System.Console.Out.WriteLine("生成jsapi支付package:"); //string jsApiPackage = wxPayHelper.CreateBizPackage(); //System.Console.Out.WriteLine(jsApiPackage); //System.Console.Out.WriteLine("生成原生支付url:"); //System.Console.Out.WriteLine(wxPayHelper.CreateNativeUrl("abc")); //System.Console.Out.WriteLine("生成原生支付package:"); //System.Console.Out.WriteLine(wxPayHelper.CreateNativePackage("0", "ok")); //DONE: 输出JS进行网关交互 string result; switch (action) { case "show": Configuration.GatewayProvider provider = Configuration.PayConfiguration.GetConfig().Providers["wechat"] as Configuration.GatewayProvider; if (provider != null) { this.RedirectToGateway(string.Format(CultureInfo.InvariantCulture, HttpContext.Current.Server.HtmlDecode(provider.Attributes["urlFormat"]), this.out_trade_no, this.getGateway.Data)); return; } result = "{\"STATUS\":\"ERROR\",\"DATA\":\"GATEWAY PROVIDER NOT FOND\"}"; break; case "bizpackage": result = "{\"STATUS\":\"SUCCESS\",\"DATA\":" + wxPayHelper.CreateBizPackage() + "}"; break; default: result = "{\"STATUS\":\"ERROR\",\"DATA\":\"NotImplemented\"}"; break; } HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Write(result); }