void MakeCardPayment()//OrderRowBuilder orderRowBuilder, CountryCode countryCode = CountryCode.SE, string clientOrderNumber = "33")
        {
            PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                               .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                               .AddFee(TestingTool.CreateExVatBasedShippingFee())
                               .AddFee(TestingTool.CreateExVatBasedInvoiceFee())
                               .AddDiscount(TestingTool.CreateRelativeDiscount())
                               .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer())
                               .SetCountryCode(TestingTool.DefaultTestCountryCode)
                               .SetOrderDate(TestingTool.DefaultTestDate)
                               .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                               .SetCurrency(TestingTool.DefaultTestCurrency)
                               .UsePayPageCardOnly()
                               .SetReturnUrl("http://myurl.se")
                               .GetPaymentForm();

            //Card payment

            /*PaymentForm form = WebpayConnection.CreateOrder()
             *      .AddOrderRow(orderRowBuilder) //required
             *      .SetCountryCode(countryCode)  // required
             *      .SetClientOrderNumber(clientOrderNumber)
             *      .SetOrderDate(DateTime.Now)
             *      .UsePaymentMethod(PaymentMethod.SVEACARDPAY)
             *      .SetReturnUrl("http://myurl.se") //Required
             *      .SetCallbackUrl("http://myurl.se")
             *      .SetCancelUrl("http://myurl.se")
             *      .GetPaymentForm();*/
        }
Exemple #2
0
        public void TestInvoiceRequestObjectWithCreateOrderInformation()
        {
            CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                                           .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1"))
                                           .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2"))
                                           .AddFee(TestingTool.CreateExVatBasedShippingFee())
                                           .AddCustomerDetails(TestingTool.CreateIndividualCustomer())
                                           .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"))
                                           .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber)
                                           .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                           .SetOrderDate(TestingTool.DefaultTestDate)
                                           .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                           .SetCurrency(TestingTool.DefaultTestCurrency)
                                           .UseInvoicePayment()
                                           .PrepareRequest();

            Assert.That(request.CreateOrderInformation.OrderDate, Is.EqualTo(TestingTool.DefaultTestDate));
            Assert.That(request.CreateOrderInformation.ClientOrderNumber, Is.EqualTo("33"));
            Assert.That(request.CreateOrderInformation.OrderType, Is.EqualTo(OrderType.Invoice));
            Assert.That(request.CreateOrderInformation.CustomerReference, Is.EqualTo("ref33"));
            Assert.That(request.CreateOrderInformation.AddressSelector, Is.EqualTo("ad33"));
        }
