Example #1
0
        /// <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));
        }
Example #2
0
        /// <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());
        }
Example #3
0
        /// <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));
        }