public void MockgetHostedPaymentPageTest()
        {
            //define all mocked objects as final
            var mockController = GetMockController <getHostedPaymentPageRequest, getHostedPaymentPageResponse>();
            var mockRequest    = new getHostedPaymentPageRequest
            {
                merchantAuthentication = new merchantAuthenticationType()
                {
                    name = "mocktest", Item = "mockKey", ItemElementName = ItemChoiceType.transactionKey
                },
            };
            var mockResponse = new getHostedPaymentPageResponse
            {
                refId        = "1234",
                sessionToken = "sessiontoken",
                token        = "123123"
            };

            var errorResponse = new ANetApiResponse();
            var results       = new List <String>();
            const messageTypeEnum messageTypeOk = messageTypeEnum.Ok;

            SetMockControllerExpectations <getHostedPaymentPageRequest, getHostedPaymentPageResponse, getHostedPaymentPageController>(
                mockController.MockObject, mockRequest, mockResponse, errorResponse, results, messageTypeOk);
            mockController.MockObject.Execute(AuthorizeNet.Environment.CUSTOM);
            //mockController.MockObject.Execute();
            // or var controllerResponse = mockController.MockObject.ExecuteWithApiResponse(AuthorizeNet.Environment.CUSTOM);
            var controllerResponse = mockController.MockObject.GetApiResponse();

            Assert.IsNotNull(controllerResponse);

            Assert.IsNotNull(controllerResponse.token);
            LogHelper.info(Logger, "getHostedPaymentPage: Details:{0}", controllerResponse.token);
        }
Пример #2
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 ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount)
        {
            Console.WriteLine("GetHostedPaymentPage 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;
        }
Пример #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 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);
        }
Пример #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.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);
        }
