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);
        }
Exemplo n.º 2
0
        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);
        }