Пример #1
0
        private void ShowProcessManualEntryUI()
        {
            var requestDto = new ProcessManualEntryRequestDto();

            try
            {
                requestDto.AdditionalRequestData = Read_MultipleKeysInput("AdditionalRequestData");
                requestDto.CustomerCode          = Read_Mandatory_String_Input("Customer Code");
                requestDto.Username = Read_Mandatory_String_Input("Username");
                requestDto.Password = Read_Mandatory_String_Input("PassWord");
                requestDto.CustomerTransactionID = Read_Optional_String_Input("CustomerTransactionId");
                requestDto.AddressLine1          = Read_Optional_String_Input("AddressLine1");
                requestDto.AddressLine2          = Read_Optional_String_Input("AddressLine2");
                requestDto.City                    = Read_Optional_String_Input("City");
                requestDto.Country                 = Read_Optional_String_Input("Country");
                requestDto.ExpirationDate          = Read_ExpirationDateuser_Input("Expiration Date:", "Year(Ex:For Year 2025 Enter 25):", "Month:(Int Between 1-12 Ex: For 3 Enter 03 )");
                requestDto.NameOnCard              = Read_Optional_String_Input("NameOnCard");
                requestDto.PAN                     = Read_Mandatory_String_Input("PAN");
                requestDto.State                   = Read_Optional_String_Input("State");
                requestDto.Zip                     = Read_Optional_String_Input("Zip");
                requestDto.Amount                  = Read_Decimal_Input("Amount");
                requestDto.ProcessorName           = Read_Mandatory_String_Input("ProcessorName");
                requestDto.TransactionType         = Read_TransactionType_Input("TransactionType");
                requestDto.TransactionInputDetails = Read_MultipleKeysInput("TransactionInputDetails");
                var svc    = _serviceProvider.GetService <IProcessManualEntryClient>();
                var result = svc.ProcessManualEntry(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 ProcessManualEntry" + ex.Message.ToString());
            }
        }
Пример #2
0
        private void ShowProcessManualEntryUI()
        {
            var requestDto = new ProcessManualEntryRequestDto();

            try
            {
                requestDto.CustomerCode          = Read_String_Input("Enter Customer Code:", false);
                requestDto.Username              = Read_String_Input("Enter Username:"******"Enter PassWord:"******"Enter CustomerTransactionId:", true);
                requestDto.AddressLine1          = Read_String_Input("Enter AddressLine1:", true);
                requestDto.AddressLine2          = Read_String_Input("Enter AddressLine2:", true);
                requestDto.City            = Read_String_Input("Enter City:", true);
                requestDto.Country         = Read_String_Input("Enter Country:", true);
                requestDto.ExpirationDate  = Read_ExpirationDateuser_Input("Enter Expiration Date:", "Year(Ex:For Year 2025 Enter 25):", "Month:(Int Between 1-12 Ex: For 3 Enter 03 )");
                requestDto.NameOnCard      = Read_String_Input("Enter NameOnCard:", true);
                requestDto.PAN             = Read_String_Input("Enter PAN:", false);
                requestDto.State           = Read_String_Input("Enter State:", true);
                requestDto.Amount          = Read_Decimal_Input("Enter Amount:");
                requestDto.ProcessorName   = Read_String_Input("Enter ProcessorName:", false);
                requestDto.TransactionType = Read_TransactionType_Input("Enter TransactionType:");
                var svc         = _serviceProvider.GetService <IProcessManualEntryClient>();
                var responseDto = svc.ProcessManualEntry(requestDto);
                if (responseDto != null)
                {
                    var response = responseDto as ProcessManualEntryResponseDto;
                    Console.WriteLine("=====================Response Start======================");
                    Console.WriteLine("Status Code:" + response.StatusCode);
                    Console.WriteLine("Response:");
                    Console.Write(PrettyXml(response.PageContent) + "\n");
                    Console.WriteLine("=====================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 ProcessManualEntry" + ex.Message.ToString());
            }
        }
Пример #3
0
        /// <summary>
        /// ProcessManualEntryResponseDto process the input request and returns the response
        /// </summary>
        /// <param name="processManualEntryRequestDto"></param>
        /// <returns></returns>
        public ProcessManualEntryResponseDto ProcessManualEntry(ProcessManualEntryRequestDto dto)
        {
            var    response    = new ProcessManualEntryResponseDto();
            string pageContent = string.Empty;
            string soapAction  = "http://www.magensa.net/MPPGv4/IMPPGv4Service/ProcessManualEntry";

            try
            {
                string soapBody = $@"<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:mpp=""http://www.magensa.net/MPPGv4/"" xmlns:mpp1=""http://schemas.datacontract.org/2004/07/MPPGv4WS.Core"" xmlns:sys=""http://schemas.datacontract.org/2004/07/System.Collections.Generic"">
	<soapenv:Header/>
	<soapenv:Body>
		<mpp:ProcessManualEntry>         
			<mpp:ProcessManualEntryRequests>            
				<mpp1:ProcessManualEntryRequest>               
					<mpp1:AdditionalRequestData>                  
						<sys:KeyValuePairOfstringstring>
							<sys:key/>
							<sys:value/>
						</sys:KeyValuePairOfstringstring>
					</mpp1:AdditionalRequestData>
					<mpp1:Authentication>
						<mpp1:CustomerCode>{dto.CustomerCode}</mpp1:CustomerCode>
						<mpp1:Password>{dto.Password}</mpp1:Password>
						<mpp1:Username>{dto.Username}</mpp1:Username>
					</mpp1:Authentication>                 
					<mpp1:CustomerTransactionID>{dto.CustomerTransactionID}</mpp1:CustomerTransactionID>
					<mpp1:ManualEntryInput>						
						<mpp1:AddressLine1>{dto.AddressLine1}</mpp1:AddressLine1>						
						<mpp1:AddressLine2>{dto.AddressLine2}</mpp1:AddressLine2>						
						<mpp1:City>{dto.City}</mpp1:City>						
						<mpp1:Country>{dto.Country}</mpp1:Country>
						<mpp1:ExpirationDate>{dto.ExpirationDate}</mpp1:ExpirationDate>						
						<mpp1:NameOnCard>{dto.NameOnCard}</mpp1:NameOnCard>
						<mpp1:PAN>{dto.PAN}</mpp1:PAN>						
						<mpp1:State>{dto.State}</mpp1:State>						
					</mpp1:ManualEntryInput>
					<mpp1:TransactionInput>                  
						<mpp1:Amount>{dto.Amount}</mpp1:Amount>                  
						<mpp1:ProcessorName>{dto.ProcessorName}</mpp1:ProcessorName>                  
						<mpp1:TransactionInputDetails>                     
							<sys:KeyValuePairOfstringstring>
								<sys:key/>
								<sys:value/>
							</sys:KeyValuePairOfstringstring>
						</mpp1:TransactionInputDetails>
						<mpp1:TransactionType>{dto.TransactionType}</mpp1:TransactionType>
					</mpp1:TransactionInput>
				</mpp1:ProcessManualEntryRequest>
			</mpp:ProcessManualEntryRequests>
		</mpp:ProcessManualEntry>
	</soapenv:Body>
</soapenv:Envelope>";

                MagensaSOAPClient soapClient     = new MagensaSOAPClient(host: Host, certificateFileName: CertificateFileName, certificatePassword: CertificatePassword);
                HttpWebResponse   webResponse    = soapClient.CallWebService(soapAction, soapBody);
                Stream            responseStream = webResponse.GetResponseStream();
                using (StreamReader sr = new StreamReader(responseStream))
                {
                    response.StatusCode  = (int)webResponse.StatusCode;
                    response.PageContent = sr.ReadToEnd();
                }
                responseStream.Close();
                webResponse.Close();
            }
            catch (WebException ex)
            {
                HttpStatusCode sCode = ((HttpWebResponse)ex.Response).StatusCode;
                response.StatusCode  = (int)sCode;
                response.PageContent = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
            }
            catch (Exception ex)
            {
                response.StatusCode  = null;
                response.PageContent = ex.Message;
            }
            return(response);
        }
Пример #4
0
 public (ProcessManualEntryResponseDto Response, RawSoapDetails SoapDetails) ProcessManualEntry(ProcessManualEntryRequestDto dto)
 {
     (ProcessManualEntryResponseDto Response, RawSoapDetails SoapDetails)result = (default, default);