Ejemplo n.º 1
0
        /// <summary>
        /// 获取支付报文
        /// </summary>
        /// <param name="p"></param>
        /// <returns></returns>
        public static string PayMessage(ref PayParam p)
        {
            string      sendDataStr = "";
            PasswordBLL pwdBLL      = new PasswordBLL();

            if (p.icParams == null)
            {
                log.Write("交易类型:万通交易");
                pwdBLL.SetCryptMode(1);
                log.Write("万通卡号:" + p.WtNo);
                log.Write("交易金额:" + p.rechageAmount);
                log.Write("终端交易流水号" + p.WtLklorderNo);
                log.Write("开始支付");
                Wanton.pay(p, ref sendDataStr);
                p.payType = "1";
                return(sendDataStr);
            }
            else
            {
                log.Write("交易类型:拉卡拉交易");
                //银行卡支付
                pwdBLL.SetCryptMode(0);

                pwdBLL.SetCryptMode(0);//拉卡拉加密方式

                log.Write("银行卡号:" + p.icParams["cardNo"]);
                log.Write("交易金额:" + p.rechageAmount);
                log.Write("终端交易流水号" + p.WtLklorderNo);
                log.Write("开始支付");
                wtPayBLL.LKLProcedure.PayOrder(p, ref sendDataStr);
                p.payType = "0";
                return(sendDataStr);
            }
            p.shopNo = p.WtLklorderNo + "|" + SysConfigHelper.readerNode("ClientNo") + "|" + SysConfigHelper.readerNode("ShopNo");
        }
Ejemplo n.º 2
0
        public static Boolean Sign(int type, string mackeyExpress, string pinKeyExpress)
        {
            PasswordBLL pwdBLL = new PasswordBLL();

            //bool ret = pwdBLL.OpenDevice(SysConfigHelper.readerNode("ZT598Port"), "9600");
            //if (!ret)
            //{
            //    return false;
            //}
            try
            {
                bool setMode = true;
                if (type == 0)
                {
                    setMode = pwdBLL.SetCryptMode(0);
                    if (!setMode)
                    {
                        return(false);
                    }
                    //激活万通主密钥

                    /* if (!pwdBLL.ActivWorkKey(0, 0))
                     * {
                     *   return false;
                     * }*/
                    bool pingSuccess = pwdBLL.DownloadWorkKey(0, 0, pinKeyExpress);
                    if (!pingSuccess)
                    {
                        return(false);
                    }
                    bool macSuccess = pwdBLL.DownloadWorkKey(0, 1, mackeyExpress);
                    if (!macSuccess)
                    {
                        return(false);
                    }
                    SysBLL.RebuildBatchNo();
                }
                else if (type == 1)
                {
                    setMode = pwdBLL.SetCryptMode(1);
                    if (!setMode)
                    {
                        return(false);
                    }
                    //激活万通主密钥

                    /*if(!pwdBLL.ActivWorkKey(1, 0))
                     * {
                     *  return false;
                     * }*/
                    bool pingSuccess = pwdBLL.DownloadWorkKey(1, 2, pinKeyExpress);
                    if (!pingSuccess)
                    {
                        return(false);
                    }
                    bool macSuccess = pwdBLL.DownloadWorkKey(1, 3, mackeyExpress);
                    if (!macSuccess)
                    {
                        return(false);
                    }
                }
                pwdBLL.closeKey();
                return(true);
            }
            catch { return(false); }
        }