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); }
[Test] // Not really a unit test, just a Klarna calling example public static void Main() { String paymentId = "35"; // PUT A PAYMENT ID FROM A PREVIOUSLY CREATED ORDER HERE CaptureResult captureResult = _api.Capture(new CaptureRequest { PaymentId = paymentId }); Assert.AreEqual(Result.Success, captureResult.Result); List <PaymentOrderLine> orderLines = new List <PaymentOrderLine> { new PaymentOrderLine { Description = "description 1", ItemId = "id 01", Quantity = -1, UnitPrice = 1.1, GoodsType = GoodsType.Item }, new PaymentOrderLine { Description = "new item", ItemId = "new id", Quantity = 1, UnitPrice = 1.1, GoodsType = GoodsType.Item } }; UpdateOrderRequest req = new UpdateOrderRequest(paymentId, orderLines); UpdateOrderResult result = _api.UpdateOrder(req); Assert.AreEqual(Result.Success, result.Result); }