Exemplo n.º 1
0
        public void TestInvoiceRequestUsingAmountIncVatWithVatPercent()
        {
            CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                                           .AddCustomerDetails(Item.CompanyCustomer()
                                                               .SetNationalIdNumber(TestingTool.DefaultTestCompanyNationalIdNumber)
                                                               .SetAddressSelector("ad33")
                                                               .SetEmail("*****@*****.**")
                                                               .SetPhoneNumber("999999")
                                                               .SetIpAddress("123.123.123")
                                                               .SetStreetAddress("Gatan", "23")
                                                               .SetCoAddress("c/o Eriksson")
                                                               .SetZipCode("2222")
                                                               .SetLocality("Stan"))
                                           .AddOrderRow(TestingTool.CreateIncVatBasedOrderRow())
                                           .AddFee(TestingTool.CreateIncVatBasedShippingFee())
                                           .AddFee(TestingTool.CreateIncVatBasedInvoiceFee())
                                           .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                           .SetOrderDate(TestingTool.DefaultTestDate)
                                           .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                           .SetCurrency(TestingTool.DefaultTestCurrency)
                                           .UseInvoicePayment()
                                           .PrepareRequest();

            var orderRow1 = request.CreateOrderInformation.OrderRows[0];

            Assert.That(orderRow1.ArticleNumber, Is.EqualTo("1"));
            Assert.That(orderRow1.Description, Is.EqualTo("Prod: Specification"));
            Assert.That(orderRow1.PricePerUnit, Is.EqualTo(125.00M));
            Assert.That(orderRow1.NumberOfUnits, Is.EqualTo(2));
            Assert.That(orderRow1.Unit, Is.EqualTo("st"));
            Assert.That(orderRow1.VatPercent, Is.EqualTo(25));
            Assert.That(orderRow1.DiscountPercent, Is.EqualTo(0));
            Assert.That(orderRow1.PriceIncludingVat, Is.True);

            var orderRow2 = request.CreateOrderInformation.OrderRows[1];

            Assert.That(orderRow2.ArticleNumber, Is.EqualTo("33"));
            Assert.That(orderRow2.Description, Is.EqualTo("shipping: Specification"));
            Assert.That(orderRow2.PricePerUnit, Is.EqualTo(62.50M));
            Assert.That(orderRow2.NumberOfUnits, Is.EqualTo(1));
            Assert.That(orderRow2.Unit, Is.EqualTo("st"));
            Assert.That(orderRow2.VatPercent, Is.EqualTo(25));
            Assert.That(orderRow2.DiscountPercent, Is.EqualTo(0));
            Assert.That(orderRow2.PriceIncludingVat, Is.True);

            var orderRow3 = request.CreateOrderInformation.OrderRows[2];

            Assert.That(orderRow3.ArticleNumber, Is.EqualTo(""));
            Assert.That(orderRow3.Description, Is.EqualTo("Svea fee: Fee for invoice"));
            Assert.That(orderRow3.PricePerUnit, Is.EqualTo(62.50M));
            Assert.That(orderRow3.NumberOfUnits, Is.EqualTo(1));
            Assert.That(orderRow3.Unit, Is.EqualTo("st"));
            Assert.That(orderRow3.VatPercent, Is.EqualTo(25));
            Assert.That(orderRow3.DiscountPercent, Is.EqualTo(0));
            Assert.That(orderRow3.PriceIncludingVat, Is.True);
        }
Exemplo n.º 2
0
        private static long CreateIncVatOrderAndReturnOrderId()
        {
            CreateOrderEuResponse response1 = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                                              .AddOrderRow(TestingTool.CreateIncVatBasedOrderRow("1"))
                                              .AddCustomerDetails(Item.IndividualCustomer()
                                                                  .SetNationalIdNumber(
                                                                      TestingTool
                                                                      .DefaultTestIndividualNationalIdNumber))
                                              .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                              .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                              .SetOrderDate(TestingTool.DefaultTestDate)
                                              .SetCurrency(TestingTool.DefaultTestCurrency)
                                              .UseInvoicePayment()
                                              .DoRequest();

            return(response1.CreateOrderResult.SveaOrderId);
        }
Exemplo n.º 3
0
        public void TestDeliverInvoiceOrderCreatedExclVatDeliveredInclVatRetriesWithExVat()
        {
            long orderId = CreateExVatInvoiceAndReturnOrderId();

            DeliverOrderEuResponse response = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig())
                                              .AddOrderRow(TestingTool.CreateIncVatBasedOrderRow("1"))
                                              .SetOrderId(orderId)
                                              .SetNumberOfCreditDays(1)
                                              .SetInvoiceDistributionType(DistributionType.POST)
                                              .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                              .DeliverInvoiceOrder()
                                              .DoRequest();

            Assert.That(response.Accepted, Is.True);
            Assert.That(response.DeliverOrderResult.InvoiceResultDetails.InvoiceDistributionType, Is.EqualTo(WebpayWS.InvoiceDistributionType.Post));
            Assert.That(response.DeliverOrderResult.InvoiceResultDetails.Ocr, Is.Not.Null);
            Assert.That(response.DeliverOrderResult.InvoiceResultDetails.Ocr.Length, Is.GreaterThan(0));
            Assert.That(response.DeliverOrderResult.InvoiceResultDetails.LowestAmountToPay, Is.EqualTo(0.0));
        }