Ejemplo n.º 1
0
        protected override void Packet()
        {
            bool bIsIC = false;

            if (CommonData.UserCardType == UserBankCardType.ICCard ||
                CommonData.UserCardType == UserBankCardType.IcMagCard)
            {
                bIsIC = true;
            }

            SendPackage.SetString(0, "0200");
            if (!string.IsNullOrEmpty(CommonData.BankCardNum) && CommonData.BankCardNum.Length != 0)
            {
                SendPackage.SetString(2, CommonData.BankCardNum);
            }
            SendPackage.SetString(3, "190000");
            SendPackage.SetString(4, Utility.AmountToString(CommonData.Amount.ToString()));
            PayTraceNo = GetTraceNo();
            SendPackage.SetString(11, PayTraceNo);
            if (!string.IsNullOrEmpty(CommonData.BankCardExpDate) && CommonData.BankCardExpDate.Length != 0)//卡有效期
            {
                SendPackage.SetString(14, CommonData.BankCardExpDate);
            }
            if (bIsIC)//22
            {
                SendPackage.SetString(22, "051");
            }
            else
            {
                SendPackage.SetString(22, "021");
            }
            if (!string.IsNullOrEmpty(CommonData.BankCardSeqNum) && CommonData.BankCardSeqNum.Length != 0)//卡序列号
            {
                SendPackage.SetString(23, CommonData.BankCardSeqNum);
            }
            SendPackage.SetString(25, "81"); //服务点条件代码
            SendPackage.SetString(26, "06");
            if (!string.IsNullOrEmpty(CommonData.Track2) && CommonData.Track2.Length != 0)
            {
                SendPackage.SetString(35, CommonData.Track2.Replace('=', 'D'));
            }
            if (!string.IsNullOrEmpty(CommonData.Track3) && CommonData.Track3.Length != 0)
            {
                SendPackage.SetString(36, CommonData.Track3.Replace('=', 'D'));
            }
            SendPackage.SetArrayData(48, PacketField48());
            SendPackage.SetString(49, "156");
            SendPackage.SetArrayData(52, Utility.str2Bcd(CommonData.BankPassWord));
            switch (DType)
            {
            case DesType.Des:
                SendPackage.SetString(53, "2000000000000000");
                break;

            case DesType.TripleDes:
                SendPackage.SetString(53, "2600000000000000");
                break;
            }
            //55
            if (SendField55 != null && SendField55.Length != 0)
            {
                SendPackage.SetArrayData(55, SendField55, 0, SendField55.Length);
            }
            if (bIsIC)
            {
                SendPackage.SetString(60, "00" + GetBatchNo() + "00050");
            }
            else
            {
                SendPackage.SetString(60, "00" + GetBatchNo() + "000");
            }

            //创建冲正文件 98 96 06
            CReverse_YAPaymentPay cr = new CReverse_YAPaymentPay(this);

            cr.CreateReverseFile("98");
        }
Ejemplo n.º 2
0
        protected override void Packet()
        {
            bool bIsIC = false;

            if (CommonData.UserCardType == UserBankCardType.ICCard ||
                CommonData.UserCardType == UserBankCardType.IcMagCard)
            {
                bIsIC = true;
            }

            SendPackage.SetString(0, "0200");
            SendPackage.SetString(3, "190000");
            SendPackage.SetString(4, Utility.AmountToString(PayEntity.TotalAmount.ToString()));
            PayEntity.PayTraceNo = GetTraceNo();
            SendPackage.SetString(11, PayEntity.PayTraceNo);
            if (!string.IsNullOrEmpty(CommonData.BankCardExpDate) && CommonData.BankCardExpDate.Length != 0)//卡有效期
            {
                SendPackage.SetString(14, CommonData.BankCardExpDate);
            }
            if (bIsIC)//22
            {
                SendPackage.SetString(22, "051");
            }
            else
            {
                SendPackage.SetString(22, "021");
            }
            if (!string.IsNullOrEmpty(CommonData.BankCardSeqNum) && CommonData.BankCardSeqNum.Length != 0)//卡序列号
            {
                SendPackage.SetString(23, CommonData.BankCardSeqNum);
            }
            SendPackage.SetString(25, "00");
            SendPackage.SetString(26, "06");
            if (!string.IsNullOrEmpty(CommonData.Track2) && CommonData.Track2.Length != 0)
            {
                SendPackage.SetString(35, CommonData.Track2.Replace('=', 'D'));
            }
            if (!string.IsNullOrEmpty(CommonData.Track3))
            {
                SendPackage.SetString(36, CommonData.Track3.Replace('=', 'D'));
            }
            //SendPackage.SetString(48, "PA" + "08" + PayEntity.CreditcardNum.PadRight(20, ' ') + "N" + "0".PadRight(11, '0') + "#");
            string f48 = "PA" + "08" + PayEntity.CreditcardNum.PadRight(20, ' ') + "N" + "0".PadRight(11, '0') + "#";

            SendPackage.SetArrayData(48, Encoding.Default.GetBytes(f48));
            SendPackage.SetArrayData(52, Utility.str2Bcd(CommonData.BankPassWord));
            SendPackage.SetString(49, "156");
            switch (DType)
            {
            case DesType.Des:
                SendPackage.SetString(53, "2000000000000000");
                break;

            case DesType.TripleDes:
                SendPackage.SetString(53, "2600000000000000");
                break;
            }
            //55
            if (bIsIC && PayEntity.SendField55 != null && PayEntity.SendField55.Length != 0)
            {
                SendPackage.SetArrayData(55, PayEntity.SendField55);
            }
            if (PayEntity.UseICCard)
            {
                SendPackage.SetString(60, "00" + GetBatchNo() + "00050");
            }
            else
            {
                SendPackage.SetString(60, "00" + GetBatchNo() + "000");
            }

            //创建冲正文件 98 96 06
            CReverse_YAPaymentPay cr = new CReverse_YAPaymentPay(this);

            cr.CreateReverseFile("98");
        }