Exemple #3
0
        public void TestBuildCardPaymentDe()
        {
            PaymentForm form = _order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                               .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer())
                               .AddFee(TestingTool.CreateExVatBasedShippingFee())
                               .AddDiscount(TestingTool.CreateRelativeDiscount())
                               .SetCountryCode(CountryCode.DE)
                               .SetOrderDate(TestingTool.DefaultTestDate)
                               .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                               .SetCurrency(TestingTool.DefaultTestCurrency)
                               .UsePayPageCardOnly()
                               .SetReturnUrl("http://myurl.se")
                               .GetPaymentForm();

            string xml = form.GetXmlMessage();

            const string expectedAmount = "18750";
            const string expectedVat    = "3750";

            string amount = xml.Substring(xml.IndexOf("<amount>", System.StringComparison.InvariantCulture) + 8,
                                          expectedAmount.Length);
            string vat = xml.Substring(xml.IndexOf("<vat>", System.StringComparison.InvariantCulture) + 5,
                                       expectedVat.Length);

            Assert.That(amount, Is.EqualTo(expectedAmount));
            Assert.That(vat, Is.EqualTo(expectedVat));
        }
        public void TestDeliverInvoice()
        {
            DeliverOrderEuRequest request = null;

            Assert.DoesNotThrow(() =>
            {
                request = _order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                          .AddFee(TestingTool.CreateExVatBasedShippingFee())
                          .AddDiscount(Item.FixedDiscount()
                                       .SetAmountIncVat(10))
                          .SetInvoiceDistributionType(InvoiceDistributionType.POST)
                          .SetOrderId(54086L)
                          .SetNumberOfCreditDays(1)
                          .SetCreditInvoice(117L)
                          .SetCountryCode(TestingTool.DefaultTestCountryCode)
                          .DeliverInvoiceOrder()
                          .PrepareRequest();
            }
                                );
            //First order row is a product

            var invoiceDetails = request.DeliverOrderInformation.DeliverInvoiceDetails;

            var firstOrderRow = invoiceDetails.OrderRows[0];

            // First row
            Assert.That(firstOrderRow.ArticleNumber, Is.EqualTo("1"));
            Assert.That(firstOrderRow.Description, Is.EqualTo("Prod: Specification"));
            Assert.That(firstOrderRow.PricePerUnit, Is.EqualTo(100.00M));

            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].NumberOfUnits, Is.EqualTo(2));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].Unit, Is.EqualTo("st"));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].VatPercent, Is.EqualTo(25));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[0].DiscountPercent, Is.EqualTo(0));

            //Second order row is shipment
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].ArticleNumber, Is.EqualTo("33"));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].Description, Is.EqualTo("shipping: Specification"));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].PricePerUnit, Is.EqualTo(50));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].NumberOfUnits, Is.EqualTo(1));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].Unit, Is.EqualTo("st"));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].VatPercent, Is.EqualTo(25));
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[1].DiscountPercent, Is.EqualTo(0));
            //discount
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.OrderRows[2].PricePerUnit, Is.EqualTo(-8.0));

            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.NumberOfCreditDays, Is.EqualTo(1));

            Assert.That(invoiceDetails.InvoiceDistributionType, Is.EqualTo(WebpayWS.InvoiceDistributionType.Post));


            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.IsCreditInvoice, Is.True);
            Assert.That(request.DeliverOrderInformation.DeliverInvoiceDetails.InvoiceIdToCredit, Is.EqualTo(117L));
            Assert.That(request.DeliverOrderInformation.SveaOrderId, Is.EqualTo(54086L));
            Assert.That(request.DeliverOrderInformation.OrderType, Is.EqualTo(OrderType.Invoice));
        }
Exemple #5
0
        public void TestPaymentPlanRequestObjectSpecifics()
        {
            CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                                           .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                                           .AddFee(TestingTool.CreateExVatBasedShippingFee())
                                           .AddCustomerDetails(TestingTool.CreateIndividualCustomer())
                                           .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                           .SetOrderDate(TestingTool.DefaultTestDate)
                                           .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                           .SetCurrency(TestingTool.DefaultTestCurrency)
                                           .UsePaymentPlanPayment(1337L)
                                           .PrepareRequest();

            Assert.That(request.CreateOrderInformation.CreatePaymentPlanDetails.CampaignCode, Is.EqualTo(1337L));
            Assert.That(request.CreateOrderInformation.CreatePaymentPlanDetails.SendAutomaticGiroPaymentForm, Is.False);
        }
Exemple #6
0
        public void TestInvoiceRequestObjectWithAuth()
        {
            CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                                           .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                                           .AddFee(TestingTool.CreateExVatBasedShippingFee())
                                           .AddCustomerDetails(TestingTool.CreateIndividualCustomer())
                                           .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                           .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                           .SetOrderDate(TestingTool.DefaultTestDate)
                                           .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                           .SetCurrency(TestingTool.DefaultTestCurrency)
                                           .UseInvoicePayment()
                                           .PrepareRequest();

            Assert.That(request.Auth.Username, Is.EqualTo("sverigetest"));
            Assert.That(request.Auth.Password, Is.EqualTo("sverigetest"));
            Assert.That(request.Auth.ClientNumber, Is.EqualTo(79021));
        }
        public void TestDoCardPaymentRequest()
        {
            PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                               .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                               .AddFee(TestingTool.CreateExVatBasedShippingFee())
                               .AddFee(TestingTool.CreateExVatBasedInvoiceFee())
                               .AddDiscount(TestingTool.CreateRelativeDiscount())
                               .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer())
                               .SetCountryCode(TestingTool.DefaultTestCountryCode)
                               .SetOrderDate(TestingTool.DefaultTestDate)
                               .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                               .SetCurrency(TestingTool.DefaultTestCurrency)
                               .UsePayPageCardOnly()
                               .SetReturnUrl("http://myurl.se")
                               .GetPaymentForm();

            Assert.That(form, Is.Not.Null);
        }
