Esempio n. 1
0
        public override Task <NotifyReturn> Notify(HttpRequest request)
        {
            NotifyReturn notifyReturn = new NotifyReturn();
            var          body         = request.Body;
            string       content      = string.Empty;

            using (StreamReader dRead = new StreamReader(body, Encoding.UTF8))
            {
                content = dRead.ReadToEnd();
            }
            hyNotify j           = JsonConvert.DeserializeObject <hyNotify>(content);
            string   P_UserId    = j.P_UserId;
            string   P_OrderId   = j.P_OrderId;
            string   P_FaceValue = j.P_FaceValue;
            string   P_Notic     = j.P_Notic;
            string   P_Return    = j.P_Return;
            string   P_ErrCode   = j.P_ErrCode;
            string   P_SuccTime  = j.P_SuccTime;
            string   P_PostKey   = j.P_PostKey;

            string signstr = string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}", P_UserId, P_OrderId, P_FaceValue, P_Notic, P_Return, P_ErrCode, P_SuccTime, this.MchKey2);

            string _sign = PayHelper.MD5Hash2(signstr);

            if (P_Return == "1" && _sign.ToLower() == P_PostKey.ToLower())
            {
                notifyReturn.MchID   = this.MchID;
                notifyReturn.IsCheck = true;
            }
            else
            {
                notifyReturn.MchID   = this.MchID;
                notifyReturn.IsCheck = false;
            }
            return(new Task <NotifyReturn>(() => notifyReturn));
        }