public void TestInvoiceRequestObjectForCustomerIdentityCompanyFromNl() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddCustomerDetails(TestingTool.CreateCompanyCustomer(CountryCode.NL)) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .SetCountryCode(CountryCode.NL) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.CustomerIdentity.Email, Is.EqualTo("*****@*****.**")); Assert.That(request.CreateOrderInformation.CustomerIdentity.PhoneNumber, Is.EqualTo("999999")); Assert.That(request.CreateOrderInformation.CustomerIdentity.IpAddress, Is.EqualTo("123.123.123.123")); Assert.That(request.CreateOrderInformation.CustomerIdentity.FullName, Is.EqualTo("Svea bakkerij 123")); Assert.That(request.CreateOrderInformation.CustomerIdentity.Street, Is.EqualTo("broodstraat")); Assert.That(request.CreateOrderInformation.CustomerIdentity.CoAddress, Is.EqualTo("236")); Assert.That(request.CreateOrderInformation.CustomerIdentity.ZipCode, Is.EqualTo("1111 CD")); Assert.That(request.CreateOrderInformation.CustomerIdentity.HouseNumber, Is.EqualTo("1")); Assert.That(request.CreateOrderInformation.CustomerIdentity.Locality, Is.EqualTo("BARENDRECHT")); Assert.That(request.CreateOrderInformation.CustomerIdentity.CountryCode, Is.EqualTo(CountryCode.NL.ToString().ToUpper())); Assert.That(request.CreateOrderInformation.CustomerIdentity.CustomerType, Is.EqualTo(CustomerType.Company)); }
public void TestXmlWithCompanyCustomer() { _order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetAmountExVat(4) .SetVatPercent(25) .SetQuantity(1)) .SetCurrency(TestingTool.DefaultTestCurrency) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCountryCode(TestingTool.DefaultTestCountryCode) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()); var payment = new FakeHostedPayment(_order); payment.SetReturnUrl("http://myurl.se") .CalculateRequestValues(); _xml = _xmlBuilder.GetXml(payment); const string expectedString = "<customer><ssn>194608142222</ssn><firstname>Tess, T Persson</firstname>" + "<phone>0811111111</phone><email>[email protected]</email>" + "<address>Testgatan</address><housenumber>1</housenumber>" + "<address2>c/o Eriksson, Erik</address2><zip>99999</zip>" + "<city>Stan</city><country>SE</country></customer>"; Assert.That(_xml.Contains(expectedString), Is.True); Assert.That(_xml.Contains("<ipaddress>123.123.123.123</ipaddress>"), Is.True); }
public void TestCheckOfIdentityClass() { const string expectedMessage = "MISSING VALUE - CountryCode is required. Use SetCountryCode().\n" + "MISSING VALUE - OrderRows are required. Use AddOrderRow(Item.OrderRow) to get orderrow setters.\n" + "MISSING VALUE - OrderDate is required. Use SetOrderDate().\n"; CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()); Assert.That(_orderValidator.Validate(order), Is.EqualTo(expectedMessage)); }
public void TestBuildOrderWithCompanyCustomer() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.CustomerIdentity.NationalIdNumber, Is.EqualTo("164608142222")); }
public void TestFailCompanyCustomerUsingPaymentPlan() { const string expectedMessage = "ERROR - CompanyCustomer is not allowed to use payment plan option."; var exception = Assert.Throws <SveaWebPayValidationException>( () => WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(new DateTime(2012, 09, 09)) .UsePaymentPlanPayment(777L)); Assert.That(exception.Message, Is.EqualTo(expectedMessage)); }
public void TestInvoiceRequestObjectWithFixedDiscountOnDifferentProductVat() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetArticleNumber("1") .SetQuantity(1) .SetAmountExVat(240.00M) .SetDescription("CD") .SetVatPercent(25)) .AddOrderRow(Item.OrderRow() .SetArticleNumber("1") .SetQuantity(1) .SetAmountExVat(188.68M) .SetDescription("Bok") .SetVatPercent(6)) .AddDiscount(Item.FixedDiscount() .SetDiscountId("1") .SetAmountIncVat(100.00M) .SetDescription("FixedDiscount")) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.OrderRows[2].ArticleNumber, Is.EqualTo("1")); Assert.That(request.CreateOrderInformation.OrderRows[2].Description, Is.EqualTo("FixedDiscount (25%)")); Assert.That(request.CreateOrderInformation.OrderRows[3].Description, Is.EqualTo("FixedDiscount (6%)")); var combinedPrice = request.CreateOrderInformation.OrderRows[2].PricePerUnit + request.CreateOrderInformation.OrderRows[3].PricePerUnit; Assert.That(combinedPrice, Is.EqualTo(-85.74)); Assert.That(request.CreateOrderInformation.OrderRows[2].NumberOfUnits, Is.EqualTo(1)); Assert.That(request.CreateOrderInformation.OrderRows[2].VatPercent, Is.EqualTo(25)); Assert.That(request.CreateOrderInformation.OrderRows[3].VatPercent, Is.EqualTo(6)); Assert.That(request.CreateOrderInformation.OrderRows[2].DiscountPercent, Is.EqualTo(0)); }
public void TestSetHtmlFields() { string base64Payment = Base64Util.EncodeBase64String("0"); string mac = HashUtil.CreateHash(base64Payment + SecretWord); PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .AddOrderRow(TestingTool.CreateMiniOrderRow()) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .UsePayPageDirectBankOnly() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); form.SetMessageBase64(base64Payment) .SetMerchantId(MerchantId) .SetSecretWord(SecretWord) .SetHtmlFields(); var formHtmlFields = form.GetFormHtmlFields(); string url = form.GetPayPageUrl(); Assert.That(formHtmlFields["form_start_tag"], Is.EqualTo("<form name=\"paymentForm\" id=\"paymentForm\" method=\"post\" action=\"" + url + "\">")); Assert.That(formHtmlFields["input_merchantId"], Is.EqualTo("<input type=\"hidden\" name=\"merchantid\" value=\"" + MerchantId + "\" />")); Assert.That(formHtmlFields["input_message"], Is.EqualTo("<input type=\"hidden\" name=\"message\" value=\"" + base64Payment + "\" />")); Assert.That(formHtmlFields["input_mac"], Is.EqualTo("<input type=\"hidden\" name=\"mac\" value=\"" + mac + "\" />")); Assert.That(formHtmlFields["noscript_p_tag"], Is.EqualTo("<noscript><p>Javascript är inaktiverat i er webbläsare, ni får dirigera om till paypage manuellt</p></noscript>")); Assert.That(formHtmlFields["input_submit"], Is.EqualTo("<input type=\"submit\" name=\"submit\" value=\"Betala\" />")); Assert.That(formHtmlFields["form_end_tag"], Is.EqualTo("</form>")); }
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.")); } }
public void TestCreatePaymentForm() { CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .AddOrderRow(Item.OrderRow() .SetAmountExVat(4) .SetVatPercent(25) .SetQuantity(1)) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()); var payment = new FakeHostedPayment(order); payment.SetReturnUrl("myurl"); PaymentForm form = payment.GetPaymentForm(); var formHtmlFields = form.GetFormHtmlFields(); Assert.That(formHtmlFields["form_end_tag"], Is.EqualTo("</form>")); }
public void TestBuildOrderRowList() { var orderRows = new List <OrderRowBuilder> { TestingTool.CreateExVatBasedOrderRow("1"), TestingTool.CreateExVatBasedOrderRow("2") }; CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRows(orderRows) .AddCustomerDetails(TestingTool.CreateCompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.CustomerIdentity.NationalIdNumber, Is.EqualTo("194608142222")); Assert.That(request.CreateOrderInformation.OrderRows[0].ArticleNumber, Is.EqualTo("1")); Assert.That(request.CreateOrderInformation.OrderRows[1].ArticleNumber, Is.EqualTo("2")); }