Exemplo n.º 1
0
        public static string wtRefund(Dictionary <string, string> list, string secondShopNo)
        {
            string _2 = list["2"], _4 = list["4"], _59 = list["59"];
            string theOrderNo = Wanton.GetOrderNo();
            string termailNo  = SysConfigHelper.readerNode("ClientNo");
            string shopNo     = SysConfigHelper.readerNode("ShopNo");
            Dictionary <string, string> map = new Dictionary <string, string>();

            Dictionary <int, string> data = new Dictionary <int, string>();

            data.Add(2, _2);
            data.Add(3, "200000");
            data.Add(4, wtPayUtils.ConvertMoney(_4));
            data.Add(11, theOrderNo);
            map.Add("11", data[11]);

            data.Add(22, "051");
            data.Add(25, "00");
            data.Add(41, termailNo);
            map.Add("41", data[41]);

            data.Add(42, shopNo);
            data.Add(48, "TC_ONE|Y00000001|" + secondShopNo);
            //data.Add(48, "Y00000001");
            data.Add(49, "156");
            data.Add(59, _59);
            data.Add(60, "22000003000");
            data.Add(63, "01");

            byte[] countMacData = EncryptWT.countMacData("0200", EncryptWT.encryptLKL(data, null));

            byte[] mac = PasswordBLL.GetMac(2, countMacData);

            byte[] sendData = EncryptWT.EncryptData("0200", "6000000000", EncryptWT.encryptLKL(data, mac));


            //byte[] sendData = EncryptWT.EncryptData("0200", "6000000000", EncryptWT.encryptLKL(data, calculateMac(data, "0200")));
            Console.WriteLine();
            Console.WriteLine(BCDUtil.byteArrToString(sendData));
            return(BCDUtil.byteArrToString(sendData));
        }
Exemplo n.º 2
0
        public static Dictionary <string, string> refund(string _2, string _4, string _59, TradeRecord tradeRecord, string secondShopNo)
        {
            string theOrderNo = Wanton.GetOrderNo();
            string termailNo  = SysConfigHelper.readerNode("ClientNo");
            string shopNo     = SysConfigHelper.readerNode("ShopNo");

            tradeRecord.amount         = _4;
            tradeRecord.batch_no       = "" + "|" + SysBLL.getMMDDHHMMSSTime() + "|" + _2;
            tradeRecord.order_no       = theOrderNo;
            tradeRecord.termail_no     = termailNo;
            tradeRecord.lkl_wt_shop_no = shopNo;
            Dictionary <string, string> map = new Dictionary <string, string>();

            Dictionary <int, string> data = new Dictionary <int, string>();

            data.Add(2, _2);
            data.Add(3, "200000");
            data.Add(4, wtPayUtils.ConvertMoney(_4));
            data.Add(11, theOrderNo);
            map.Add("11", data[11]);

            data.Add(22, "051");
            data.Add(25, "00");
            data.Add(41, termailNo);
            map.Add("41", data[41]);

            data.Add(42, shopNo);
            data.Add(48, "TC_ONE|Y00000001|" + secondShopNo);
            //data.Add(48, "Y00000001");
            data.Add(49, "156");
            data.Add(59, _59);
            data.Add(60, "22000003000");
            data.Add(63, "01");

            byte[] countMacData = EncryptWT.countMacData("0200", EncryptWT.encryptLKL(data, null));

            byte[] mac = PasswordBLL.GetMac(2, countMacData);

            byte[] sendData = EncryptWT.EncryptData("0200", "6000000000", EncryptWT.encryptLKL(data, mac));


            //byte[] sendData = EncryptWT.EncryptData("0200", "6000000000", EncryptWT.encryptLKL(data, calculateMac(data, "0200")));
            Console.WriteLine();
            Console.WriteLine(BCDUtil.byteArrToString(sendData));
            AnalysisBaseWT lk = new AnalysisBaseWT();

            byte[] result = Client(LakalaIp, LakalaPort, sendData);

            //接收的数据
            string receiveStr1 = BCDUtil.byteArrToString(result);

            log.Write("tuikuan的数据:" + receiveStr1);

            Dictionary <string, ResultData> ret = lk.analysis(result);


            string recode = Wanton.handleDataMac(ret); //发送数据

            if ("00".Equals(recode))
            {
                tradeRecord.lkl_wt_state = "1";
                tradeRecord.order_state  = "1";
            }
            else
            {
                tradeRecord.lkl_wt_state = "2";
                tradeRecord.order_state  = "0";
            }
            //发送的数据
            string sendStr = BCDUtil.byteArrToString(sendData);
            //接收的数据
            string receiveStr = BCDUtil.byteArrToString(result);

            map.Add("recode", recode);
            map.Add("sendStr", sendStr);
            map.Add("receiveStr", receiveStr);
            map.Add("ShopNo", data[11] + "|" + data[41] + "|" + data[42]);

            map.Add("39", ret["39"].value);

            log.Write("万通卡退款交易返回" + ret["39"].value);


            string serialStr = JsonConvert.SerializeObject(map);

            tradeRecord.data_id = serialStr;
            TradeBLL.SendOrderRefundRecord(tradeRecord);

            return(map);


            //if (result.Length > 0)
            //{
            //    return lk.analysis(result); //发送数据
            //}
            //else
            //{
            //    return null;
            //}
        }
