/// <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> /// 充值,2 /// </summary> /// <returns></returns> public ActionResult Recharge_Money() { // float money = DNTRequest.GetFormFloat("money", 0); M_Recharge_history rh = new M_Recharge_history(); B_Recharge_history b = new B_Recharge_history(); B_UsrBindCard bu = new B_UsrBindCard(); M_UsrBindCard bm = new M_UsrBindCard(); decimal amt = DNTRequest.GetDecimal("money", 10000.00M); if (amt <= 0) { return(Content(StringAlert.Alert("充值金额必须大于零!"), "text/html")); } rh.membertable_registerid = 0; rh.recharge_amount = amt; rh.recharge_time = DateTime.Now; rh.account_amount = amt; rh.order_No = Utils.Createcode();; rh.recharge_condition = 0; //1表示充值成功 rh.recharge_bank = ""; // 得接口返回; string CmdId = "NetSave"; string MerCustId = Utils.GetMerCustID(); string GateBusiId = "B2C"; string UsrCustId = Utils.GetMerCustID(); //给商户充值 string MerPriv = Utils.Base64Encoder("chuanglitou"); //string MerPriv = "chuanglitou"; string ChkValue = ""; int Recid = b.Add(rh); M_NetSave mn = new M_NetSave(); mn.Version = "10"; mn.CmdId = CmdId; mn.MerCustId = MerCustId; mn.UsrCustId = UsrCustId; mn.OrdId = rh.order_No; mn.OrdDate = rh.recharge_time.ToString("yyyyMMdd"); // mn.GateBusiId = GateBusiId; // mn.OpenBankId = OpenBankId; // mn.DcFlag = DcFlag; mn.TransAmt = rh.recharge_amount.ToString("0.00"); mn.RetUrl = Utils.GetRe_url("admin/Recharge/Su_Enterpriserecharge"); // mn.RetUrl = "http://localhost:17745/admin/Recharge/Su_Enterpriserecharge"; mn.BgRetUrl = Utils.GetRe_url("admin/Thirdparty/Re_Enterpriserecharge"); mn.MerPriv = MerPriv; StringBuilder str = new StringBuilder(); str.Append(" <form id=\"formauto\" name=\"formauto\" action=\"" + Utils.GetChinapnrUrl() + "\" method=\"post\">"); str.Append("<input id=\"Version\" name=\"Version\" type=\"hidden\" value=\"" + mn.Version + "\" />"); str.Append("<input id=\"CmdId\" name=\"CmdId\" type=\"hidden\" value=\"" + mn.CmdId + "\" />"); str.Append("<input id=\"MerCustId\" name=\"MerCustId\" type=\"hidden\" value=\"" + mn.MerCustId + "\" />"); str.Append("<input id=\"UsrCustId\" name=\"UsrCustId\" type=\"hidden\" value=\"" + mn.UsrCustId + "\" />"); str.Append("<input id=\"OrdId\" name=\"OrdId\" type=\"hidden\" value=\"" + mn.OrdId + "\" />"); str.Append("<input id=\"OrdDate\" name=\"OrdDate\" type=\"hidden\" value=\"" + mn.OrdDate + "\" />"); str.Append("<input id=\"TransAmt\" name=\"TransAmt\" type=\"hidden\" value=\"" + mn.TransAmt + "\" />"); str.Append("<input id=\"RetUrl\" name=\"RetUrl\" type=\"hidden\" value=\"" + mn.RetUrl + "\" />"); str.Append("<input id=\"BgRetUrl\" name=\"BgRetUrl\" type=\"hidden\" value=\"" + mn.BgRetUrl + "\" />"); str.Append("<input id=\"MerPriv\" name=\"MerPriv\" type=\"hidden\" value=\"" + mn.MerPriv + "\" />"); StringBuilder chkVal = new StringBuilder(); chkVal.Append(mn.Version); chkVal.Append(mn.CmdId); chkVal.Append(mn.MerCustId); chkVal.Append(mn.UsrCustId); chkVal.Append(mn.OrdId); chkVal.Append(mn.OrdDate); chkVal.Append(mn.TransAmt); chkVal.Append(mn.RetUrl); chkVal.Append(mn.BgRetUrl); chkVal.Append(mn.MerPriv); string chkv = chkVal.ToString(); //私钥文件的位置(这里是放在了站点的根目录下) string merKeyFile = AppDomain.CurrentDomain.BaseDirectory + Utils.GetMerPr(); //需要指定提交字符串的长度 int len = Encoding.UTF8.GetBytes(chkv).Length; StringBuilder sbChkValue = new StringBuilder(256); //加签 int str1 = DllInterop.SignMsg(Utils.GetMerId(), merKeyFile, chkv, len, sbChkValue); // Response.Write((str1.ToString())); // ChkValue = sbChkValue.ToString(); mn.ChkValue = sbChkValue.ToString(); // str.Append("<input id=\"ChkValue\" name=\"ChkValue\" type=\"hidden\" value=\"" + mn.ChkValue + "\" />"); str.Append(" </form>"); str.Append("<script type=\"text/javascript\">document.getElementById('formauto').submit();</script>"); LogInfo.WriteLog("企业充值提交表单:" + str.ToString()); ViewBag.str = str.ToString(); return(View()); }
/// <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)); }