コード例 #1
0
        /// <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());
        }
コード例 #2
0
        /// <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);
        }