/// <summary> /// 汇付绑卡回调 /// </summary> /// <returns></returns> public ActionResult Bgthirdpartybindbank() { string srt = ""; ReUserBindCard m = new ReUserBindCard(); m.CmdId = DNTRequest.GetString("CmdId"); m.RespCode = DNTRequest.GetString("RespCode"); m.RespDesc = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc")); m.MerCustId = DNTRequest.GetString("MerCustId"); m.OpenAcctId = DNTRequest.GetString("OpenAcctId"); m.OpenBankId = DNTRequest.GetString("OpenBankId"); m.UsrCustId = DNTRequest.GetString("UsrCustId"); m.TrxId = DNTRequest.GetString("TrxId"); m.BgRetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl")); m.MerPriv = HttpUtility.UrlDecode(DNTRequest.GetString("MerPriv")); m.ChkValue = DNTRequest.GetString("ChkValue"); StringBuilder chkVal = new StringBuilder(); chkVal.Append(m.CmdId); chkVal.Append(m.RespCode); chkVal.Append(m.MerCustId); chkVal.Append(m.OpenAcctId); chkVal.Append(m.OpenBankId); chkVal.Append(m.UsrCustId); chkVal.Append(m.TrxId); chkVal.Append(m.BgRetUrl); chkVal.Append(m.MerPriv); string chkv = chkVal.ToString(); string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Utils.GetPgPubk(); int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, m.ChkValue); string log = ""; log += "签名返回结果:" + ret.ToString(); log += "<br>绑卡报文:" + FastJSON.toJOSN(m); LogInfo.WriteLog(log); if (ret == 0) { if (m.RespCode == "000") { LogInfo.WriteLog("进入处理:UsrCustId" + m.UsrCustId); M_UsrBindCard p = new M_UsrBindCard(); B_UsrBindCard o = new B_UsrBindCard(); // p.registerid = 0; p.UsrCustId = m.UsrCustId; p.OpenAcctId = m.OpenAcctId; p.OpenBankId = m.OpenBankId; if (o.Exists(p.UsrCustId)) { p.defCard = 0; } else { p.defCard = 1; } LogInfo.WriteLog("卡状态:" + p.defCard.ToString()); bool df = o.Add(p); LogInfo.WriteLog("绑卡卡数据写入:" + df); string sql = "update hx_member_table set isbankcard=1 where UsrCustId='" + m.UsrCustId + "'"; DbHelperSQL.ExecuteSql(sql); srt = "RECV_ORD_ID_" + m.TrxId; LogInfo.WriteLog("卡绑定操作签名成功" + srt); } else { LogInfo.WriteLog("卡绑定操作签名失败"); } } else { LogInfo.WriteLog("签名失败"); } return(Content(srt)); }
/// <summary> /// 绑卡回调页 /// </summary> /// <returns></returns> public ActionResult BindCardCallback() { ReUserBindCard m = new ReUserBindCard(); m.CmdId = DNTRequest.GetString("CmdId"); m.RespCode = DNTRequest.GetString("RespCode"); m.RespDesc = HttpUtility.UrlDecode(DNTRequest.GetString("RespDesc")); m.MerCustId = DNTRequest.GetString("MerCustId"); m.OpenAcctId = DNTRequest.GetString("OpenAcctId"); m.OpenBankId = DNTRequest.GetString("OpenBankId"); m.UsrCustId = DNTRequest.GetString("UsrCustId"); m.TrxId = DNTRequest.GetString("TrxId"); m.BgRetUrl = HttpUtility.UrlDecode(DNTRequest.GetString("BgRetUrl")); m.MerPriv = HttpUtility.UrlDecode(DNTRequest.GetString("MerPriv")); m.ChkValue = DNTRequest.GetString("ChkValue"); LoggerHelper.Info("消息类型:" + m.CmdId + "<br/>" + "应答返回码:" + m.RespCode + "<br/>" + "应答描述:" + m.RespDesc + "<br/>" + "商户客户号:" + m.MerCustId + "<br/>" + "开户银行账号:" + m.OpenAcctId + "<br/>" + "开户银行代码:" + m.OpenBankId + "<br/>" + "用户客户号:" + m.UsrCustId + "<br/>" + "交易唯一标识:" + m.TrxId + "<br/>" + "后台应答地址:" + m.BgRetUrl + "<br/>" + "私域:" + m.MerPriv + "<br/>" + "签名:" + m.ChkValue); StringBuilder chkVal = new StringBuilder(); chkVal.Append(m.CmdId); chkVal.Append(m.RespCode); chkVal.Append(m.MerCustId); chkVal.Append(m.OpenAcctId); chkVal.Append(m.OpenBankId); chkVal.Append(m.UsrCustId); chkVal.Append(m.TrxId); chkVal.Append(m.BgRetUrl); chkVal.Append(m.MerPriv); string chkv = chkVal.ToString(); string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Settings.Instance.PgPubk; int ret = DllInterop.VeriSignMsg(merKeyFile, chkv, chkv.Length, m.ChkValue); LoggerHelper.Info("签名返回结果:" + ret + "<br/>" + "绑卡报文:" + JsonHelper.Entity2Json(m)); if (ret == 0) { if (m.RespCode == "000") { LoggerHelper.Info("进入处理:UsrCustId" + m.UsrCustId); M_UsrBindCard p = new M_UsrBindCard(); B_UsrBindCard o = new B_UsrBindCard(); p.registerid = 0; p.UsrCustId = m.UsrCustId; p.OpenAcctId = m.OpenAcctId; p.OpenBankId = m.OpenBankId; if (o.Exists(p.UsrCustId)) { p.defCard = 0; } else { p.defCard = 1; } LoggerHelper.Info("卡状态:" + p.defCard); o.Add(p); string sql = "update hx_member_table set isbankcard=1 where UsrCustId='" + m.UsrCustId + "'"; DbHelper.ExecuteSql(sql); var str1 = "RECV_ORD_ID_" + m.TrxId; LoggerHelper.Info("卡绑定操作签名成功" + str1); #region 天天钻渠道判断和完成步骤 B_member_table bm = new B_member_table(); M_member_table mm = bm.GetModel(m.UsrCustId); if (mm != null) { //B_hx_member_ChannelKeys bck = new B_hx_member_ChannelKeys(); //hx_member_ChannelKeys mck = bck.GetModel(mm.registerid); /////天天钻登录用户判断///第一次投资,按照投资金额反馈天天钻 该用户到达 step 值 //if (mck != null && mck.ChannelId == "2" && (mck.ChannelStep == "0" || string.IsNullOrEmpty(mck.ChannelStep))) //{ // string ret4 = Settings.Instance.GetTTzAPI(mck.ChannelRegid, mm.mobile, 1);// // string sqlTTZ = string.Format("UPDATE dbo.hx_member_ChannelKeys SET ChannelStep='1' WHERE Mregisterid={0}", mck.Mregisterid); // DbHelper.ExecuteSql(sqlTTZ); // LoggerHelper.Info("天天钻渠道绑定银行卡返回结果:" + ret4 + " 用户id:" + mck.Mregisterid + ""); //} } #endregion 天天钻渠道判断和完成步骤 } else { LoggerHelper.Info("卡绑定操作签名失败"); } } else { LoggerHelper.Info("签名失败"); } return(View(m)); }