Exemple #8
0
        public void TestIncorrectPaymentOnDeliverOrderWithEInvoiceB2B()
        {
            const string expectedMessage = "NOT VALID - Invalid payment method, DistributionType.EINVOICEB2B can only be used when payment method is invoice.";

            DeliverOrderBuilder order = new DeliverOrderBuilder(SveaConfig.GetDefaultConfig());

            var exception = Assert.Throws <SveaWebPayValidationException>(
                () => order.AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                .AddFee(TestingTool.CreateExVatBasedShippingFee())
                .AddDiscount(Item.FixedDiscount()
                             .SetAmountIncVat(10))
                .SetInvoiceDistributionType(DistributionType.EINVOICEB2B)
                .SetOrderId(54086L)
                .SetCountryCode(CountryCode.NO)
                .DeliverPaymentPlanOrder()
                .PrepareRequest());

            Assert.That(exception.Message, Is.EqualTo(expectedMessage));
        }
        public void TestBuildDirectBankPaymentNotSe()
        {
            PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                               .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                               .AddFee(TestingTool.CreateExVatBasedShippingFee())
                               .AddFee(TestingTool.CreateExVatBasedInvoiceFee())
                               .AddDiscount(TestingTool.CreateRelativeDiscount())
                               .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer())
                               .SetCountryCode(CountryCode.DE)
                               .SetOrderDate(TestingTool.DefaultTestDate)
                               .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                               .SetCurrency(TestingTool.DefaultTestCurrency)
                               .UsePayPageDirectBankOnly()
                               .SetReturnUrl("http://myurl.se")
                               .GetPaymentForm();

            string base64Payment = form.GetXmlMessageBase64();
            string html          = Base64Util.DecodeBase64String(base64Payment);

            Assert.That(html.Contains("<amount>18750</amount>"), Is.True);
        }
Exemple #10
0
 public void TestPaymentPlanFailCompanyCustomer()
 {
     try
     {
         WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
         .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
         .AddFee(TestingTool.CreateExVatBasedShippingFee())
         .AddCustomerDetails(TestingTool.CreateCompanyCustomer())
         .SetCountryCode(TestingTool.DefaultTestCountryCode)
         .SetOrderDate(TestingTool.DefaultTestDate)
         .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
         .SetCurrency(TestingTool.DefaultTestCurrency)
         .UsePaymentPlanPayment(1337L)
         .PrepareRequest();
         Assert.Fail("Expected exception not thrown.");
     }
     catch (SveaWebPayException ex)
     {
         Assert.That(ex.Message, Is.EqualTo("ERROR - CompanyCustomer is not allowed to use payment plan option."));
     }
 }
