public void CreateSimpleInvoiceReservationRequest() { InvoiceReservationRequest request = new InvoiceReservationRequest() { Terminal = terminal, ShopOrderId = "invoice-" + Guid.NewGuid().ToString(), Amount = Amount.Get(42.42, Currency.DKK), // Customer Data CustomerInfo = { Email = "*****@*****.**", BillingAddress = new CustomerAddress() { Address = "101 Night Street", PostalCode = "billing postal" }, }, }; InvoiceReservationResult result = _api.CreateInvoiceReservation(request); Assert.AreEqual(null, result.ResultMerchantMessage); Assert.AreEqual(null, result.ResultMessage); Assert.AreEqual(Result.Success, result.Result); Assert.AreEqual(request.Terminal, result.Payment.Terminal); Assert.AreEqual(request.ShopOrderId, result.Payment.ShopOrderId); Assert.AreEqual(request.CustomerInfo.BillingAddress.Address, result.Payment.CustomerInfo.BillingAddress.Address); Assert.AreEqual(request.CustomerInfo.BillingAddress.PostalCode, result.Payment.CustomerInfo.BillingAddress.PostalCode); Assert.AreEqual(request.CustomerInfo.Email, result.Payment.CustomerInfo.Email); }
public void UpdateOrderForExistingOrder() { //arrange InvoiceReservationRequest request = new InvoiceReservationRequest { Terminal = _testKlarnaDKTerminal, ShopOrderId = "invoice-" + Guid.NewGuid().ToString(), Amount = Amount.Get(42.00, Currency.DKK), CustomerInfo = InitializeCustomerInfoTestData(), OrderLines = InitializeOrderlinesTestData(), PersonalIdentifyNumber = "0801363945", BirthDate = "0801363945" }; InvoiceReservationResult reservationResult = _api.CreateInvoiceReservation(request); CaptureRequest captureRequest = new CaptureRequest { Amount = Amount.Get(42.00, Currency.DKK), PaymentId = reservationResult.Payment.PaymentId }; CaptureResult captureResult = _api.Capture(captureRequest); List <PaymentOrderLine> orderlinesToUpdate = new List <PaymentOrderLine>(); PaymentOrderLine orderlineToUpdate = InitializeOrderlinesTestData()[0]; orderlineToUpdate.Quantity = 0 - orderlineToUpdate.Quantity; orderlinesToUpdate.Add(orderlineToUpdate); PaymentOrderLine newOrderLine = new PaymentOrderLine { Description = "New Item 1", ItemId = "3", Quantity = 2, GoodsType = GoodsType.Item, UnitPrice = 11.0 }; orderlinesToUpdate.Add(newOrderLine); //orderlinesToUpdate.ForEach(p => p.Quantity = 0 - p.Quantity); UpdateOrderRequest updateOrderRequest = new UpdateOrderRequest(captureResult.Payment.PaymentId, orderlinesToUpdate); //act UpdateOrderResult updateOrderResult = _api.UpdateOrder(updateOrderRequest); //assert Assert.AreEqual(updateOrderResult.Result, Result.Success); }
public void CreateComplexInvoiceReservationRequest() { InvoiceReservationRequest request = new InvoiceReservationRequest() { Terminal = terminal, ShopOrderId = "invoice-" + Guid.NewGuid().ToString(), Amount = Amount.Get(42.42, Currency.DKK), // Payment Infos PaymentInfos = new Dictionary <string, object>() { { "auxinfo1", "auxvalue1" }, }, AuthType = AuthType.payment, AccountNumber = "111", BankCode = "222", FraudService = FraudService.Red, PaymentSource = PaymentSource.eCommerce, OrganisationNumber = "333", PersonalIdentifyNumber = "444", BirthDate = "555", // Orderlines OrderLines = { new PaymentOrderLine() { Description = "The Item Desc", ItemId = "itemId1", Quantity = 10, TaxPercent = 10, UnitCode = "unitCode", UnitPrice = 500, Discount = 0.00, GoodsType = GoodsType.Item, }, }, // Customer Data CustomerInfo = { Email = "*****@*****.**", Username = "******", CustomerPhone = "+4512345678", BankName = "Gotham Bank", BankPhone = "666 666 666", BillingAddress = new CustomerAddress() { Address = "101 Night Street", City = "Gotham City", Country = "DK", Firstname = "Bruce", Lastname = "Wayne", Region = "Dark Region", PostalCode = "001" }, ShippingAddress = new CustomerAddress() { Address = "42 Joker Avenue", City = "Big Smile City", Country = "BR", Firstname = "Jack", Lastname = "Napier", Region = "Umbrella Neighbourhood", PostalCode = "002" } }, }; // And make the actual invocation. InvoiceReservationResult result = _api.CreateInvoiceReservation(request); Assert.AreEqual(null, result.ResultMerchantMessage); Assert.AreEqual(null, result.ResultMessage); Assert.AreEqual(Result.Success, result.Result); Assert.AreEqual(request.Terminal, result.Payment.Terminal); Assert.AreEqual(request.ShopOrderId, result.Payment.ShopOrderId); Assert.AreEqual(request.AuthType.ToString(), result.Payment.AuthType); Assert.AreEqual("auxinfo1", result.Payment.PaymentInfos[0].name); Assert.AreEqual(request.PaymentInfos["auxinfo1"], result.Payment.PaymentInfos[0].Value); AltaPay.Service.Dto.CustomerInfo ci = result.Payment.CustomerInfo; Assert.AreEqual(request.CustomerInfo.Email, ci.Email); Assert.AreEqual(request.CustomerInfo.Username, ci.Username); Assert.AreEqual(request.CustomerInfo.CustomerPhone, ci.CustomerPhone); Assert.AreEqual(request.CustomerInfo.BillingAddress.Firstname, ci.BillingAddress.Firstname); Assert.AreEqual(request.CustomerInfo.BillingAddress.Lastname, ci.BillingAddress.Lastname); Assert.AreEqual(request.CustomerInfo.BillingAddress.Address, ci.BillingAddress.Address); Assert.AreEqual(request.CustomerInfo.BillingAddress.City, ci.BillingAddress.City); Assert.AreEqual(request.CustomerInfo.BillingAddress.Region, ci.BillingAddress.Region); Assert.AreEqual(request.CustomerInfo.BillingAddress.PostalCode, ci.BillingAddress.PostalCode); Assert.AreEqual(request.CustomerInfo.BillingAddress.Country, ci.BillingAddress.Country); Assert.AreEqual(request.CustomerInfo.ShippingAddress.Firstname, ci.ShippingAddress.Firstname); Assert.AreEqual(request.CustomerInfo.ShippingAddress.Lastname, ci.ShippingAddress.Lastname); Assert.AreEqual(request.CustomerInfo.ShippingAddress.Address, ci.ShippingAddress.Address); Assert.AreEqual(request.CustomerInfo.ShippingAddress.City, ci.ShippingAddress.City); Assert.AreEqual(request.CustomerInfo.ShippingAddress.Region, ci.ShippingAddress.Region); Assert.AreEqual(request.CustomerInfo.ShippingAddress.PostalCode, ci.ShippingAddress.PostalCode); Assert.AreEqual(request.CustomerInfo.ShippingAddress.Country, ci.ShippingAddress.Country); // System.Diagnostics.Process.Start(result.Url); }