예제 #1
0
        public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount)
        {
            Console.WriteLine("GetAnAcceptPaymentPage Sample");
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment         = AuthorizeNet.Environment.SANDBOX;
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                name            = ApiLoginID,
                ItemElementName = ItemChoiceType.transactionKey,
                Item            = ApiTransactionKey,
            };

            settingType[] settings = new settingType[2];

            settings[0]              = new settingType();
            settings[0].settingName  = settingNameEnum.hostedPaymentButtonOptions.ToString();
            settings[0].settingValue = "{\"text\": \"Pay\"}";

            settings[1]              = new settingType();
            settings[1].settingName  = settingNameEnum.hostedPaymentOrderOptions.ToString();
            settings[1].settingValue = "{\"show\": false}";

            var transactionRequest = new transactionRequestType
            {
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                amount          = amount,
                order           = new orderType
                {
                    invoiceNumber = "INV-123456",
                    description   = "TEST INVOICE"
                }
            };

            var request = new getHostedPaymentPageRequest();

            request.transactionRequest    = transactionRequest;
            request.hostedPaymentSettings = settings;

            // instantiate the controller that will call the service
            var controller = new getHostedPaymentPageController(request);

            controller.Execute();

            // get the response from the service (errors contained if any)
            var response = controller.GetApiResponse();

            // validate response
            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
            {
                Console.WriteLine("Message code : " + response.messages.message[0].code);
                Console.WriteLine("Message text : " + response.messages.message[0].text);
                Console.WriteLine("Token : " + response.token);
            }
            else if (response != null)
            {
                Console.WriteLine("Error: " + response.messages.message[0].code + "  " + response.messages.message[0].text);
                Console.WriteLine("Failed to get hosted payment page");
            }

            return(response);
        }
        public static void Run(string ApiLoginId, string ApiTransactionKey)
        {
            Console.WriteLine("Get Hosted Profile Page sample");

            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX;
            // define the merchant information (authentication / transaction id)
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                name            = ApiLoginId,
                ItemElementName = ItemChoiceType.transactionKey,
                Item            = ApiTransactionKey,
            };

            var customerProfileId = "36152116";

            settingType[] settings = new settingType[] {
                new settingType()
                // More settings can be added here as and when required
            };
            settings[0]              = new settingType();
            settings[0].settingName  = settingNameEnum.hostedProfileReturnUrl.ToString();
            settings[0].settingValue = "https://returnurl.com/return/";


            var request = new getHostedProfilePageRequest();

            request.customerProfileId     = customerProfileId;
            request.hostedProfileSettings = settings;

            var controller = new getHostedProfilePageController(request);

            controller.Execute();

            var response = controller.GetApiResponse();

            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
            {
                Console.WriteLine(response.messages.message[0].code);
                Console.WriteLine(response.messages.message[0].text);
                Console.WriteLine("Token: " + response.token.ToString());
            }
            else
            {
                Console.WriteLine("Error: " + response.messages.message[0].code + "  " +
                                  response.messages.message[0].text);
            }
        }
        public static ANetApiResponse Run(string ApiLoginId, string ApiTransactionKey, string customerProfileId, string hostedPaymentIFrameCommunicatorUrl)
        {
            Console.WriteLine("Get Accept Customer Profile Page sample");

            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX;
            // define the merchant information (authentication / transaction id)
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                name            = ApiLoginId,
                ItemElementName = ItemChoiceType.transactionKey,
                Item            = ApiTransactionKey,
            };

            settingType[] settings = new settingType[1];

            settings[0]              = new settingType();
            settings[0].settingName  = settingNameEnum.hostedProfileIFrameCommunicatorUrl.ToString();
            settings[0].settingValue = hostedPaymentIFrameCommunicatorUrl;

            var request = new getHostedProfilePageRequest();

            request.customerProfileId     = customerProfileId;
            request.hostedProfileSettings = settings;

            var controller = new getHostedProfilePageController(request);

            controller.Execute();

            var response = controller.GetApiResponse();

            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
            {
                Console.WriteLine(response.messages.message[0].code);
                Console.WriteLine(response.messages.message[0].text);
                Console.WriteLine("Token: " + response.token.ToString());
            }
            else if (response != null)
            {
                Console.WriteLine("Error: " + response.messages.message[0].code + "  " +
                                  response.messages.message[0].text);
            }

            return(response);
        }