Пример #7
0
        public override PaymentHtmlForm GenerateHtmlForm(Order order, string teaCommerceContinueUrl, string teaCommerceCancelUrl, string teaCommerceCallBackUrl, string teaCommerceCommunicationUrl, IDictionary <string, string> settings)
        {
            order.MustNotBeNull("order");
            settings.MustNotBeNull("settings");
            settings.MustContainKey("capture", "settings");
            settings.MustContainKey("mode", "settings");
            settings.MustContainKey(settings["mode"] + "_api_login_id", "settings");
            settings.MustContainKey(settings["mode"] + "_transaction_key", "settings");

            // Configure AuthorizeNet
            ConfigureAuthorizeNet(settings);

            // Create the transition request
            var transactionRequest = new transactionRequestType
            {
                transactionType = settings["capture"] == "true"
                    ? transactionTypeEnum.authCaptureTransaction.ToString()
                    : transactionTypeEnum.authOnlyTransaction.ToString(),
                amount   = ToTwoDecimalPlaces(order.TotalPrice.Value.WithVat),
                customer = new customerDataType
                {
                    id    = order.CustomerId,
                    email = order.PaymentInformation.Email
                },
                billTo = new customerAddressType
                {
                    firstName = order.PaymentInformation.FirstName,
                    lastName  = order.PaymentInformation.LastName,
                    email     = order.PaymentInformation.Email
                },
                order = new orderType
                {
                    invoiceNumber = order.CartNumber
                }
            };

            // Configure payment page settings
            var paymentSettings = new List <settingType>();

            var returnOptions = GetOptionsFromSettings(settings, "return_options_");

            if (!returnOptions.ContainsKey("url"))
            {
                returnOptions.Add("url", teaCommerceContinueUrl);
            }
            if (!returnOptions.ContainsKey("cancelUrl"))
            {
                returnOptions.Add("cancelUrl", teaCommerceCancelUrl);
            }
            if (!returnOptions.ContainsKey("showReceipt"))
            {
                returnOptions.Add("showReceipt", false);
            }
            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentReturnOptions, returnOptions);

            var buttonOptions = GetOptionsFromSettings(settings, "button_options_");

            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentButtonOptions, buttonOptions);

            var orderOptions = GetOptionsFromSettings(settings, "order_options_");

            if (orderOptions.ContainsKey("merchantName") && !orderOptions.ContainsKey("show"))
            {
                orderOptions.Add("show", true);
            }
            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentOrderOptions, orderOptions);

            var styleOptions = GetOptionsFromSettings(settings, "style_options_");

            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentStyleOptions, styleOptions);

            var paymentOptions = GetOptionsFromSettings(settings, "payment_options_");

            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentPaymentOptions, paymentOptions);

            var securityOptions = GetOptionsFromSettings(settings, "security_options_");

            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentSecurityOptions, securityOptions);

            var shippingAddressOptions = GetOptionsFromSettings(settings, "shipping_address_options_");

            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentShippingAddressOptions, shippingAddressOptions);

            var billingAddressOptions = GetOptionsFromSettings(settings, "billing_address_options_");

            if (!billingAddressOptions.ContainsKey("show"))
            {
                billingAddressOptions.Add("show", false);
            }
            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentBillingAddressOptions, billingAddressOptions);

            var customerOptions = GetOptionsFromSettings(settings, "customer_options_");

            AddOptionsToPaymentSettings(paymentSettings, settingNameEnum.hostedPaymentCustomerOptions, customerOptions);

            // Configure payment page request
            var hostedPaymentPageRequest = new getHostedPaymentPageRequest
            {
                transactionRequest    = transactionRequest,
                hostedPaymentSettings = paymentSettings.ToArray()
            };

            // Instantiate the controller that will call the service
            var hostedPaymentPageController = new getHostedPaymentPageController(hostedPaymentPageRequest);

            hostedPaymentPageController.Execute();

            // Get the response from the service (errors contained if any)
            var hostedPaymentPageResponse = hostedPaymentPageController.GetApiResponse();

            if (hostedPaymentPageResponse == null && hostedPaymentPageResponse.messages.resultCode != messageTypeEnum.Ok)
            {
                throw new ApplicationException("Unable to retrieve Authorize.NET token");
            }

            PaymentHtmlForm htmlForm = new PaymentHtmlForm
            {
                Action = settings["mode"] == "sandbox"
                    ? "https://test.authorize.net/payment/payment"
                    : "https://accept.authorize.net/payment/payment"
            };

            htmlForm.InputFields["token"] = hostedPaymentPageResponse.token;

            return(htmlForm);
        }
        public string GetFormToken(decimal amount)
        {
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment         = AuthorizeNet.Environment.SANDBOX;
            ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
            {
                name            = "35WkY7AsU",
                ItemElementName = ItemChoiceType.transactionKey,
                Item            = "85T8Hsv4JMu76P5b"
            };

            var customerProfile = new customerProfilePaymentType();

            customerProfile.customerProfileId = "1927580170";
            customerProfile.createProfile     = true;

            var transactionRequest = new transactionRequestType
            {
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                amount          = amount,
                profile         = customerProfile
                ,
                billTo = new customerAddressType
                {
                    firstName = "firstname",
                    lastName  = "lastname",
                    address   = "address",
                    city      = "city",
                    state     = "state",
                    zip       = "zip"
                }
                //order = new orderType
                //{
                //    invoiceNumber = "INV-123456",
                //    description = "TEST INVOICE",
                //    purchaseOrderDateUTC= DateTime.Now.ToUniversalTime()
                //}
            };

            var settings = new List <settingType>();

            settings.Add(new settingType()
            {
                settingName  = settingNameEnum.hostedPaymentButtonOptions.ToString(),
                settingValue = @"{""text"": ""Pay""}"
            });

            settings.Add(new settingType()
            {
                settingName  = settingNameEnum.hostedPaymentPaymentOptions.ToString(),
                settingValue = @"{""cardCodeRequired"": true, ""showCreditCard"": true, ""showBankAccount"": true}"
            });

            settings.Add(new settingType()
            {
                settingName  = settingNameEnum.hostedPaymentReturnOptions.ToString(),
                settingValue = @"{""showReceipt"": false }"
            });

            //settings.Add(new settingType()
            //{
            //    settingName = settingNameEnum.hostedPaymentCustomerOptions.ToString(),
            //    settingValue = @"{""addPaymentProfile"": true }"
            //});

            //settings.Add(new settingType()
            //{
            //    settingName = settingNameEnum.hostedPaymentReturnOptions.ToString(),
            //    settingValue = @"{""showReceipt"": true, ""url"": ""http://*****:*****@"{""show"": true}"
            });
            //settings.Add(new settingType()
            //{
            //    settingName = settingNameEnum.hostedPaymentShippingAddressOptions.ToString(),
            //    settingValue = @"{""show"" : false }"
            //});
            settings.Add(new settingType()
            {
                settingName  = settingNameEnum.hostedPaymentBillingAddressOptions.ToString(),
                settingValue = @"{""show"" : false, ""required"" : false }"
            });

            settings.Add(new settingType()
            {
                settingName  = settingNameEnum.hostedPaymentStyleOptions.ToString(),
                settingValue = @"{""bgColor"" : ""green""}"
            });

            //settings.Add(new settingType()
            //{
            //    settingName = settingNameEnum.hostedProfileHeadingBgColor.ToString(),
            //    settingValue =  @"{""green"" }"
            //});

            //settings.Add(new settingType()
            //{
            //    settingName = settingNameEnum.hostedProfilePageBorderVisible.ToString(),
            //    settingValue = @"{false}"
            //});
            //string Url= ""http://*****:*****@"{ ""url"" : ""http://localhost:4201/IFrameCommunicator.html"" }"
            });


            var request = new getHostedPaymentPageRequest();

            request.transactionRequest    = transactionRequest;
            request.hostedPaymentSettings = settings.ToArray();

            // 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();


            return(response.token);
        }
        //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);
                        }
                    }
                }
            }
        }