Exemple #11
0
        public void TestInvoiceRequestObjectForSEorderOnOneProductRow()
        {
            CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                                           .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                                           .AddFee(TestingTool.CreateExVatBasedShippingFee())
                                           .AddFee(TestingTool.CreateExVatBasedInvoiceFee())
                                           .AddCustomerDetails(TestingTool.CreateIndividualCustomer())
                                           .SetCountryCode(TestingTool.DefaultTestCountryCode)
                                           .SetOrderDate(TestingTool.DefaultTestDate)
                                           .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                                           .SetCurrency(TestingTool.DefaultTestCurrency)
                                           .UseInvoicePayment()
                                           .PrepareRequest();

            Assert.That(request.CreateOrderInformation.OrderRows[0].ArticleNumber, Is.EqualTo("1"));
            Assert.That(request.CreateOrderInformation.OrderRows[0].Description, Is.EqualTo("Prod: Specification"));
            Assert.That(request.CreateOrderInformation.OrderRows[0].PricePerUnit, Is.EqualTo(100.00));
            Assert.That(request.CreateOrderInformation.OrderRows[0].NumberOfUnits, Is.EqualTo(2));
            Assert.That(request.CreateOrderInformation.OrderRows[0].Unit, Is.EqualTo("st"));
            Assert.That(request.CreateOrderInformation.OrderRows[0].VatPercent, Is.EqualTo(25));
            Assert.That(request.CreateOrderInformation.OrderRows[0].DiscountPercent, Is.EqualTo(0));

            Assert.That(request.CreateOrderInformation.OrderRows[1].ArticleNumber, Is.EqualTo("33"));
            Assert.That(request.CreateOrderInformation.OrderRows[1].Description, Is.EqualTo("shipping: Specification"));
            Assert.That(request.CreateOrderInformation.OrderRows[1].PricePerUnit, Is.EqualTo(50));
            Assert.That(request.CreateOrderInformation.OrderRows[1].NumberOfUnits, Is.EqualTo(1));
            Assert.That(request.CreateOrderInformation.OrderRows[1].Unit, Is.EqualTo("st"));
            Assert.That(request.CreateOrderInformation.OrderRows[1].VatPercent, Is.EqualTo(25));
            Assert.That(request.CreateOrderInformation.OrderRows[1].DiscountPercent, Is.EqualTo(0));

            Assert.That(request.CreateOrderInformation.OrderRows[2].ArticleNumber, Is.EqualTo(""));
            Assert.That(request.CreateOrderInformation.OrderRows[2].Description, Is.EqualTo("Svea fee: Fee for invoice"));
            Assert.That(request.CreateOrderInformation.OrderRows[2].PricePerUnit, Is.EqualTo(50));
            Assert.That(request.CreateOrderInformation.OrderRows[2].NumberOfUnits, Is.EqualTo(1));
            Assert.That(request.CreateOrderInformation.OrderRows[2].Unit, Is.EqualTo("st"));
            Assert.That(request.CreateOrderInformation.OrderRows[2].VatPercent, Is.EqualTo(25));
            Assert.That(request.CreateOrderInformation.OrderRows[2].DiscountPercent, Is.EqualTo(0));
        }
Exemple #12
0
        public void TestSetAuthorization()
        {
            PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig())
                               .AddOrderRow(TestingTool.CreateExVatBasedOrderRow())
                               .AddFee(TestingTool.CreateExVatBasedShippingFee())
                               .AddFee(TestingTool.CreateExVatBasedInvoiceFee())
                               .AddDiscount(TestingTool.CreateRelativeDiscount())
                               .AddCustomerDetails(TestingTool.CreateMiniCompanyCustomer())
                               .SetCountryCode(TestingTool.DefaultTestCountryCode)
                               .SetOrderDate(TestingTool.DefaultTestDate)
                               .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber)
                               .SetCurrency(TestingTool.DefaultTestCurrency)
                               .UsePayPageCardOnly()
                               .SetReturnUrl("http://myurl.se")
                               .GetPaymentForm();

            const string expectedMerchantId = "1130";
            const string expectedSecretWord =
                "8a9cece566e808da63c6f07ff415ff9e127909d000d259aba24daa2fed6d9e3f8b0b62e8ad1fa91c7d7cd6fc3352deaae66cdb533123edf127ad7d1f4c77e7a3";

            Assert.That(form.GetMerchantId(), Is.EqualTo(expectedMerchantId));
            Assert.That(form.GetSecretWord(), Is.EqualTo(expectedSecretWord));
        }
 private void CreateShippingFeeRow()
 {
     _order.AddFee(TestingTool.CreateExVatBasedShippingFee());
 }