Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!string.Equals(Request.HttpMethod, "POST", StringComparison.CurrentCultureIgnoreCase))
                {
                    throw new Exception("Error HttpMethod");
                }

                var outMessage = string.Empty;
                var s          = Request.InputStream;
                var count      = 0;
                var buffer     = new byte[1024];
                var builder    = new StringBuilder();
                while ((count = s.Read(buffer, 0, 1024)) > 0)
                {
                    builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
                }
                s.Flush();
                s.Close();
                s.Dispose();

                WriteLog(builder.ToString());

                var paymentNotify = new PaymentNotify(builder.ToString());

                bool isSucceed = false;
                //检测订单有效性
                var response = paymentNotify.Report(out isSucceed);
                if (isSucceed)
                {
                    WriteLog("report Success");
                    //后台反馈微信信息
                    var payModuleId = 0;
                    if (int.TryParse(paymentNotify.attach, out payModuleId))
                    {
                        var message = string.Empty;
                        if (PayNotifyManager.PayNotify((PayModuleEnum)payModuleId, paymentNotify, out message))
                        {
                            outMessage = PaymentNotify.ReportSuccess();
                        }
                        else
                        {
                            outMessage = PaymentNotify.ReportError(message);
                        }
                    }
                    else
                    {
                        outMessage = PaymentNotify.ReportError("异常业务支付ID");
                    }
                }

                ReturnResponse(outMessage);
            }
            catch (Exception exception)
            {
                var errorResponse = PaymentNotify.ReportError(exception.Message);
                ReturnResponse(errorResponse);
            }
        }
Exemple #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!string.Equals(Request.HttpMethod, "POST", StringComparison.CurrentCultureIgnoreCase))
                {
                    throw new Exception("Error HttpMethod");
                }

                var s       = Request.InputStream;
                var count   = 0;
                var buffer  = new byte[1024];
                var builder = new StringBuilder();
                while ((count = s.Read(buffer, 0, 1024)) > 0)
                {
                    builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
                }
                s.Flush();
                s.Close();
                s.Dispose();

                WriteLog(builder.ToString());

                var paymentNotify = new PaymentNotify(builder.ToString());

                bool isSucceed = false;
                var  response  = paymentNotify.Report(out isSucceed);
                if (isSucceed)
                {
                    WriteLog("report Success");
                    //后台反馈微信信息
                    var wxPay = new WXPaymentOperate();
                    wxPay.GetPaymentCompleteInfomation(paymentNotify);
                }

                ReturnResponse(response);
            }
            catch (Exception exception)
            {
                var errorResponse = PaymentNotify.ReportError(exception.Message);
                ReturnResponse(errorResponse);
            }
        }