Exemplo n.º 3
0
        /// <summary>
        /// 退款
        /// </summary>
        /// <returns></returns>
        public static Dictionary <string, string> refund(WintopPayParam param, string _59, string secondShopNo)
        {
            string theOrderNo = Wanton.GetOrderNo();
            string termailNo  = SysConfigHelper.readerNode("ClientNo");


            Dictionary <string, string> map = new Dictionary <string, string>();

            Dictionary <int, string> data = new Dictionary <int, string>();

            data.Add(2, param.wintopNo);
            data.Add(3, "200000");
            data.Add(4, wtPayUtils.ConvertMoney(param.price));
            data.Add(11, getHHMMSS());
            map.Add("11", data[11]);

            data.Add(22, "051");
            data.Add(25, "00");
            data.Add(41, SysConfigHelper.readerNode("ClientNo"));
            map.Add("41", data[41]);

            data.Add(42, SysConfigHelper.readerNode("ShopNo"));
            data.Add(48, "TC_ONE|Y00000001|" + secondShopNo);
            //data.Add(48, "Y00000001");
            data.Add(49, "156");
            data.Add(59, _59);
            data.Add(60, "22000003000");
            data.Add(63, "01");

            byte[] countMacData = EncryptWT.countMacData("0200", EncryptWT.encryptLKL(data, null));

            byte[] mac = PasswordBLL.GetMac(2, countMacData);

            byte[] sendData = EncryptWT.EncryptData("0200", "6000000000", EncryptWT.encryptLKL(data, mac));

            string sendStr = BCDUtil.byteArrToString(sendData);

            log.Write("发送退款的数据:" + sendStr);

            //byte[] sendData = EncryptWT.EncryptData("0200", "6000000000", EncryptWT.encryptLKL(data, calculateMac(data, "0200")));
            Console.WriteLine();
            Console.WriteLine(BCDUtil.byteArrToString(sendData));
            AnalysisBaseWT lk = new AnalysisBaseWT();

            byte[] result = Client(LakalaIp, LakalaPort, sendData);

            //result
            string resultstr = BCDUtil.byteArrToString(result);

            log.Write("接收退款的数据:" + resultstr);



            string recode = Wanton.handleDataMac(lk.analysis(result)); //发送数据

            log.Write("万通退款结果" + recode);

            string serialStr = JsonConvert.SerializeObject(map);


            //接收的数据
            string receiveStr = BCDUtil.byteArrToString(result);

            map.Add("recode", recode);
            map.Add("sendStr", sendStr);
            map.Add("receiveStr", receiveStr);
            map.Add("ShopNo", param.orderNo + "|" + data[41] + "|" + data[42]);
            map.Add("money", param.price);
            return(map);


            //if (result.Length > 0)
            //{
            //    return lk.analysis(result); //发送数据
            //}
            //else
            //{
            //    return null;
            //}
        }