public ChangePINResponse DoBalanceEnquiry(CardDetails theCard, Account acct, string seq_nr) { ChangePINResponse response = null; lock (this) { if (_clientPeer.IsConnected) { BalanceEnquiryISO cpMsg = new BalanceEnquiryISO(acct, theCard, _transactionID, seq_nr); Trx.Messaging.Message responseMessage = ProcessRequest(cpMsg); response = new ChangePINResponse(responseMessage); response.TransactionID = _transactionID; } } return(response); }
public ChangePINResponse DoChangePIN(CardDetails theCard, Account acct, string seq_nr) { ChangePINResponse response = null; lock (this) { if (_clientPeer.IsConnected) { ChangePIN cpMsg = new ChangePIN(_terminal, acct, theCard, _transactionID, seq_nr); new PANE.ERRORLOG.Error().LogInfo("Pin Change Request: " + cpMsg.ToString()); Trx.Messaging.Message responseMessage = ProcessRequest(cpMsg); new PANE.ERRORLOG.Error().LogInfo("Pin Change Response: " + responseMessage.ToString()); response = new ChangePINResponse(responseMessage); response.TransactionID = _transactionID; } } return(response); }
private Trx.Messaging.Message ProcessRequest(Iso8583Message msg) { LastMessageSent = msg; PeerRequest request = new PeerRequest(_clientPeer, msg); // new PANE.ERRORLOG.Error().LogInfo(string.Format("Before sending {0}", _clientPeer.Channel.Name.ToString())); Console.WriteLine("The request: " + request.RequestMessage); new PANE.ERRORLOG.Error().LogInfo(string.Format("The request: " + request.RequestMessage)); request.Send(); request.WaitResponse(serverTimeout); if (request.Expired) { Console.WriteLine("Timed out"); new PANE.ERRORLOG.Error().LogInfo("ProcessRequest Timed Out!"); throw new ConnectionTimedOutException(msg); } else { Trx.Messaging.Message clo = request.ResponseMessage.Clone() as Trx.Messaging.Message; if (clo.Fields.Contains(127)) { (clo.Fields[127].Value as Trx.Messaging.Message).Parent = null; } if (clo.Fields.Contains(125)) { Console.WriteLine("ZPK: " + clo.Fields[125].Value); new PANE.ERRORLOG.Error().LogInfo(string.Format("ZPK: " + clo.Fields[125].Value)); } Console.WriteLine("The response: " + request.RequestMessage); new PANE.ERRORLOG.Error().LogInfo(string.Format("The response: " + request.ResponseMessage)); } return(request.ResponseMessage); }
public KeyExchangeResponse DoKeyExchange() { KeyExchangeResponse response = null; lock (this) { if (Connect()) { Console.WriteLine("connect"); KeyExchange keMsg = new KeyExchange(_transactionID); new PANE.ERRORLOG.Error().LogInfo("About to send key Exchange Message: " + keMsg.ToString()); Trx.Messaging.Message responseMessage = ProcessRequest(keMsg); response = new KeyExchangeResponse(responseMessage); new PANE.ERRORLOG.Error().LogInfo("Recieved Exchange Message: " + responseMessage.ToString()); response.TransactionID = _transactionID; } else { Console.WriteLine("not connected"); } } return(response); }