1234567891011121314151617181920212223242526272829303132333435363738 |
- using Parser.BinaryParser.Util;
- using System;
- using System.Collections.Generic;
- namespace WayneChina_IcCardReader_SinoChem.MessageEntity.Outgoing
- {
- public enum ICOnlinePayResult
- {
- Success = 0x00,
- Failure
- }
- public class CardOnlinePaymentResultRequest : IcCardReaderMessageBase
- {
- public CardOnlinePaymentResultRequest(ICOnlinePayResult result, double amount, int displayTimeout, string errorInfo)
- {
- RawData = new List<byte>();
- RawData.Add(0x09);
- if (result == ICOnlinePayResult.Success)
- {
- RawData.Add(0x00);
- RawData.AddRange(Convert.ToInt32(amount * 100).GetBCDBytes(3));
- RawData.AddRange(displayTimeout.GetBCDBytes(1));
- }
- else
- {
- RawData.Add(0x01);
- var errorInfoBytes = System.Text.Encoding.GetEncoding("GBK").GetBytes(errorInfo.PadRight(16, ' '));
- if (errorInfoBytes.Length >= 16)
- {
- for (int i = 0; i < 16; i++)
- RawData.Add(errorInfoBytes[i]);
- }
- }
- }
- }
- }
|