Ejemplo n.º 1
0
        /// <summary>
        /// 判断支付结果
        /// </summary>
        /// <param name="p"></param>
        /// <param name="map"></param>
        /// <returns></returns>
        public static string PayResult(PayParam p, Dictionary <string, string> map)
        {
            if (map == null)
            {
                throw new Exception();
            }
            PasswordBLL pwdBLL = new PasswordBLL();

            if (!map["recode"].Equals("00"))
            {
                if ("55".Equals(map["recode"]))
                {
                    SysBLL.PasswordErrorInfo = "密码错误,请重新输入!";
                    log.Write("密码错误");
                    log.Write("--------------------交易结束--------------------");
                    if (p.icParams == null)
                    {
                        pwdBLL.OpenKeyboard(SysConfigHelper.readerNode("ZT598Port"), "9600", p.WtNo);
                        return("55");
                    }
                    else
                    {
                        pwdBLL.OpenKeyboard(SysConfigHelper.readerNode("ZT598Port"), "9600", p.icParams["cardNo"]);
                        return("55");
                    }
                }
                else if ("51".Equals(map["recode"]))
                {
                    log.Write("余额不足");
                    return("51");
                }
                else
                {
                    log.Write("支付失败:返回码:" + map["recode"]);
                    return(map["recode"]);
                }
            }
            return(null);
        }