Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            WIDsubject.Text = "支付宝充值";
            WIDbody.Text    = "支付宝充值";

            string AmountString = Request.QueryString["Amount"];
            string UserIdString = Request.QueryString["UserId"];
            string UserName     = Request.QueryString["UserName"];

            TradeNo = Request.QueryString["TradeNo"];
            float.TryParse(AmountString, out Amount);
            if (Amount <= 0)
            {
                return;
            }
            if (!int.TryParse(UserIdString, out UserId))
            {
                return;
            }
            if (!GetTradeNo.CheckRemoveTradeNo(TradeNo))
            {
                return;
            }
            WIDtotal_amount.Text     = Amount.ToString("F2");
            WIDout_trade_no.Text     = TradeNo;// DateTime.Now.Ticks.ToString();
            WIDtotal_amount.ReadOnly = true;
            WIDbody.ReadOnly         = true;
            WIDsubject.ReadOnly      = true;
            WIDout_trade_no.ReadOnly = true;
            BtnAlipay_Click(null, null);

            PayData newAliPayData = new PayData();

            newAliPayData.Amount  = float.Parse(AmountString);
            newAliPayData.UserId  = UserId;
            newAliPayData.TradeNo = WIDout_trade_no.Text.Trim();
            newAliPayData.PayType = PayType.ALI_PAY;
            PayData.Add(newAliPayData.TradeNo, newAliPayData);
        }
Beispiel #2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";

            var payKey       = ConfigurationManager.AppSettings["payKey"];
            var paySecretKey = ConfigurationManager.AppSettings["paySecretKey"];

            string AmountString = context.Request.QueryString["Amount"];
            string UserIdString = context.Request.QueryString["UserId"];
            string TradeNo      = context.Request.QueryString["TradeNo"];
            float  Amount       = 0;

            float.TryParse(AmountString, out Amount);
            if (Amount <= 0)
            {
                return;
            }
            int UserId = 0;

            if (!int.TryParse(UserIdString, out UserId))
            {
                return;
            }
            //检查交易号是否存在
            if (!WebApplication1.GetTradeNo.CheckRemoveTradeNo(TradeNo))
            {
                return;
            }

            var bankPayReq = new BankPayRequest();

            bankPayReq.AddParams("payKey", payKey);
            bankPayReq.AddParams("productName", "load");
            bankPayReq.AddParams("orderNo", TradeNo);
            bankPayReq.AddParams("orderPrice", AmountString);
            bankPayReq.AddParams("payWayCode", "ZITOPAY");
            bankPayReq.AddParams("payTypeCode", "ZITOPAY_185374_BANK_SCAN");
            bankPayReq.AddParams("orderIp", "");
            bankPayReq.AddParams("orderDate", DateTime.Now.ToString("yyyyMMdd"));
            bankPayReq.AddParams("orderTime", DateTime.Now.ToString("yyyyMMddHHmmss"));
            bankPayReq.AddParams("returnUrl", "http://" + context.Request.Url.Authority + "/GameWebApplication/BankPay/BankReturn_Url.aspx");
            bankPayReq.AddParams("notifyUrl", "http://" + context.Request.Url.Authority + "/GameWebApplication/BankPay/BankNotify_Url.ashx");
            bankPayReq.AddParams("orderPeriod", 60);
            bankPayReq.AddParams("remark", "");
            bankPayReq.AddParams("field1", "");
            bankPayReq.AddParams("field2", "");
            bankPayReq.AddParams("field3", "");
            bankPayReq.AddParams("field4", "");
            bankPayReq.AddParams("field5", "");

            var sign = bankPayReq.GetSign(paySecretKey);

            bankPayReq.AddParams("sign", sign);
            var param = bankPayReq.ToParams();

            var url = "http://api.quanyinzf.com:8050/rb-pay-web-gateway/scanPay/initPayIntf?" + param;
            //url = "http://47.75.201.136:9000/proxy.ashx?url=" + HttpUtility.UrlEncode(url);
            var request = System.Net.HttpWebRequest.Create(url);

            request.Method = "GET";
            var    sendresponse     = request.GetResponse();
            string sendresponsetext = "";

            using (var streamReader = new StreamReader(sendresponse.GetResponseStream()))
            {
                sendresponsetext = streamReader.ReadToEnd().Trim();
            }

            var data   = JsonMapper.ToObject(sendresponsetext);
            var result = data["result"].ToString();

            if (result == "success")
            {
                PayData.Add(TradeNo, new PayData()
                {
                    TradeNo    = TradeNo,
                    Amount     = float.Parse(AmountString),
                    CreateDate = DateTime.Now,
                    Status     = 0,
                    PayType    = PayType.BANK_CARD,
                    UserId     = int.Parse(context.Request["UserId"])
                });
                url = data["code_url"].ToString();
                context.Response.Redirect(url);
            }
            else
            {
                var message = data["msg"].ToString();
                var content = string.Format("<script>alert('{0}');</script>", message);
                context.Response.Write(content);
            }
        }