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; }
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); }