コード例 #1
0
        // 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}&notifyTime={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);
        }
コード例 #2
0
        /// <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);
                }
            }
        }