/// <summary> /// Method returns string value of IPGApiOrderResponse object /// </summary> /// <param name="oIPGApiOrderResponse">IPGApiOrderResponse object to create string from</param> /// <returns>string value containing all IPGApiOrderResponse values</returns> public static string IPGApiOrderResponseToString(this IPGApiOrderResponse oIPGApiOrderResponse) { if (oIPGApiOrderResponse == null) { return(""); } StringBuilder result = new StringBuilder(); result.Append(Environment.NewLine + "IPGApiOrderResponse : " + Environment.NewLine); var items = new Dictionary <string, string>() { { "ApprovalCode", oIPGApiOrderResponse.ApprovalCode }, { "AVSResponse", oIPGApiOrderResponse.AVSResponse }, { "Brand", oIPGApiOrderResponse.Brand }, { "CommercialServiceProvider", oIPGApiOrderResponse.CommercialServiceProvider }, { "Country", oIPGApiOrderResponse.Country }, { "ErrorMessage", oIPGApiOrderResponse.ErrorMessage }, { "MandateReference", oIPGApiOrderResponse.MandateReference }, { "OrderId", oIPGApiOrderResponse.OrderId }, { "PayerSecurityLevel", oIPGApiOrderResponse.PayerSecurityLevel }, { "PaymentType", oIPGApiOrderResponse.PaymentType }, { "ProcessorApprovalCode", oIPGApiOrderResponse.ProcessorApprovalCode }, { "ProcessorCCVResponse", oIPGApiOrderResponse.ProcessorCCVResponse }, { "ProcessorReceiptNumber", oIPGApiOrderResponse.ProcessorReceiptNumber }, { "ProcessorReferenceNumber", oIPGApiOrderResponse.ProcessorReferenceNumber }, { "ProcessorResponseCode", oIPGApiOrderResponse.ProcessorResponseCode }, { "ProcessorResponseMessage", oIPGApiOrderResponse.ProcessorResponseMessage }, { "ProcessorTraceNumber", oIPGApiOrderResponse.ProcessorTraceNumber }, { "TDate", oIPGApiOrderResponse.TDate }, { "TDateFormatted", oIPGApiOrderResponse.TDateFormatted }, { "TerminalID", oIPGApiOrderResponse.TerminalID }, { "TransactionResult", oIPGApiOrderResponse.TransactionResult }, { "TransactionTime", oIPGApiOrderResponse.TransactionTime }, { "ReferencedTDate", oIPGApiOrderResponse.ReferencedTDate }, }; result.Append(items.NotNullDataToString() + Environment.NewLine); result.Append(EMVCardPresentResponseToString(oIPGApiOrderResponse.EMVCardPresentResponse)); return(result.ToString()); }
/// <summary> /// Method creates IPGAPI Order request, sends it and recieves IPG API Order Response /// </summary> /// <param name="oIPGApiOrderRequest"></param> /// <returns>IPG API Order Response as string</returns> private static String SendOrderRequest(IPGApiOrderRequest oIPGApiOrderRequest) { var cert = CertificateHandler.LoadCertificate(@"c:\certificates\WS120995000._.4.p12", "tester02"); IPGApiOrderService oIPGApiOrderService = new IPGApiOrderService(); String RequestResponseMessage = ""; if (cert != null) { oIPGApiOrderService.ClientCertificates.Add(cert); oIPGApiOrderService.Url = @"https://test.ipg-online.com:443/ipgapi/services"; NetworkCredential nc = new NetworkCredential("WS120995000._.4", "Tester02"); oIPGApiOrderService.Credentials = nc; //set proxy host and port IWebProxy webProxy = new WebProxy("host", 8080); webProxy.Credentials = new NetworkCredential("username", "password"); oIPGApiOrderService.Proxy = webProxy; try { //send action request and get response IPGApiOrderResponse oResponse = oIPGApiOrderService.IPGApiOrder(oIPGApiOrderRequest); RequestResponseMessage = oResponse.IPGApiOrderResponseToString() ?? ""; } catch (SoapException se) {//SoapException: MerchantException or ProcessingException RequestResponseMessage = se.SoapExceptionResponseToString() ?? ""; } catch (Exception e) { RequestResponseMessage = e.Message + Environment.NewLine; RequestResponseMessage += e.InnerException + Environment.NewLine; RequestResponseMessage += e.StackTrace; } } return(RequestResponseMessage); }