예제 #4
0
        public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, string hostedPaymentIFrameCommunicatorUrl, string customerProfileId = null)
        {
            Console.WriteLine("GetAnAcceptPaymentPage Sample");
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment         = AuthorizeNet.Environment.SANDBOX;
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                name            = ApiLoginID,
                ItemElementName = ItemChoiceType.transactionKey,
                Item            = ApiTransactionKey,
            };

            settingType[] settings = new settingType[5];

            settings[0]              = new settingType();
            settings[0].settingName  = settingNameEnum.hostedPaymentButtonOptions.ToString();
            settings[0].settingValue = "{\"text\": \"Pay\"}";

            settings[1]              = new settingType();
            settings[1].settingName  = settingNameEnum.hostedPaymentOrderOptions.ToString();
            settings[1].settingValue = "{\"show\": false}";


            settings[2]              = new settingType();
            settings[2].settingName  = settingNameEnum.hostedPaymentIFrameCommunicatorUrl.ToString();
            settings[2].settingValue = "{\"url\": \"" + hostedPaymentIFrameCommunicatorUrl + "\"}";

            settings[3]              = new settingType();
            settings[3].settingName  = settingNameEnum.hostedPaymentBillingAddressOptions.ToString();
            settings[3].settingValue = "{\"show\": false}";

            settings[4]              = new settingType();
            settings[4].settingName  = settingNameEnum.hostedPaymentReturnOptions.ToString();
            settings[4].settingValue = "{\"showReceipt\": false,\"url\":\"" + hostedPaymentIFrameCommunicatorUrl + "\",\"urlText\":\"Continue\",\"cancelUrlText\":\"Cancel\"}";


            var custprofile = new customerProfilePaymentType
            {
                customerProfileId = customerProfileId
            };

            var transactionRequest = new transactionRequestType
            {
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                amount          = 99,
                profile         = custprofile
            };

            var request = new getHostedPaymentPageRequest();

            request.transactionRequest    = transactionRequest;
            request.hostedPaymentSettings = settings;

            // instantiate the contoller that will call the service
            var controller = new getHostedPaymentPageController(request);

            controller.Execute();

            // get the response from the service (errors contained if any)
            var response = controller.GetApiResponse();

            //validate
            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
            {
                Console.WriteLine("Message code : " + response.messages.message[0].code);
                Console.WriteLine("Message text : " + response.messages.message[0].text);
                Console.WriteLine("Token : " + response.token);
            }
            else if (response != null)
            {
                Console.WriteLine("Error: " + response.messages.message[0].code + "  " + response.messages.message[0].text);
                Console.WriteLine("Failed to get hosted payment page");
            }

            return(response);
        }
예제 #5
0
 public static void settingType(settingType request)
 {
 }
