public void GetBankBin() { ResultModel result = new ResultModel(); Dictionary <String, String> bankPath = new Dictionary <String, String>(); bankPath.Add("01020000", "3"); // 中国工商银行 bankPath.Add("01030000", "5"); // 中国农业银行 bankPath.Add("01040000", "2"); // 中国银行 bankPath.Add("01050000", "4"); // 中国建设银行 bankPath.Add("03100000", "7"); // 浦发银行 bankPath.Add("01000000", "16"); // 中国邮政银行 //bankPath.Add("03040000", "16"); // 华夏银行 bankPath.Add("03050000", "8"); // 民生银行 bankPath.Add("03060000", "14"); // 广东发展银行 bankPath.Add("03070000", "15"); // 平安银行 bankPath.Add("03030000", "10"); // 光大银行 bankPath.Add("03080000", "1"); // 招商银行 bankPath.Add("03090000", "9"); // 兴业银行 bankPath.Add("03020000", "13"); // 中信银行 bankPath.Add("03010000", "6"); // 交通银行 bankPath.Add("04031000", "12"); // 北京银行 string strCardNo = Context.Request["CardNo"]; Guid userId = WebUserAuth.UserId.Value; if (string.IsNullOrEmpty(strCardNo)) { result.status = 2; result.msg = "卡号不能为空"; } SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); //var id = Guid.Parse("E27798C9-9301-4176-AC0B-6F3916F389EA"); //var webSetting = db.WebSetting.FirstOrDefault(x => x.Id == id); var webSetting = new WebSettingBLL().GetWebSettingInfo("E27798C9-9301-4176-AC0B-6F3916F389EA"); var partnerConfig = new PartnerConfig(webSetting.Param1Value, webSetting.Param2Value, webSetting.Param3Value, webSetting.Param4Value); string timestamp = PaymentUtil.GetCurrentDateTimeStr(); //基本请求参数 sParaTemp.Add("oid_partner", partnerConfig.OidPartner); sParaTemp.Add("sign_type", "RSA"); //业务参数 sParaTemp.Add("card_no", strCardNo); //卡号 //加签 string sign = PaymentUtil.AddSign(sParaTemp, partnerConfig.TraderPriKey, partnerConfig.MD5Key); sParaTemp.Add("sign", sign); var reqJson = PaymentUtil.DictToJson(sParaTemp); //LogEnum.Batchwithdraw.WriteLog("连连银行卡卡BIN查询-请求报文", "[" + reqJson + "]"); string responseJSON = postJson("https://yintong.com.cn/traderapi/bankcardquery.htm", reqJson); //LogEnum.Batchwithdraw.WriteLog("连连银行卡卡BIN查询-响应报文", "[" + responseJSON + "]"); SortedDictionary <string, string> sArray = JsonConvert.DeserializeObject <SortedDictionary <string, string> >(responseJSON); if (sArray.Count > 0) { //查询成功 if (sArray["ret_code"].ToString().Trim() == "0000") { string strBankCode = sArray["bank_code"].ToString().Trim(); string strBandPath; if (!bankPath.ContainsKey(strBankCode)) { strBandPath = "9999"; } else { strBandPath = bankPath[strBankCode]; } BankBin bankBin = new BankBin(); bankBin.card_no = strCardNo; bankBin.bank_code = strBandPath; bankBin.bank_name = sArray["bank_name"].ToString().Trim(); bankBin.card_type = sArray["card_type"].ToString().Trim(); bankBin.card_bound = BankNoExists(strCardNo, userId) ? "true" : "false"; result.status = 1; result.msg = "查询成功"; result.model = bankBin; } else { result.status = 0; result.msg = "查询信息失败,连连返回错误号:" + sArray["ret_code"].ToString().Trim() + ",错误信息:" + sArray["ret_msg"].ToString().Trim(); } } else { result.status = -1; result.msg = "未查询到信息"; } var sbq = GetSupportBank(); if (sbq == null) { result.status = -2; result.msg = "手机支付不支持该卡"; } IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss"; string resultJson = Newtonsoft.Json.JsonConvert.SerializeObject(result, timeConverter); Context.Response.Write(resultJson); }
protected SortedDictionary <string, string> getBaseParamDict() { if (WebUserAuth.UserId != Guid.Empty) { userid = WebUserAuth.UserId.Value; } else { Response.Redirect("~/user/login.aspx"); return(null); } /**订单信息**/ // 商户唯一订单号 string no_order = "" + Request.QueryString["orderno"]; // 商户订单时间 string dt_order = PaymentUtil.GetCurrentDateTimeStr(); AccountRechareInfo rechargemodel = getAccountRechare(no_order); if (rechargemodel == null) { return(null); } // 交易金额 单位为RMB-元 string money_order = rechargemodel.Amount.ToString("f2"); // 商品名称 string name_goods = "Online Recharge"; // 订单描述 string info_order = "Online Recharge"; //var userInfo = db.UserBasicInfo.FirstOrDefault(x => x.AuditRecordId == userid); //if (null == userInfo) //{ //} SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>(); try { UserBLL bll = new UserBLL(); userInfo = bll.GetUserBasicInfoModelById(userid); //从UserBasicInfo表获取银行卡号 if (string.IsNullOrEmpty(userInfo.BankAccountNo)) { string sql = @"SELECT BankAccountNo as BankNo FROM UserBasicInfo WITH(NOLOCK) WHERE Id = @UserId "; DynamicParameters para = new DynamicParameters(); para.Add("@UserId", userid); userInfo.BankAccountNo = PublicConn.QuerySingle <string>(sql, ref para); } /** 商户提交参数**/ string version = partnerConfig.Version; //接口版本号 string oid_partner = partnerConfig.OidPartner; //商户编号 user_id = userid.ToString(); //用户ID string sign_type = partnerConfig.SignType; //签名类型:RSA/MD5 string busi_partner = partnerConfig.BusiPartner; //业务类型 虚拟商品销售 // string notify_url = ConfigurationManager.AppSettings["WebUrl"] + "/PaymentPlatform/lianlian/notify_url.aspx";//接收异步通知地 string notify_url = "https://www.tuandai.com/PaymentPlatform/lianlian/notify_url.aspx"; string url_return = ConfigurationManager.AppSettings["WebUrl"] + "/PaymentPlatform/lianlian/urlReturn.aspx"; //支付结束后返回地址 string userreq_ip = PaymentUtil.LocalIPAddress(); //IP * //string url_order = ""; string valid_order = "10080"; // 订单有效期 单位分钟,可以为空,默认7天 string timestamp = PaymentUtil.GetCurrentDateTimeStr(); //时间戳 //string idType = "0"; //证件类型 string idNo = userInfo.IdentityCard; //"623026199206016992"; acctName = userInfo.RealName; //"彭思微"; telno = userInfo.TelNo; sParaTemp.Add("app_request", "3"); sParaTemp.Add("bg_color", "d93f3f"); sParaTemp.Add("busi_partner", busi_partner); sParaTemp.Add("card_no", userInfo.BankAccountNo); sParaTemp.Add("dt_order", dt_order); sParaTemp.Add("id_no", idNo); sParaTemp.Add("info_order", info_order); sParaTemp.Add("money_order", money_order); sParaTemp.Add("name_goods", name_goods); //sParaTemp.Add("no_agree", ""); sParaTemp.Add("no_order", no_order); sParaTemp.Add("notify_url", notify_url); sParaTemp.Add("oid_partner", oid_partner); sParaTemp.Add("acct_name", acctName); sParaTemp.Add("risk_item", createRiskItem(userid, acctName, idNo, userInfo.TelNo, userInfo.AddDate.Value.ToString("yyyyMMddHHmmss"))); // sParaTemp.Add("risk_item", createRiskItemOld(user_id, acctName)); sParaTemp.Add("sign_type", sign_type); sParaTemp.Add("url_return", url_return); sParaTemp.Add("user_id", telno); sParaTemp.Add("valid_order", valid_order); NetLog.WriteBatchwithdrawHandler("连连充值请求", string.Concat("签名方式", sign_type, "订单号:", no_order, ",用户编号:", user_id, "充值金额", money_order, "IP地址", userreq_ip), "触屏版"); //LogHelper.WriteLog("连连充值请求", "", string.Concat("签名方式", sign_type, "订单号:", no_order, ",用户编号:", user_id, "充值金额", money_order, "IP地址", userreq_ip)); } catch (Exception ex) { string errormessage = "内部错误:" + ex.InnerException + "\r\n堆栈:" + ex.StackTrace + "\r\n信息:" + ex.Message + "\r\n来源:" + ex.Source; //LogTextHelper.Instance.AddLog(errormessage); TuanDai.LogSystem.LogClient.LogClients.ErrorLog("WXTouch", "连连充值请求", "", errormessage); } return(sParaTemp); }