예제 #1
0
        public void WxPayNotify1()
        {
            Stream stream = Request.InputStream;

            Com.WxPayAPI2.ResultNotify nativeNatify = new Com.WxPayAPI2.ResultNotify(_rechargeService, stream);

            Com.WxPayAPI2.WxPayData data = null;
            nativeNatify.ProcessNotify(out data);
            if (data != null)
            {
                string xml = data.ToXml();
                if (!string.IsNullOrEmpty(xml))
                {
                    Response.Write(xml);
                }
            }
        }
예제 #2
0
        public ActionResult Index1()
        {
            Com.WxPayAPI2.Log.Info(this.GetType().ToString(), "Native pay mode 2 url is producing...");

            string url = "";

            ErrorMessage errorMessage = ErrorMessage.失败;
            int          payType      = 0;
            string       orderId      = "";
            int          money        = 0;
            int          userType     = 0;

            if (PayContext.VerifyPayOrderInfo(1, out errorMessage, out payType, out orderId, out money, out userType))
            {
                Com.WxPayAPI2.WxPayData data = new Com.WxPayAPI2.WxPayData();
                data.SetValue("body", string.Concat(SiteSection.Html.SiteName, "-", SiteSection.Html.FeeName)); //商品描述
                data.SetValue("attach", "");                                                                    //附加数据
                data.SetValue("out_trade_no", orderId);                                                         //随机字符串
                data.SetValue("total_fee", money);                                                              //总金额
                data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss"));                           //交易起始时间
                data.SetValue("time_expire", DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss"));           //交易结束时间
                data.SetValue("goods_tag", "");                                                                 //商品标记
                data.SetValue("trade_type", "NATIVE");                                                          //交易类型
                data.SetValue("product_id", "1");                                                               //商品ID

                Com.WxPayAPI2.WxPayData result = Com.WxPayAPI2.WxPayApi.UnifiedOrder(data);                     //调用统一下单接口
                if (string.Compare(result.GetValue("return_code").ToString(), "SUCCESS", true) == 0)
                {
                    string code_url = result.GetValue("code_url").ToString();//获得统一下单接口返回的二维码链接

                    Com.WxPayAPI2.Log.Info(this.GetType().ToString(), "Get native pay mode 2 url : " + code_url);

                    if (!string.IsNullOrEmpty(code_url))
                    {
                        url = "/WxPay/MakeQRCode?data=" + HttpUtility.UrlEncode(code_url);
                    }
                }
            }

            ViewData.Model  = url;
            ViewBag.OrderId = orderId;

            return(View());
        }