public void TestMethod_Auth() { var credentials = _configuration.GetConfigurationSettings(); var card = new CreditCard("Visa", "4111000000111111", 10, 2014, "123"); var transaction = new Transaction(80.25M, "USD", merchantRefId: Guid.NewGuid().ToString("N")); var billigAddress = new BillingAddress("FirstName", "LastName", "123 Elm Street", "Beverly Hills", "CA", "90210", "US"); var shippingAddress = new ShippingAddress("FirstName", "LastName", "123 Elm Street", "Beverly Hills", "CA", "90210", "US"); var customer = new CustomerInfo("*****@*****.**", "hpcitest1", billigAddress, shippingAddress, "173.32.21.248"); var orderItem1 = new OrderItem("Item1", "ItemName1", "Item Description 1", "1", 2.00M, false); var orderItem2 = new OrderItem("Item2", "ItemName2", "Item Description 2", "1", 1.25M, false); var orderItems = new[] {orderItem1, orderItem2}; var order = new Order("Order:", "Test Order", 4.25M, orderItems); var request = new AuthRequest(card, transaction, customer, order); var response = _service.Send(_converter, credentials, request); Assert.AreEqual(Status.Success, response.Status); }
public void TestCreditCardAuthorizationTransaction() { var credentials = TestHelper.CreateTestCredentials(); var creditCard = TestHelper.CreateRandomCreditCard(); var transactionAmount = TestHelper.CreateRandomTransactionAmount(); var customerInfo = TestHelper.CreateCustomerInfo(); var order = TestHelper.CreateRandomOrder(); var threeDSec = TestHelper.CreateRandomThreeDSec(); var fraudDetection = TestHelper.CreateRandomFraudDetection(); var request = new AuthRequest(creditCard, transactionAmount, customerInfo, order, threeDSec, new[] { fraudDetection }); request.SetRequestCredentials(credentials); var dictionary = _converter.ConvertToDictionary(request); var elementsCount = 4 + /* credentials */ 5 + /* creadit card */ 13 + /* transaction */ 3 + /* customer info */ 7 + /* billing address */ 7 + /* shipping address */ 3 + /* order */ order.OrderItems.Length*6 + /* order items */ 4 + /* 3ds */ threeDSec.AuthSignComboList.Length + /* 3ds items */ request.FraudDetection.Length * 2; /* fraud items */ Assert.AreEqual(elementsCount, dictionary.Count); Assert.AreEqual(TestValues.Credentials.ApiVersion, dictionary["apiVersion"]); Assert.AreEqual(TestValues.Credentials.ApiType, dictionary["apiType"]); Assert.AreEqual(TestValues.Credentials.UserName, dictionary["userName"]); Assert.AreEqual(TestValues.Credentials.UserPassKey, dictionary["userPassKey"]); AssertAreEqualCreditCardValues(dictionary, "pxyCreditCard."); AssertAreEqualTransactionValues(dictionary, "pxyTransaction."); AssertAreEqualCustomerValues(dictionary, "pxyCustomerInfo."); AssertAreEqualAddressValues(dictionary, "pxyCustomerInfo.billingLocation."); AssertAreEqualAddressValues(dictionary, "pxyCustomerInfo.shippingLocation."); AssertAreEqualOrderValues(dictionary, "pxyOrder."); for (int i = 0; i < TestValues.Order.OrderItems.Length; i++) { var prefix = string.Format("pxyOrder.orderItems[{0}].", i); Assert.AreEqual(TestValues.Order.OrderItems[i].Id, dictionary[prefix + "itemId"]); Assert.AreEqual(TestValues.Order.OrderItems[i].Name, dictionary[prefix + "itemName"]); Assert.AreEqual(TestValues.Order.OrderItems[i].Description, dictionary[prefix + "itemDescription"]); Assert.AreEqual(TestValues.Order.OrderItems[i].Quantity, dictionary[prefix + "itemQuantity"]); Assert.AreEqual(TestValues.Order.OrderItems[i].Price.ToString(), dictionary[prefix + "itemPrice"]); Assert.AreEqual(TestValues.Order.OrderItems[i].Taxable, dictionary[prefix + "itemTaxable"]); } AssertAreEqualThreeDSecValues(dictionary, "pxyThreeDSecAuth."); for (int i = 0; i < TestValues.ThreeDSec.AuthSignComboList.Length; i++) { var name = string.Format("pxyThreeDSecAuth.authSignComboList[{0}]", i); Assert.AreEqual(TestValues.ThreeDSec.AuthSignComboList[i], dictionary[name]); } for (int i = 0; i < request.FraudDetection.Length; i++) { var prefix = string.Format("fraudChkParamList[{0}]", i); Assert.AreEqual(request.FraudDetection[i].Name, dictionary[prefix + ".name"]); Assert.AreEqual(request.FraudDetection[i].Value, dictionary[prefix + ".value"]); } }