Exemple #1
0
        public override BaseResult VerifyCallBack(HttpRequest request)
        {
            var result = new YeepayResult();
            //var coll = (string.IsNullOrEmpty(request.Form["r6_Order"]) ? request.QueryString : request.Form);
            var list = Decode(request);
            result.TradeNum = list["r6_Order"];
            result.Amount = Convert.ToDecimal(list["r3_Amt"]);
            result.NeedResponse = (list["r9_BType"] == "2");
            result.Code = list["r1_Code"];

            result.PayDate = Utils.StrToDate(list["rp_PayDate"], DateTime.Now);
            result.TrxId = list["r2_TrxId"];
            if (result.Code != "1")
            {
                result.State = false;
                result.ErrMsg = "支付状态失败!";
                return result;
            }
            var qs = new[]
                         {
                             "p1_MerId", "r0_Cmd", "r1_Code", "r2_TrxId", "r3_Amt", "r4_Cur", "r5_Pid", "r6_Order",
                             "r7_Uid", "r8_MP", "r9_BType"
                         };
            var nhmac = qs.Aggregate("", (current, t) => current + list[t]);
            var ourSign = Digest.HmacSign(nhmac, Configs.GetKey());
            var sign = list["hmac"];
            if (sign != ourSign)
            {
                result.State = false;
                result.ErrMsg = string.Format("签名验证失败--{0}|{1}", sign, ourSign);
            }
            else
                result.State = true;
            return result;
        }
Exemple #2
0
        public override BaseResult VerifyCallBack(HttpRequest request)
        {
            var result = new YeepayResult();
            //var coll = (string.IsNullOrEmpty(request.Form["r6_Order"]) ? request.QueryString : request.Form);
            var list = Decode(request);

            result.TradeNum     = list["r6_Order"];
            result.Amount       = Convert.ToDecimal(list["r3_Amt"]);
            result.NeedResponse = (list["r9_BType"] == "2");
            result.Code         = list["r1_Code"];

            result.PayDate = Utils.StrToDate(list["rp_PayDate"], DateTime.Now);
            result.TrxId   = list["r2_TrxId"];
            if (result.Code != "1")
            {
                result.State  = false;
                result.ErrMsg = "支付状态失败!";
                return(result);
            }
            var qs = new[]
            {
                "p1_MerId", "r0_Cmd", "r1_Code", "r2_TrxId", "r3_Amt", "r4_Cur", "r5_Pid", "r6_Order",
                "r7_Uid", "r8_MP", "r9_BType"
            };
            var nhmac   = qs.Aggregate("", (current, t) => current + list[t]);
            var ourSign = Digest.HmacSign(nhmac, Configs.GetKey());
            var sign    = list["hmac"];

            if (sign != ourSign)
            {
                result.State  = false;
                result.ErrMsg = string.Format("签名验证失败--{0}|{1}", sign, ourSign);
            }
            else
            {
                result.State = true;
            }
            return(result);
        }