private void ShowGetProcessorReport() { var requestDto = new GetProcessorReportRequestDto(); try { requestDto.CustomerCode = Read_Mandatory_String_Input("CustomerCode"); requestDto.Username = Read_Mandatory_String_Input("Username"); requestDto.Password = Read_Mandatory_String_Input("Password"); requestDto.CustomerTransactionID = Read_Optional_String_Input("CustomerTransactionID"); requestDto.Amount = Read_Decimal_Input("Amount"); requestDto.ProcessorName = Read_Mandatory_String_Input("ProcessorName"); requestDto.TransactionID = Read_Mandatory_String_Input("TransactionID"); requestDto.TransactionType = Read_TransactionType_Input("TransactionType:"); var svc = _serviceProvider.GetService <IGetProcessorReportClient>(); var result = svc.GetProcessorReport(requestDto); if ((result.Response != null) && (result.SoapDetails != null)) { Console.WriteLine("=====================Response Start======================"); Console.WriteLine("Request:"); Console.Write(PrettyXml(result.SoapDetails.RequestXml) + "\n"); Console.WriteLine("Response:"); Console.Write(PrettyXml(result.SoapDetails.ResponseXml) + "\n"); Console.WriteLine("=====================Response End======================"); Console.WriteLine("=====================Parsed Response Start======================"); Console.WriteLine(result.Response.ToString()); Console.WriteLine("=====================Parsed Response End======================"); } else { Console.WriteLine("Response is null, Please check with input values given and try again"); } } catch (Exception ex) { Console.WriteLine("Error Occurred while Processing GetProcessorReport" + ex.Message.ToString()); } }
public (GetProcessorReportResponseDto Response, RawSoapDetails SoapDetails) GetProcessorReport(GetProcessorReportRequestDto dto) { (GetProcessorReportResponseDto Response, RawSoapDetails SoapDetails)result = (null, null); try { var requests = new List <GetProcessorReportRequest>(); var request = new GetProcessorReportRequest() { AdditionalRequestData = new List <KeyValuePair <string, string> > { }.ToArray(), Authentication = new Authentication { CustomerCode = dto.CustomerCode, Username = dto.Username, Password = dto.Password }, CustomerTransactionID = dto.CustomerTransactionID, TransactionInput = new TransactionInput { Amount = dto.Amount, ProcessorName = dto.ProcessorName, TransactionInputDetails = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("TransactionID", dto.TransactionID) }.ToArray(), TransactionType = (TransactionType)Enum.Parse(typeof(TransactionType), dto.TransactionType, true) } }; requests.Add(request); var svcEndPointAddress = new EndpointAddress(Host); var svcEncPointConfig = MPPGv3ServiceClient.EndpointConfiguration.BasicHttpsBinding_IMPPGv3Service; var svcClient = new MPPGv3ServiceClient(svcEncPointConfig, svcEndPointAddress); var requestInterceptorBehavior = new MppgInspectorBehavior(); svcClient.Endpoint.EndpointBehaviors.Add(requestInterceptorBehavior); var svcResponse = svcClient.GetProcessorReportAsync(requests.ToArray()).Result; result.SoapDetails = new RawSoapDetails(); result.SoapDetails.RequestXml = requestInterceptorBehavior.LastRequestXML; result.SoapDetails.ResponseXml = requestInterceptorBehavior.LastResponseXML; var svcResponse_0 = svcResponse.FirstOrDefault(); if (svcResponse_0 != null) { result.Response = new GetProcessorReportResponseDto { CustomerTransactionID = svcResponse_0.CustomerTransactionID, MagTranID = svcResponse_0.MagTranID, TransactionOutput = new Dtos.TransactionOutput { AuthCode = svcResponse_0.TransactionOutput?.AuthCode, AVSResult = svcResponse_0.TransactionOutput?.AVSResult, AuthorizedAmount = svcResponse_0.TransactionOutput?.AuthorizedAmount, CVVResult = svcResponse_0.TransactionOutput?.CVVResult, IsTransactionApproved = svcResponse_0.TransactionOutput?.IsTransactionApproved, IssuerAuthenticationData = svcResponse_0.TransactionOutput?.IssuerAuthenticationData, IssuerScriptTemplate1 = svcResponse_0.TransactionOutput?.IssuerScriptTemplate1, IssuerScriptTemplate2 = svcResponse_0.TransactionOutput?.IssuerScriptTemplate2, Token = svcResponse_0.TransactionOutput?.Token, TransactionID = svcResponse_0.TransactionOutput?.TransactionID, TransactionMessage = svcResponse_0.TransactionOutput?.TransactionMessage, TransactionOutputDetails = new TransactionOutputDetails { ProcessorResponse = svcResponse_0.TransactionOutput?.TransactionOutputDetails?.FirstOrDefault().Value }, TransactionStatus = svcResponse_0.TransactionOutput?.TransactionStatus }, TransactionUTCTimestamp = svcResponse_0.TransactionUTCTimestamp }; } } catch (Exception ex) when(ex is CommunicationException || ex is ProtocolException || ex is FaultException || ex is Exception) { throw ex; } return(result); }