Пример #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.PRODUCTION;

                ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType()
                {
                    name            = "**********",
                    ItemElementName = ItemChoiceType.transactionKey,
                    Item            = "****************"
                };

                var settings = new List <settingType>();

                settings.Add(new settingType()
                {
                    settingName  = settingNameEnum.hostedPaymentReturnOptions.ToString(),
                    settingValue = "{\"showReceipt\": false}"
                });

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

                settings.Add(new settingType()
                {
                    settingName  = settingNameEnum.hostedPaymentStyleOptions.ToString(),
                    settingValue = "{\"bgColor\": \"blue\"}"
                });


                settings.Add(new settingType
                {
                    settingName  = settingNameEnum.hostedPaymentPaymentOptions.ToString(),
                    settingValue = "{\"cardCodeRequired\": false, \"showCreditCard\": true, \"showBankAccount\": true}"
                });

                settings.Add(new settingType
                {
                    settingName  = settingNameEnum.hostedPaymentSecurityOptions.ToString(),
                    settingValue = "{\"captcha\": false}"
                });

                settings.Add(new settingType
                {
                    settingName  = settingNameEnum.hostedPaymentShippingAddressOptions.ToString(),
                    settingValue = "{\"show\": false, \"required\": false}"
                });

                settings.Add(new settingType
                {
                    settingName  = settingNameEnum.hostedPaymentBillingAddressOptions.ToString(),
                    settingValue = "{\"show\": true, \"required\": false}"
                });

                settings.Add(new settingType
                {
                    settingName  = settingNameEnum.hostedPaymentCustomerOptions.ToString(),
                    settingValue = "{\"showEmail\": false, \"requiredEmail\": false, \"addPaymentProfile\": true}"
                });

                settings.Add(new settingType
                {
                    settingName  = settingNameEnum.hostedPaymentOrderOptions.ToString(),
                    settingValue = "{\"show\": true, \"merchantName\": \"Frisco\"}"
                });

                settings.Add(new settingType
                {
                    settingName  = settingNameEnum.hostedPaymentIFrameCommunicatorUrl.ToString(),
                    settingValue = "{\"url\": \"https://localhost:44376/Communicator.html\"}"
                });

                var transactionRequest = new transactionRequestType
                {
                    transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize capture only
                    amount          = 99.99M,
                    billTo          = new customerAddressType
                    {
                        firstName = "Alex",
                        lastName  = "Herrera",
                        company   = "Avolve",
                        address   = "123 Main Street",
                        city      = "Phoenix",
                        state     = "Arizona",
                        zip       = "83000"
                    },
                    refTransId = "RES-ELECTRIC-000",
                    poNumber   = DateTime.Now.ToString("yyMMddhhmmss"),
                };

                var request = new getHostedPaymentPageRequest
                {
                    transactionRequest    = transactionRequest,
                    hostedPaymentSettings = settings.ToArray(),
                    refId = "RES-ELECTRIC-000"
                };

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


                var response = controller.GetApiResponse();

                Token = response.token;
            }
        }