// GET: api/HSDocking/5 public string GetAsyHSDocking([FromBody] string value) //public string GetAsyHSDocking(string value) { SiteSettings masterSettings = SettingsManager.GetMasterSettings(true); //测试环境key //string key = "2af0376a5dc1695aa1ab889384a8ade9"; //正式环境ky //string key = "1cc79cc2f1b661b2705161e2c72ab9c3"; string key = ""; string retStr = "fail"; if (!string.IsNullOrEmpty(masterSettings.YJFPaySignKey)) { key = masterSettings.YJFPaySignKey; } request = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context yjfResponse = new YJFResponse(); yjfResponse.protocol = request.Request.Form["protocol"]; yjfResponse.orderNo = request.Request.Form["orderNo"]; yjfResponse.service = request.Request.Form["service"]; yjfResponse.success = request.Request.Form["success"]; yjfResponse.notifyTime = request.Request.Form["notifyTime"]; yjfResponse.resultCode = request.Request.Form["resultCode"]; yjfResponse.sign = request.Request.Form["sign"]; yjfResponse.signType = request.Request.Form["signType"]; yjfResponse.partnerId = request.Request.Form["partnerId"]; yjfResponse.resultMessage = request.Request.Form["resultMessage"]; yjfResponse.version = request.Request.Form["version"]; try { yjfResponse.resultInfosAsy = Newtonsoft.Json.JsonConvert.DeserializeObject <List <resultInfosAsy> >(request.Request.Form["resultInfos"]); string resultInfosJson = GetresultInfos(yjfResponse.resultInfosAsy[0]); Logger.WriterLogger("yjfResponse Params: " + string.Format("protocol={0}&orderNo={1}&service={2}&success={3}¬ifyTime={4}&" + "resultCode={5}&sign={6}&signType={7}&partnerId={8}&resultInfosJson={9}&resultMessage={10}&version={11}", yjfResponse.protocol, yjfResponse.orderNo, yjfResponse.service, yjfResponse.success, yjfResponse.notifyTime, yjfResponse.resultCode, yjfResponse.sign, yjfResponse.signType, yjfResponse.partnerId, resultInfosJson, yjfResponse.resultMessage, yjfResponse.version), LoggerType.Info); if (yjfResponse.success.ToUpper() == "TRUE") { if (compareSign(yjfResponse.sign, resultInfosJson, key)) { retStr = "success"; UpdateHSStatus(); } } } catch (Exception ex) { Logger.WriterLogger(ex.ToString(), LoggerType.Error); } return(retStr); }
/// <summary> /// 创建传输字符串 /// </summary> /// <param name="dt"></param> private void CreateString(DataTable dt) { foreach (DataRow dr in dt.Rows) { yjfResponse = new YJFResponse(); Dictionary <string, string> Dictionary = new Dictionary <string, string>(); yjf.voList = GetVosList(dr); yjf.orderNo = Guid.NewGuid().ToString().Substring(0, 32); Dictionary.Add("eshopEntCode", yjf.eshopEntCode); Dictionary.Add("eshopEntName", yjf.eshopEntName); Dictionary.Add("eshopType", "A"); Dictionary.Add("notifyUrl", yjf.notifyUrl); Dictionary.Add("signType", yjf.signType); Dictionary.Add("service", yjf.serviceCode); //Dictionary.Add("returnUrl", yjf.returnUrl); Dictionary.Add("partnerId", yjf.partnerId); Dictionary.Add("orderNo", yjf.orderNo); Dictionary.Add("vosList", "[" + yjf.voList + "]"); string sign = yjfSign(Dictionary, yjf.YJFPaySignKey); Dictionary.Add("sign", sign); string signature = BuildQuery(Dictionary, false); UpdateHSStatus(signature); string str = SendData(yjf.yijifuUrl, signature); ErrorLog.Write("易极付同步记录:" + str); try { //string str = "{\"sign\":\"0db21c652f8302350772d517878672bc\",\"protocol\":\"httpJson\",\"orderNo\":\"0a48d33e-6431-40f8-8f93-da1d06a6\",\"signType\":\"MD5\",\"resultCode\":\"EXECUTE_SUCCESS\",\"service\":\"yhtMultiPaymentBillUpload\",\"partnerId\":\"20140926020000058373\",\"resultMessage\":\"成功\",\"resultInfos\":[{\"message\":\"--该支付单已经上传,请勿重传--\",\"outOrderNo\":\"2015120775845791\",\"paymentBillMoney\":107.40,\"serviceStatus\":\"FAIL\",\"tradeNo\":\"20151221154126347100\"}],\"success\":true,\"version\":\"1.0\"}"; yjfResponse = Newtonsoft.Json.JsonConvert.DeserializeObject <YJFResponse>(str); resultInfo = yjfResponse.resultInfos[0]; UpdateHSStatus(""); } catch (Exception ex) { string message = ""; if (voList.tradeNo.ToString() == "") { message = "tradeNo为空"; } HSCodeHelper.SaveHSDocking(3, voList.outOrderNo, "", "", 3, message, "", voList.payerId, voList.payerName, "0", voList.tradeNo); } } }