예제 #6
0
        public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount, Page p, out string token)
        {
            p.Response.Write("GetAnAcceptPaymentPage Sample\n");

            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment         = AuthorizeNet.Environment.SANDBOX;
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                name            = ApiLoginID,
                ItemElementName = ItemChoiceType.transactionKey,
                Item            = ApiTransactionKey,
            };

            settingType[] settings = new settingType[3];

            settings[0]              = new settingType();
            settings[0].settingName  = settingNameEnum.hostedPaymentButtonOptions.ToString();
            settings[0].settingValue = "{\"text\": \"Pay\"}";

            settings[1]              = new settingType();
            settings[1].settingName  = settingNameEnum.hostedPaymentOrderOptions.ToString();
            settings[1].settingValue = "{\"show\": true}";

            settings[2]              = new settingType();
            settings[2].settingName  = settingNameEnum.hostedPaymentReturnOptions.ToString();
            settings[2].settingValue = "{\"showReceipt\": true, \"url\": \"http://*****:*****@test.com",
                taxId = "123"
            };

            var order = new orderType();

            order.invoiceNumber = "123123";
            order.description   = "234234";

            var transactionRequest = new transactionRequestType
            {
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                amount          = amount,
                lineItems       = lineItems,
                billTo          = billingAddress,
                customerIP      = "192.1.1.1",
                order           = order
            };

            var request = new getHostedPaymentPageRequest();

            request.transactionRequest    = transactionRequest;
            request.hostedPaymentSettings = settings;

            request.refId = "11111111";


            // instantiate the controller that will call the service
            var controller = new getHostedPaymentPageController(request);

            controller.Execute();

            // get the response from the service (errors contained if any)
            var response = controller.GetApiResponse();

            // validate response
            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
            {
                p.Response.Write("Message code : " + response.messages.message[0].code);
                p.Response.Write("Message text : " + response.messages.message[0].text);
                //p.Response.Write("Token : " + response.token);
            }
            else if (response != null)
            {
                p.Response.Write("Error: " + response.messages.message[0].code + "  " + response.messages.message[0].text);
                p.Response.Write("Failed to get hosted payment page");
            }

            token = response.token;


            return(response);
        }
예제 #7
0
        public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount, Page p, out string token)
        {
            p.Response.Write("GetAnAcceptPaymentPage Sample\n");

            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment         = AuthorizeNet.Environment.SANDBOX;
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                name            = ApiLoginID,
                ItemElementName = ItemChoiceType.transactionKey,
                Item            = ApiTransactionKey,
            };

            settingType[] settings = new settingType[3];

            settings[0]              = new settingType();
            settings[0].settingName  = settingNameEnum.hostedPaymentButtonOptions.ToString();
            settings[0].settingValue = "{\"text\": \"Pay\"}";

            settings[1]              = new settingType();
            settings[1].settingName  = settingNameEnum.hostedPaymentOrderOptions.ToString();
            settings[1].settingValue = "{\"show\": true}";

            settings[2]              = new settingType();
            settings[2].settingName  = settingNameEnum.hostedPaymentIFrameCommunicatorUrl.ToString();
            settings[2].settingValue = "{\"url\": \"http://*****:*****@test.com",
            };

            var transactionRequest = new transactionRequestType
            {
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                amount          = amount,
                lineItems       = lineItems,
                billTo          = billingAddress,
                refTransId      = "123456",
                customer        = customer,
                customerIP      = "192.168.1.1",
                //payment = paymentType payment information should not be sent in hosted payment option this will not generate token
            };

            var request = new getHostedPaymentPageRequest();

            request.transactionRequest    = transactionRequest;
            request.hostedPaymentSettings = settings;

            // instantiate the controller that will call the service
            var controller = new getHostedPaymentPageController(request);

            controller.Execute();

            // get the response from the service (errors contained if any)
            var response = controller.GetApiResponse();

            // validate response
            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
            {
                p.Response.Write("Message code : " + response.messages.message[0].code);
                p.Response.Write("Message text : " + response.messages.message[0].text);
                //p.Response.Write("Token : " + response.token);
            }
            else if (response != null)
            {
                p.Response.Write("Error: " + response.messages.message[0].code + "  " + response.messages.message[0].text);
                p.Response.Write("Failed to get hosted payment page");
            }

            token = response.token;


            return(response);
        }
예제 #8
0
        private bool ProcessPayment()
        {
            RegistrationType regType = (RegistrationType)GetFromViewState(REG_TYPE_VIEW_STATE);

            // Create registration record
            int participantId = CreateRegistration(regType);


            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.PRODUCTION;

            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                // Sandbox Account - Uncomment to run in sandbox mode
                //name = "3QeAr3WX7z",
                //Item = "9f896x36Uy242FQf",
                // -----------------------------------------------------
                // Production Account - Uncomment to run in production mode
                name = "2B4f4zGR",
                Item = "98y32V6UX4kfStLz",
                // -----------------------------------------------------
                ItemElementName = ItemChoiceType.transactionKey
            };

            var creditCard = new creditCardType
            {
                cardNumber     = txtCreditCardNumber.Text,
                expirationDate = (ddlExpirationMonth.SelectedValue + ddlExpirationYear.SelectedValue)
            };

            var paymentType = new paymentType {
                Item = creditCard
            };

            var billToType = new customerAddressType
            {
                firstName = txtFirstName.Text,
                lastName  = txtLastName.Text,
                email     = txtEmail.Text
            };

            var customerType = new customerDataType
            {
                email = txtEmail.Text,
                type  = customerTypeEnum.individual
            };

            var orderType = new orderType
            {
                invoiceNumber = "2019 - " + participantId,
                description   = "Preregistration for Ragnarok 2019"
            };

            settingType[] settings = new settingType[] {
                new settingType
                {
                    settingName  = "emailCustomer",
                    settingValue = "true"
                },
                new settingType
                {
                    settingName  = "headerEmailReceipt",
                    settingValue = "Receipt for your registration to attend Ragnarok 2019"
                },
                new settingType
                {
                    settingName  = "footerEmailReceipt",
                    settingValue = "Thank you for attending Ragnarok 2019, and we look forward to seeing you!"
                }
            };

            var transcationSettingsType = new settingType
            {
                settingName  = "emailCustomer",
                settingValue = "true"
            };

            var transactionRequest = new transactionRequestType
            {
                transactionType     = transactionTypeEnum.authCaptureTransaction.ToString(),
                amount              = Convert.ToDecimal(regType.Cost),
                payment             = paymentType,
                billTo              = billToType,
                order               = orderType,
                customer            = customerType,
                transactionSettings = settings
            };

            var request = new createTransactionRequest {
                transactionRequest = transactionRequest
            };

            try
            {
                var controller = new createTransactionController(request);
                controller.Execute();

                var response = controller.GetApiResponse();

                if (response.messages.resultCode == messageTypeEnum.Ok)
                {
                    if (!regType.IsMinor)
                    {
                        SaveSignature(participantId);
                    }

                    CompleteRegistration(participantId, response.transactionResponse.authCode, response.transactionResponse.transId, regType);

                    UpdateRegistration(participantId, "Paid");
                }
                else
                {
                    cardError.Text = "<br /><br />Error!  " + response.messages.message[0].code + " " + response.messages.message[0].text;

                    if (response.messages.message[0].code == "2")
                    {
                        UpdateRegistration(participantId, "Declined");
                    }
                    else
                    {
                        UpdateRegistration(participantId, "Errored");
                    }

                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                cardError.Text = "<br /><br />Error! There was a problem submitting your payment.  Please try again.  If you are still unsuccessful, please contact Troll.";

                string errMessage = "Message: " + ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += " | Inner Exception: " + ex.InnerException.Message;
                }

                AddError(errMessage);
                return(false);
            }
        }
예제 #9
0
        //public static ANetApiResponse Run(string ApiLoginId, string ApiTransactionKey, string customerProfileId)
        //{
        //    Console.WriteLine("Get Accept Customer Profile Page sample");

        //    ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNET.Environment.SANDBOX;
        //    // define the merchant information (authentication / transaction id)
        //    ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()
        //    {
        //        name = ApiLoginId,
        //        ItemElementName = ItemChoiceType.transactionKey,
        //        Item = ApiTransactionKey,
        //    };

        //    settingType[] settings = new settingType[]{
        //                                        new settingType()
        //                                        // More settings can be added here as and when required
        //                            };
        //    settings[0] = new settingType();
        //    settings[0].settingName = settingNameEnum.hostedProfileReturnUrl.ToString();
        //    settings[0].settingValue = "https://returnurl.com/return/";


        //    var request = new getHostedProfilePageRequest();
        //    request.customerProfileId = customerProfileId;
        //    request.hostedProfileSettings = settings;

        //    var controller = new getHostedProfilePageController(request);
        //    controller.Execute();

        //    var response = controller.GetApiResponse();

        //    if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
        //    {
        //        Console.WriteLine(response.messages.message[0].code);
        //        Console.WriteLine(response.messages.message[0].text);
        //        Console.WriteLine("Token: " + response.token.ToString());
        //    }
        //    else if(response != null)
        //    {
        //        Console.WriteLine("Error: " + response.messages.message[0].code + "  " +
        //                                      response.messages.message[0].text);
        //    }

        //    return response;
        //}
        public static void GetAcceptCustomerProfilePageExec(String ApiLoginID, String ApiTransactionKey)
        {
            Console.WriteLine("Get Accept Customer Profile Page sample");
            using (CsvReader csv = new CsvReader(new StreamReader(new FileStream(@"../../../CSV_DATA/GetAcceptCustomerProfilePage.csv", FileMode.Open)), true))
            {
                int fieldCount = csv.FieldCount;
                //Append Data
                var item1 = DataAppend.ReadPrevData();
                using (CsvFileWriter writer = new CsvFileWriter(new FileStream(@"../../../CSV_DATA/Outputfile.csv", FileMode.Open)))
                {
                    int      flag    = 0;
                    string[] headers = csv.GetFieldHeaders();
                    while (csv.ReadNextRecord())
                    {
                        // Create Instance of Customer Api
                        ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNET.Environment.SANDBOX;
                        // define the merchant information (authentication / transaction id)
                        ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
                        {
                            name            = ApiLoginID,
                            ItemElementName = ItemChoiceType.transactionKey,
                            Item            = ApiTransactionKey,
                        };
                        //CustomersApi instance = new CustomersApi(EnvironmentSet.Sandbox);
                        // Customer Response Object
                        // Customer response = null;
                        //initialization


                        string customerProfileId = null;
                        string TestCaseId        = null;

                        for (int i = 0; i < fieldCount; i++)
                        {
                            switch (headers[i])
                            {
                            case "customerProfileId":
                                customerProfileId = csv[i];
                                break;

                            case "TestCaseId":
                                TestCaseId = csv[i];
                                break;

                            default:
                                break;
                            }
                        }
                        //Write to output file
                        CsvRow row = new CsvRow();
                        try
                        {
                            if (flag == 0)
                            {
                                row.Add("TestCaseId");
                                row.Add("APIName");
                                row.Add("Status");
                                row.Add("TimeStamp");
                                writer.WriteRow(row);
                                flag = flag + 1;
                                //Append Data
                                foreach (var item in item1)
                                {
                                    writer.WriteRow(item);
                                }
                            }
                            //response = instance.GetCustomer(customerId, authorization);
                            settingType[] settings = new settingType[] {
                                new settingType()
                                // More settings can be added here as and when required
                            };
                            settings[0]              = new settingType();
                            settings[0].settingName  = settingNameEnum.hostedProfileReturnUrl.ToString();
                            settings[0].settingValue = "https://returnurl.com/return/";


                            var request = new getHostedProfilePageRequest();
                            request.customerProfileId     = customerProfileId;
                            request.hostedProfileSettings = settings;

                            var controller = new getHostedProfilePageController(request);
                            controller.Execute();

                            var response = controller.GetApiResponse();

                            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
                            {
                                try
                                {
                                    //Assert.AreEqual(response.Id, customerProfileId);
                                    Console.WriteLine("Assertion Succeed! Valid CustomerId fetched.");
                                    CsvRow row1 = new CsvRow();
                                    row1.Add("GACPP_00" + flag.ToString());
                                    row1.Add("GetAcceptCustomerProfilePage");
                                    row1.Add("Pass");
                                    row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                                    writer.WriteRow(row1);
                                    //  Console.WriteLine("Success " + TestcaseID + " CustomerID : " + response.Id);
                                    flag = flag + 1;
                                    Console.WriteLine(response.messages.message[0].code);
                                    Console.WriteLine(response.messages.message[0].text);
                                    Console.WriteLine("Token: " + response.token.ToString());
                                }
                                catch
                                {
                                    CsvRow row1 = new CsvRow();
                                    row1.Add("GACPP_00" + flag.ToString());
                                    row1.Add("GetAcceptCustomerProfilePage");
                                    row1.Add("Fail");
                                    row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                                    writer.WriteRow(row1);
                                    //Console.WriteLine("Assertion Failed! Invalid CustomerId fetched.");
                                    flag = flag + 1;
                                }
                            }
                            else
                            {
                                CsvRow row1 = new CsvRow();
                                row1.Add("GACPP_00" + flag.ToString());
                                row1.Add("GetAcceptCustomerProfilePage");
                                row1.Add("Fail");
                                row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                                writer.WriteRow(row1);
                                //Console.WriteLine("Assertion Failed! Invalid CustomerId fetched.");
                                flag = flag + 1;
                            }
                        }
                        catch (Exception e)
                        {
                            CsvRow row2 = new CsvRow();
                            row2.Add("GACPP_00" + flag.ToString());
                            row2.Add("GetAcceptCustomerProfilePage");
                            row2.Add("Fail");
                            row2.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                            writer.WriteRow(row2);
                            flag = flag + 1;
                            Console.WriteLine(TestCaseId + " Error Message " + e.Message);
                        }
                    }
                }
            }
        }
예제 #10
0
        //public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount)
        //{
        //    Console.WriteLine("GetAnAcceptPaymentPage Sample");
        //    ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNET.Environment.SANDBOX;
        //    ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()
        //    {
        //        name = ApiLoginID,
        //        ItemElementName = ItemChoiceType.transactionKey,
        //        Item = ApiTransactionKey,
        //    };

        //    settingType[] settings = new settingType[2];

        //    settings[0] = new settingType();
        //    settings[0].settingName = settingNameEnum.hostedPaymentButtonOptions.ToString();
        //    settings[0].settingValue = "{\"text\": \"Pay\"}";

        //    settings[1] = new settingType();
        //    settings[1].settingName = settingNameEnum.hostedPaymentOrderOptions.ToString();
        //    settings[1].settingValue = "{\"show\": false}";

        //    var transactionRequest = new transactionRequestType
        //    {
        //        transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
        //        amount = amount
        //    };

        //    var request = new getHostedPaymentPageRequest();
        //    request.transactionRequest = transactionRequest;
        //    request.hostedPaymentSettings = settings;

        //    // instantiate the contoller that will call the service
        //    var controller = new getHostedPaymentPageController(request);
        //    controller.Execute();

        //    // get the response from the service (errors contained if any)
        //    var response = controller.GetApiResponse();

        //    //validate
        //    if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
        //    {
        //        Console.WriteLine("Message code : " + response.messages.message[0].code);
        //        Console.WriteLine("Message text : " + response.messages.message[0].text);
        //        Console.WriteLine("Token : " + response.token);
        //    }
        //    else if (response != null)
        //    {
        //        Console.WriteLine("Error: " + response.messages.message[0].code + "  " + response.messages.message[0].text);
        //        Console.WriteLine("Failed to get hosted payment page");
        //    }

        //    return response;
        //}
        public static void GetAnAcceptPaymentPageExec(String ApiLoginID, String ApiTransactionKey)
        {
            using (CsvReader csv = new CsvReader(new StreamReader(new FileStream(@"../../../CSV_DATA/GetAnAcceptPaymentPage.csv", FileMode.Open)), true))
            {
                int fieldCount = csv.FieldCount;
                //Append Data
                var item1 = DataAppend.ReadPrevData();
                using (CsvFileWriter writer = new CsvFileWriter(new FileStream(@"../../../CSV_DATA/Outputfile.csv", FileMode.Open)))
                {
                    int      flag    = 0;
                    string[] headers = csv.GetFieldHeaders();
                    while (csv.ReadNextRecord())
                    {
                        // Create Instance of Customer Api
                        ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNET.Environment.SANDBOX;
                        // define the merchant information (authentication / transaction id)
                        ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
                        {
                            name            = ApiLoginID,
                            ItemElementName = ItemChoiceType.transactionKey,
                            Item            = ApiTransactionKey,
                        };
                        string Amount = null;

                        string TestCaseId = null;

                        for (int i = 0; i < fieldCount; i++)
                        {
                            switch (headers[i])
                            {
                            case "Amount":
                                Amount = csv[i];
                                break;

                            case "TestCaseId":
                                TestCaseId = csv[i];
                                break;


                            default:
                                break;
                            }
                        }
                        //Write to output file
                        CsvRow row = new CsvRow();
                        try
                        {
                            if (flag == 0)
                            {
                                row.Add("TestCaseId");
                                row.Add("APIName");
                                row.Add("Status");
                                row.Add("TimeStamp");
                                writer.WriteRow(row);
                                flag = flag + 1;
                                //Append Data
                                foreach (var item in item1)
                                {
                                    writer.WriteRow(item);
                                }
                            }

                            settingType[] settings = new settingType[2];

                            settings[0]              = new settingType();
                            settings[0].settingName  = settingNameEnum.hostedPaymentButtonOptions.ToString();
                            settings[0].settingValue = "{\"text\": \"Pay\"}";

                            settings[1]              = new settingType();
                            settings[1].settingName  = settingNameEnum.hostedPaymentOrderOptions.ToString();
                            settings[1].settingValue = "{\"show\": false}";

                            var transactionRequest = new transactionRequestType
                            {
                                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                                amount          = Convert.ToDecimal(Amount)
                            };

                            var request = new getHostedPaymentPageRequest();
                            request.transactionRequest    = transactionRequest;
                            request.hostedPaymentSettings = settings;

                            // instantiate the contoller that will call the service
                            var controller = new getHostedPaymentPageController(request);
                            controller.Execute();

                            // get the response from the service (errors contained if any)
                            var response = controller.GetApiResponse();
                            if (response != null && response.messages.resultCode == messageTypeEnum.Ok)
                            {
                                try
                                {
                                    //Assert.AreEqual(response.Id, customerProfileId);
                                    Console.WriteLine("Assertion Succeed! Valid CustomerId fetched.");
                                    CsvRow row1 = new CsvRow();
                                    row1.Add("GAPP-00" + flag.ToString());
                                    row1.Add("GetAnAcceptPaymentPage");
                                    row1.Add("Pass");
                                    row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                                    writer.WriteRow(row1);
                                    //  Console.WriteLine("Success " + TestcaseID + " CustomerID : " + response.Id);
                                    flag = flag + 1;
                                    Console.WriteLine("Message code : " + response.messages.message[0].code);
                                    Console.WriteLine("Message text : " + response.messages.message[0].text);
                                    Console.WriteLine("Token : " + response.token);
                                }
                                catch
                                {
                                    CsvRow row1 = new CsvRow();
                                    row1.Add("GAPP_00" + flag.ToString());
                                    row1.Add("GetAnAcceptPaymentPage");
                                    row1.Add("Assertion Failed!");
                                    row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                                    writer.WriteRow(row1);
                                    //Console.WriteLine("Assertion Failed! Invalid CustomerId fetched.");
                                    flag = flag + 1;
                                }
                            }
                            else
                            {
                                CsvRow row1 = new CsvRow();
                                row1.Add("GAPP_00" + flag.ToString());
                                row1.Add("GetAnAcceptPaymentPage");
                                row1.Add("Fail");
                                row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                                writer.WriteRow(row1);
                                //Console.WriteLine("Assertion Failed! Invalid CustomerId fetched.");
                                flag = flag + 1;
                            }
                        }
                        catch (Exception e)
                        {
                            CsvRow row2 = new CsvRow();
                            row2.Add("GAPP_00" + flag.ToString());
                            row2.Add("GetAnAcceptPaymentPage");
                            row2.Add("Fail");
                            row2.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff"));
                            writer.WriteRow(row2);
                            flag = flag + 1;
                            Console.WriteLine(TestCaseId + " Error Message " + e.Message);
                        }
                    }
                }
            }
        }