Advertisement
Guest User

Untitled

a guest
Jan 18th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.08 KB | None | 0 0
  1. public class DataWarehousePOSTransaction : IRequestMessage
  2.     {
  3.         /// <summary>
  4.         /// Transaction Id
  5.         /// </summary>
  6.         public string ARN { get; set; }
  7.        
  8.         /// <summary>
  9.         /// Indicates type transaction, whether sale, credit etc
  10.         /// </summary>
  11.         public MessageTransactionType TransactionType { get; set; }
  12.  
  13.         /// <summary>
  14.         /// Card PAN
  15.         /// </summary>
  16.         public string PAN { get; set; }
  17.        
  18.         /// <summary>
  19.         /// Transaction Amount
  20.         /// </summary>
  21.         public long Amount { get; set; }
  22.  
  23.         /// <summary>
  24.         /// Transaction Currency Code
  25.         /// </summary>
  26.         public ushort CurrencyCode { get; set; }
  27.  
  28.         /// <summary>
  29.         /// Cashback Amount
  30.         /// </summary>
  31.         public long CashbackAmount { get; set; }
  32.  
  33.         /// <summary>
  34.         /// Transaction date time
  35.         /// </summary>
  36.         public DateTime TransactionDateTime { get; set; }
  37.  
  38.         /// <summary>
  39.         /// Parent transaction Id. This field is only used by certain transaction types, such as credit.
  40.         /// </summary>
  41.         public string ParentARN { get; set; }
  42.  
  43.         /// <summary>
  44.         /// Invoice Number
  45.         /// </summary>
  46.         public string InvoiceNumber { get; set; }
  47.  
  48.         /// <summary>
  49.         /// Batch Number
  50.         /// </summary>
  51.         public uint BatchNumber { get; set; }
  52.  
  53.         /// <summary>
  54.         /// Terminal Id
  55.         /// </summary>
  56.         public string TerminalId { get; set; }
  57.  
  58.         /// <summary>
  59.         /// Transaction result, whether approved or not.
  60.         /// </summary>
  61.         public PosTransactionResult TransactionResult { get; set; }
  62.  
  63.         /// <summary>
  64.         /// Card scheme response code
  65.         /// </summary>
  66.         public string ResponseCode { get; set; }
  67.  
  68.         /// <summary>
  69.         /// Indicates what type of PIN was used, whether Online, Offline or PIN not available
  70.         /// </summary>
  71.         public PINType PIN { get; set; }
  72.  
  73.         /// <summary>
  74.         /// Indicates whether transaction is contactless or not
  75.         /// </summary>
  76.         public bool isContactless { get; set; }
  77.  
  78.         /// <summary>
  79.         /// (POS Terminal PAN Entry Mode) indicates how the PAN was entered at the terminal.
  80.         /// </summary>
  81.         public POSEntryMode EntryMode { get; set; }
  82.  
  83.         /// <summary>
  84.         /// Authorization ID Response that the authorizing institution assigns.
  85.         /// </summary>
  86.         public string AuthId { get; set; }
  87.  
  88.         /// <summary>
  89.         /// If not null transaction is a DCC transaction
  90.         /// </summary>
  91.         public DCCTransaction DCC { get; set; }
  92.  
  93.         #region Message broker IRequesMessage interface properties
  94.  
  95.         public Guid CorrelationId { get; set; }
  96.         public string Caller { get; set; }
  97.  
  98.         #endregion
  99.  
  100.         public enum PosTransactionResult
  101.         {
  102.             NotApproved = 0 , Approved = 1
  103.         }
  104.  
  105.         /// <summary>
  106.         /// Type of PIN used
  107.         /// </summary>
  108.         public enum PINType
  109.         {
  110.             NotAvailable = 0, Online = 1, Offline = 2
  111.         }
  112.  
  113.         /// <summary>
  114.         /// DE 22, subfield 1 (POS Terminal PAN Entry Mode) indicates how the PAN was entered at the terminal.
  115.         /// </summary>
  116.         public enum POSEntryMode
  117.         {
  118.             UnkownMode = 0,
  119.             ManualEntry = 1,
  120.             AutoEntryMagStripe = 2,
  121.             AutoEntryBarCode = 3,
  122.             AutoEntryOCR = 4,
  123.             AutoEntryChip = 5,
  124.             AutoEntryChipContactlessMS = 6,
  125.             AutoEntryContactlessMChip = 7,
  126.             AutoEntryContactlessMChipContactlessMappingServiceApplied = 8,
  127.             ElectronicCommerceRemoteChip = 9,
  128.             HybridTerminal = 79,
  129.             ICC_CapableMagneticStripe = 80,
  130.             ElectronicCommerceChip = 81,
  131.             AutoEntryViaServer = 82,
  132.             AutoEntryFullMagStripe = 90,
  133.             AutoEntryContactlessMagneticStripe = 91,
  134.             ContactlessInput = 92,
  135.             Visa = 95
  136.         }
  137.  
  138.         public class DCCTransaction
  139.         {
  140.             /// <summary>
  141.             /// DCC transaction amount
  142.             /// </summary>
  143.             public long Amount { get; set; }
  144.  
  145.             /// <summary>
  146.             /// DCC transaction currency
  147.             /// </summary>
  148.             public ushort Currency { get; set; }
  149.  
  150.             /// <summary>
  151.             /// DCC exchange rate
  152.             /// </summary>
  153.             public double ExchangeRate { get; set; }
  154.  
  155.             /// <summary>
  156.             /// DCC markup rate
  157.             /// </summary>
  158.             public double MarkupRate { get; set; }
  159.  
  160.             /// <summary>
  161.             /// Clearing currency transaction would be settled in
  162.             /// </summary>
  163.             public ushort ClearingCurrency { get; set; }
  164.  
  165.             /// <summary>
  166.             /// Conversion provider, source
  167.             /// </summary>
  168.             public string ConversionProvider { get; set; }
  169.         }
  170.  
  171.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement