コード例 #1
0
ファイル: Program.cs プロジェクト: pceftpos/pay-at-table
 /// <summary>
 /// Create a "TransactionEvent" EFTPOS command, throws an exception if data is invalid
 /// </summary>
 /// <param name="eftposEventCommand"></param>
 /// <param name="eftposRequestCommand"></param>
 /// <param name="tender"></param>
 void CreateEFTPOSEvent(ref EFTPOSCommand eftposEventCommand, EFTPOSCommand eftposRequestCommand, Tender tender)
 {
     var uri = String.Format("{0}/api/eftpos/commands?key={1}", BaseUri, ApiKey);
     eftposEventCommand = new EFTPOSCommand()
     {
         EFTPOSCommandType = EFTPOSCommandType.TransactionEvent,
         TenderId = tender.Id,
         OriginalEFTPOSCommandId = eftposRequestCommand.Id,
         AmtPurchase = eftposRequestCommand.AmtPurchase,
         TxnType = "P",
         STAN = "26",
         ResponseType = "210",
         Caid = "000008156005003",
         Catid = "00000000",
         Date = "000000",
         Time = "000000",
         ResponseCode = "00",
         ResponseText = "APPROVED",
         Merchant = "0",
         Success = true,
         AccountType = "Credit",
         CardType = "DEBIT CARD AC",
         CardName = "00",
         TxnRef = eftposRequestCommand.TxnRef,
         DateSettlement = "000000",
         AuthCode = "000023",
         CsdReservedBool1 = false,
         Rrn = "000000000023",
         Track2 = "4343000000000005=0101?",
         Pan = "4343000000000005"
     };
     var r = JsonConvert.DeserializeObject<PATResponse>(PostJsonString(uri, JsonConvert.SerializeObject(new PATRequest() { EFTPOSCommand = eftposEventCommand }), DebugTrace));
     if (r.EFTPOSCommand == null)
         throw new Exception("No EFTPOSCommand in POST response");
     Console.WriteLine("TransactionEvent EFTPOSCommand Created");
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: pceftpos/pay-at-table
 /// <summary>
 /// Create a "DoTransaction" EFTPOS command, throws an exception if data is invalid
 /// </summary>
 /// <param name="eftposRequestCommand"></param>
 /// <param name="tender"></param>
 void CreateEFTPOSRequest(ref EFTPOSCommand eftposRequestCommand, Tender tender)
 {
     var uri = String.Format("{0}/api/eftpos/commands?key={1}", BaseUri, ApiKey);
     eftposRequestCommand = new EFTPOSCommand() { EFTPOSCommandType = EFTPOSCommandType.DoTransaction, TenderId = tender.Id, AmtPurchase = tender.AmountPurchase, TxnType = "P", TxnRef = String.Format("{0:yyddMMHHmmsszzz}", DateTime.Now) };
     var r = JsonConvert.DeserializeObject<PATResponse>(PostJsonString(uri, JsonConvert.SerializeObject(new PATRequest() { EFTPOSCommand = eftposRequestCommand }), DebugTrace));
     if (r.EFTPOSCommand == null)
         throw new Exception("No EFTPOSCommand in POST response");
     Console.WriteLine("DoTransaction EFTPOSCommand Created");
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: pceftpos/pay-at-table
        protected void PostDisplayEvent(string uri, bool delayEFTPOSCommands, bool debugTrace, long tenderId, long originalEFTPOSCommandId, string dataField, string csdReservedString1, string csdReservedString5)
        {
            var eftposEventCommand = new EFTPOSCommand()
            {
                EFTPOSCommandType = EFTPOSCommandType.DisplayEvent,
                TenderId = tenderId,
                OriginalEFTPOSCommandId = originalEFTPOSCommandId,
                DataField = dataField,
                CsdReservedString1 = csdReservedString1,
                CsdReservedString5 = csdReservedString5
            };

            var r = JsonConvert.DeserializeObject<PATResponse>(PostJsonString(uri, JsonConvert.SerializeObject(new PATRequest() { EFTPOSCommand = eftposEventCommand }), debugTrace));
            if (r.EFTPOSCommand == null)
                throw new Exception("No EFTPOSCommand in POST response");
            if (delayEFTPOSCommands) System.Threading.Thread.Sleep(1000);
        }