示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="info"></param>
        /// <param name="orderAmt"></param>
        public void Reconcilie(OrderQueryResult info, decimal orderAmt)
        {
            if (info != null)
            {
                if (info.CheckOk)
                {
                    byte    result    = 0;
                    decimal factMoney = 0M;

                    if (info.CheckResult == "Y")
                    {
                        result    = 2;
                        factMoney = decimal.Parse(info.FactMoney);
                        if (orderAmt == factMoney)
                        {
                            result = 1;
                        }
                    }
                    else if (info.CheckResult == "F")
                    {
                        result = 4;
                    }

                    if (result > 0)
                    {
                        //对账
                        BLL.Order.Bank.Factory.Instance.Reconcilie(info.TransID, result, factMoney);
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="responseText"></param>
        /// <returns></returns>
        public OrderQueryResult Analyze(string responseText)
        {
            if (!string.IsNullOrEmpty(responseText))
            {
                string[] arr = responseText.Split('|');

                var result = new OrderQueryResult
                {
                    MerchantID  = arr[0],
                    TransID     = arr[1],
                    CheckResult = arr[2],
                    FactMoney   = arr[3],
                    SuccTime    = arr[4],
                    Md5Sign     = arr[5],
                    CheckOk     = false
                };

                string strMd5Sign =
                    Md5Encrypt(result.MerchantID + result.TransID + result.CheckResult + result.FactMoney +
                               result.SuccTime + SuppKey);

                result.CheckOk = (result.Md5Sign == strMd5Sign);

                return(result);
            }

            return(null);
        }