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();*/ }
public void TestInvoiceForIndividualFromSe() { var response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddCustomerDetails( Item.IndividualCustomer().SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .DoRequest(); Assert.IsTrue(response.Accepted); Assert.IsTrue(response.CreateOrderResult.SveaWillBuyOrder); Assert.That(response.CreateOrderResult.Amount, Is.EqualTo(250.00)); Assert.That(response.CreateOrderResult.OrderType, Is.EqualTo("Invoice")); //CustomerIdentity Assert.That(response.CreateOrderResult.CustomerIdentity.NationalIdNumber, Is.EqualTo("194605092222")); Assert.That(response.CreateOrderResult.CustomerIdentity.CountryCode, Is.EqualTo("SE")); Assert.That(response.CreateOrderResult.CustomerIdentity.CustomerType, Is.EqualTo(CustomerType.Individual)); Assert.That(response.CreateOrderResult.CustomerIdentity.FullName, Is.EqualTo("Persson Tess T")); Assert.That(response.CreateOrderResult.CustomerIdentity.Street, Is.EqualTo("Testgatan 1")); Assert.That(response.CreateOrderResult.CustomerIdentity.CoAddress, Is.EqualTo("c/o Eriksson, Erik")); Assert.That(response.CreateOrderResult.CustomerIdentity.ZipCode, Is.EqualTo("99999")); Assert.That(response.CreateOrderResult.CustomerIdentity.Locality, Is.EqualTo("Stan")); }
public void TestFormatShippingFeeRowsZero() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetArticleNumber("1") .SetQuantity(2) .SetAmountExVat(10) .SetDescription("Specification") .SetName("Prod") .SetVatPercent(0) .SetDiscountPercent(0)) .AddFee(Item.ShippingFee() .SetShippingId("0") .SetName("Tess") .SetDescription("Tester") .SetAmountExVat(0) .SetVatPercent(0) .SetUnit("st")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .UseInvoicePayment() .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.Accepted, Is.True); }
public void TestFormatFixedDiscountRowsAmountExVatAndVatPercentWithSingleVatRatePresent() { CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetAmountExVat(4.0M) .SetVatPercent(25) .SetQuantity(1)) .AddDiscount(Item.FixedDiscount() .SetDiscountId("0") .SetName("Tess") .SetDescription("Tester") .SetAmountExVat(1.0M) .SetVatPercent(25) .SetUnit("st")); List <OrderRow> newRows = new WebServiceRowFormatter <CreateOrderBuilder>(order).FormatRows(); OrderRow newRow = newRows[1]; Assert.That(newRow.ArticleNumber, Is.EqualTo("0")); Assert.That(newRow.Description, Is.EqualTo("Tess: Tester")); Assert.That(newRow.PricePerUnit, Is.EqualTo(-1.0M)); Assert.That(newRow.VatPercent, Is.EqualTo(25)); Assert.That(newRow.DiscountPercent, Is.EqualTo(0)); Assert.That(newRow.NumberOfUnits, Is.EqualTo(1)); Assert.That(newRow.Unit, Is.EqualTo("st")); }
public void TestFormatRelativeDiscountRowsWithSingleVatRatePresent() { CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetAmountExVat(100.00M) .SetVatPercent(12) .SetQuantity(1)) .AddDiscount(Item.RelativeDiscount() .SetDiscountId("0") .SetName(".SetDiscountPercent(20)") .SetDescription("TestFormatRelativeDiscountRowsWithSingleVatRatePresent") .SetDiscountPercent(20) .SetUnit("st")); List <OrderRow> newRows = new WebServiceRowFormatter <CreateOrderBuilder>(order).FormatRows(); OrderRow newRow = newRows[1]; Assert.That(newRow.ArticleNumber, Is.EqualTo("0")); Assert.That(newRow.Description, Is.EqualTo(".SetDiscountPercent(20): TestFormatRelativeDiscountRowsWithSingleVatRatePresent")); Assert.That(newRow.PricePerUnit, Is.EqualTo(-20.00M)); Assert.That(newRow.VatPercent, Is.EqualTo(12)); Assert.That(newRow.DiscountPercent, Is.EqualTo(0)); // not the same thing as in our WebPayItem... Assert.That(newRow.NumberOfUnits, Is.EqualTo(1)); Assert.That(newRow.Unit, Is.EqualTo("st")); }
public void TestCardPaymentSpecificXml() { _xml = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCurrency(TestingTool.DefaultTestCurrency) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .AddOrderRow(TestingTool.CreateMiniOrderRow()) .AddCustomerDetails(Item.CompanyCustomer()) .UsePayPageCardOnly() .SetReturnUrl( "https://webpaypaymentgatewaystage.svea.com/Webpayconnection/admin/merchantresponSetest.xhtm") .GetPaymentForm() .GetXmlMessage(); const string expectedString = "<excludepaymentMethods><exclude>PAYPAL</exclude>" + "<exclude>DBNORDEASE</exclude><exclude>DBSEBSE</exclude>" + "<exclude>DBSEBFTGSE</exclude><exclude>DBSHBSE</exclude>" + "<exclude>DBSWEDBANKSE</exclude><exclude>BANKAXESS</exclude>" + "<exclude>SVEAINVOICESE</exclude>" + "<exclude>SVEAINVOICEEU_SE</exclude>" + "<exclude>SVEASPLITSE</exclude><exclude>SVEASPLITEU_SE</exclude>" + "<exclude>SVEAINVOICEEU_DE</exclude>" + "<exclude>SVEASPLITEU_DE</exclude>" + "<exclude>SVEAINVOICEEU_DK</exclude>" + "<exclude>SVEASPLITEU_DK</exclude>" + "<exclude>SVEAINVOICEEU_FI</exclude><exclude>SVEASPLITEU_FI</exclude>" + "<exclude>SVEAINVOICEEU_NL</exclude><exclude>SVEASPLITEU_NL</exclude>" + "<exclude>SVEAINVOICEEU_NO</exclude><exclude>SVEASPLITEU_NO</exclude>" + "</excludepaymentMethods>"; Assert.That(_xml.Contains(expectedString), Is.True); }
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 TestPayPagePaymentIncludePaymentMethodEmpty() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails( Item.IndividualCustomer().SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePayPage() .IncludePaymentMethod() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string xml = form.GetXmlMessage(); string paymentMethod = xml.Substring( xml.IndexOf("SVEAINVOICESE", System.StringComparison.InvariantCulture), "SVEAINVOICESE".Length); string paymentMethod2 = xml.Substring( xml.IndexOf("DBSWEDBANKSE", System.StringComparison.InvariantCulture), "DBSWEDBANKSE".Length); Assert.That(paymentMethod, Is.EqualTo(InvoiceType.INVOICESE.Value)); Assert.That(paymentMethod2, Is.EqualTo(PaymentMethod.SWEDBANKSE.Value)); }
public void TestCloseOrder() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.Accepted, Is.True); CancelOrderResponse closeResponse = WebpayAdmin.CancelOrder(SveaConfig.GetDefaultConfig()) .SetOrderId(response.CreateOrderResult.SveaOrderId) .SetCountryCode(TestingTool.DefaultTestCountryCode) .CancelInvoiceOrder() .DoRequest(); Assert.That(closeResponse.ResultCode, Is.EqualTo(0)); Assert.That(response.Accepted, Is.True); }
public void TestIncludePaymentMethod() { var includedPaymentMethod = new List <PaymentMethod> { PaymentMethod.KORTCERT, PaymentMethod.SKRILL, PaymentMethod.INVOICE, PaymentMethod.PAYMENTPLAN, PaymentMethod.SWEDBANKSE, PaymentMethod.SHBSE, PaymentMethod.SEBFTGSE, PaymentMethod.SEBSE, PaymentMethod.NORDEASE }; PayPagePayment payPagePayment = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .UsePayPage() .IncludePaymentMethod(includedPaymentMethod); Assert.That(payPagePayment.GetExcludedPaymentMethod().Count, Is.EqualTo(15)); Assert.That(payPagePayment.GetExcludedPaymentMethod()[0], Is.EqualTo("SVEAINVOICESE")); Assert.That(payPagePayment.GetExcludedPaymentMethod()[1], Is.EqualTo("SVEASPLITSE")); Assert.That(payPagePayment.GetExcludedPaymentMethod()[2], Is.EqualTo("SVEAINVOICEEU_DE")); Assert.That(payPagePayment.GetExcludedPaymentMethod()[3], Is.EqualTo("SVEASPLITEU_DE")); Assert.That(payPagePayment.GetExcludedPaymentMethod()[4], Is.EqualTo("SVEAINVOICEEU_DK")); Assert.That(payPagePayment.GetExcludedPaymentMethod()[12], Is.EqualTo("SVEACARDPAY")); Assert.That(payPagePayment.GetExcludedPaymentMethod()[13], Is.EqualTo("PAYPAL")); Assert.That(payPagePayment.GetExcludedPaymentMethod()[14], Is.EqualTo("BANKAXESS")); }
public void TestPayPagePaymentIncludePaymentMethod() { var paymentMethods = new List <PaymentMethod> { PaymentMethod.KORTCERT, PaymentMethod.SKRILL }; PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails( Item.IndividualCustomer().SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePayPage() .IncludePaymentMethod(paymentMethods) .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string xml = form.GetXmlMessage(); string paymentMethod = xml.Substring( xml.IndexOf("SVEAINVOICESE", System.StringComparison.InvariantCulture), "SVEAINVOICESE".Length); //check to see if the first value is one of the excluded ones Assert.That(paymentMethod, Is.EqualTo(InvoiceType.INVOICESE.Value)); }
public void TestSetExcludePaymentMethod() { var excludePaymentMethod = new List <PaymentMethod> { PaymentMethod.INVOICE, PaymentMethod.NORDEASE }; PayPagePayment payPagePayment = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .UsePayPage() .ExcludePaymentMethod(excludePaymentMethod); var expectedValues = new List <string> { InvoiceType.INVOICESE.Value, InvoiceType.INVOICEEUSE.Value, InvoiceType.INVOICENO.Value, InvoiceType.INVOICEDK.Value, InvoiceType.INVOICEFI.Value, InvoiceType.INVOICENL.Value, InvoiceType.INVOICEDE.Value, PaymentMethod.NORDEASE.Value, }; Assert.That(payPagePayment.GetExcludedPaymentMethod(), Is.EqualTo(expectedValues)); }
public void ConvertOrderBuilderToOrder() { var orderBuilder = new CreateOrderBuilder(SveaConfig.GetDefaultConfig()); var order = WebServiceRowFormatter <CreateOrderBuilder> .ConvertToOrder(orderBuilder); Assert.That(order.Original, Is.SameAs(orderBuilder)); }
public void TestRecur() { const string customerRefNo = "Customer reference number or client order number"; const string subscriptionId = "The subscription id"; const long amount = 66600L; var hostedActionRequest = new HostedAdmin(SveaConfig.GetDefaultConfig(), CountryCode.SE) .Recur(new Recur( customerRefNo: customerRefNo, subscriptionId: subscriptionId, currency: Currency.SEK, amount: amount )); HostedAdminRequest hostedAdminRequest = hostedActionRequest.PrepareRequest(); Assert.That(hostedAdminRequest.MessageXmlDocument.SelectSingleNode("/recur/currency").InnerText, Is.EqualTo(Currency.SEK.ToString())); Assert.That(hostedAdminRequest.MessageXmlDocument.SelectSingleNode("/recur/amount").InnerText, Is.EqualTo(amount + "")); Assert.That(hostedAdminRequest.MessageXmlDocument.SelectSingleNode("/recur/customerrefno").InnerText, Is.EqualTo(customerRefNo)); Assert.That(hostedAdminRequest.MessageXmlDocument.SelectSingleNode("/recur/subscriptionid").InnerText, Is.EqualTo(subscriptionId)); var hostedAdminResponse = hostedActionRequest.DoRequest <HostedAdminResponse>(); //Call to non-existing subscription Assert.That(hostedAdminResponse.MessageXmlDocument.SelectSingleNode("/response/statuscode").InnerText, Is.EqualTo("322")); }
public void Test_CreateOrder_NO_WithAllCustomerDetailsSet_ShouldNotSetIndividualIdentity() { CreateOrderBuilder createOrderBuilder = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber("17054512066") // NO test individual "Ola Norrmann" // below taken from docs, not accurate .SetBirthDate("19460509") //Required for individual customers in NL and DE .SetName("Tess", "Testson") //Required for individual customers in NL and DE .SetInitials("SB") //Required for individual customers in NL .SetStreetAddress("Gatan", "23") //Required in NL and DE .SetCoAddress("c/o Eriksson") //Optional .SetZipCode("9999") //Required in NL and DE .SetLocality("Stan") //Required in NL and DE .SetPhoneNumber("999999") //Optional .SetEmail("*****@*****.**") //Optional but desirable .SetIpAddress("123.123.123") //Optional but desirable ) .SetCountryCode(CountryCode.NO) // NO .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber("33308") // NO Invoice .SetCurrency(TestingTool.DefaultTestCurrency) ; CreateOrderEuRequest request = createOrderBuilder.UseInvoicePayment().PrepareRequest(); Assert.IsNull(request.CreateOrderInformation.CustomerIdentity.IndividualIdentity); CreateOrderEuResponse order = createOrderBuilder.UseInvoicePayment().DoRequest(); Assert.IsTrue(order.Accepted); }
public void TestPayPagePaymentWithSetPaymentMethodSveaCardPayPF() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .UsePaymentMethod(PaymentMethod.SVEACARDPAY_PF) .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string xml = form.GetXmlMessage(); const string expectedXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<!--Message generated by Integration package C#--><payment><paymentmethod>SVEACARDPAY_PF</paymentmethod><customerrefno>33</customerrefno><currency>SEK</currency><amount>12500</amount><vat>2500</vat><lang>en</lang><returnurl>http://myurl.se</returnurl><iscompany>false</iscompany><customer><unknowncustomer>true</unknowncustomer><country>SE</country></customer><orderrows><row><sku>1</sku><name>Prod</name><description>Specification</description><amount>12500</amount><vat>2500</vat><quantity>2</quantity><unit>st</unit></row><row><sku>1</sku><name>Relative</name><description>RelativeDiscount</description><amount>-12500</amount><vat>-2500</vat><quantity>1</quantity><unit>st</unit></row></orderrows><excludepaymentMethods /><addinvoicefee>false</addinvoicefee></payment>"; Assert.That(xml, Is.EqualTo(expectedXml)); string base64Payment = form.GetXmlMessageBase64(); string html = Base64Util.DecodeBase64String(base64Payment); Assert.That(html.Contains("<paymentmethod>SVEACARDPAY_PF</paymentmethod>"), Is.True); }
public void TestOrderRowXml() { _order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetArticleNumber("0") .SetName("Product") .SetDescription("Good product") .SetAmountExVat(4) .SetVatPercent(25) .SetQuantity(1) .SetUnit("kg")) .AddCustomerDetails(Item.CompanyCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCurrency(TestingTool.DefaultTestCurrency) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber); var payment = new FakeHostedPayment(_order); payment.SetPayPageLanguageCode(LanguageCode.sv) .SetReturnUrl("http://myurl.se") .CalculateRequestValues(); _xml = _xmlBuilder.GetXml(payment); const string expectedString = "<orderrows><row><sku>0</sku><name>Product</name>" + "<description>Good product</description><amount>500</amount>" + "<vat>100</vat><quantity>1</quantity><unit>kg</unit></row></orderrows>"; Assert.That(_xml.Contains(expectedString), Is.True); }
public void TestDirectPaymentSpecificXml() { _xml = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCurrency(TestingTool.DefaultTestCurrency) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .AddOrderRow(TestingTool.CreateMiniOrderRow()) .AddCustomerDetails(Item.CompanyCustomer()) .UsePayPageDirectBankOnly() .SetReturnUrl( "https://test.sveaekonomi.se/Webpayconnection/admin/merchantresponSetest.xhtm") .GetPaymentForm() .GetXmlMessage(); const string expectedString = "<excludepaymentMethods><exclude>BANKAXESS</exclude>" + "<exclude>PAYPAL</exclude><exclude>KORTCERT</exclude" + "><exclude>SKRILL</exclude><exclude>SVEAINVOICESE</exclude>" + "<exclude>SVEAINVOICEEU_SE</exclude><exclude>SVEASPLITSE</exclude>" + "<exclude>SVEASPLITEU_SE</exclude>" + "<exclude>SVEAINVOICEEU_DE</exclude><exclude>SVEASPLITEU_DE</exclude>" + "<exclude>SVEAINVOICEEU_DK</exclude><exclude>SVEASPLITEU_DK</exclude>" + "<exclude>SVEAINVOICEEU_FI</exclude><exclude>SVEASPLITEU_FI</exclude>" + "<exclude>SVEAINVOICEEU_NL</exclude><exclude>SVEASPLITEU_NL</exclude>" + "<exclude>SVEAINVOICEEU_NO</exclude><exclude>SVEASPLITEU_NO</exclude>" + "</excludepaymentMethods>"; Assert.That(_xml.Contains(expectedString), Is.True); }
public void TestBasicXml() { _order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCurrency(TestingTool.DefaultTestCurrency) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .AddOrderRow(Item.OrderRow() .SetAmountExVat(4) .SetVatPercent(25) .SetQuantity(1)); var payment = new FakeHostedPayment(_order); payment.SetReturnUrl("http://myurl.se") .CalculateRequestValues(); _xml = _xmlBuilder.GetXml(payment); const string expectedXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--Message generated by Integration package C#-->" + "<payment><customerrefno>33</customerrefno><currency>SEK</currency><amount>500</amount>" + "<vat>100</vat><lang>en</lang><returnurl>http://myurl.se</returnurl><iscompany>false</iscompany>" + "<customer><ssn>194605092222</ssn><country>SE</country></customer><orderrows><row><sku /><name />" + "<description /><amount>500</amount><vat>100</vat><quantity>1</quantity></row></orderrows>" + "<excludepaymentMethods /><addinvoicefee>false</addinvoicefee></payment>"; Assert.That(_xml, Is.EqualTo(expectedXml)); }
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 TestDeliverPaymentPlanOrderResult() { GetPaymentPlanParamsEuResponse paymentPlanParamResponse = WebpayConnection.GetPaymentPlanParams(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DoRequest(); long code = paymentPlanParamResponse.CampaignCodes[0].CampaignCode; CreateOrderEuResponse createOrderResponse = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreatePaymentPlanOrderRow()) .AddCustomerDetails( TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCustomerReference( TestingTool.DefaultTestClientOrderNumber) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePaymentPlanPayment(code) .DoRequest(); DeliverOrderEuResponse deliverOrderResponse = WebpayConnection.DeliverOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .SetOrderId( createOrderResponse.CreateOrderResult .SveaOrderId) .SetNumberOfCreditDays(1) .SetInvoiceDistributionType( InvoiceDistributionType.POST) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DeliverPaymentPlanOrder() .DoRequest(); Assert.That(deliverOrderResponse.Accepted, Is.True); }
public void TestInvoiceWithFixedDiscountWithUneavenAmount() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetArticleNumber("1") .SetQuantity(1) .SetAmountExVat(240.00M) .SetDescription("CD") .SetVatPercent(25)) .AddDiscount(Item.FixedDiscount() .SetAmountIncVat(101.50M) .SetDescription("FixedDiscount") .SetDiscountId("1")) .AddCustomerDetails(Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .PrepareRequest(); Assert.That(request.CreateOrderInformation.OrderRows[1].ArticleNumber, Is.EqualTo("1")); Assert.That(request.CreateOrderInformation.OrderRows[1].Description, Is.EqualTo("FixedDiscount (25%)")); Assert.That(request.CreateOrderInformation.OrderRows[1].PricePerUnit, Is.EqualTo(-81.2)); Assert.That(request.CreateOrderInformation.OrderRows[1].NumberOfUnits, Is.EqualTo(1)); Assert.That(request.CreateOrderInformation.OrderRows[1].Unit, Is.EqualTo("")); Assert.That(request.CreateOrderInformation.OrderRows[1].VatPercent, Is.EqualTo(25)); Assert.That(request.CreateOrderInformation.OrderRows[1].DiscountPercent, Is.EqualTo(0)); }
public void TestFormatFixedDiscountRowsAmountExVatAndVatPercentWithDifferentVatRatesPresent() { CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetAmountExVat(100.00M) .SetVatPercent(25) .SetQuantity(2)) .AddOrderRow(Item.OrderRow() .SetAmountExVat(100.00M) .SetVatPercent(6) .SetQuantity(1)) .AddDiscount(Item.FixedDiscount() .SetDiscountId("42") .SetName(".SetAmountIncVat(100)") .SetDescription("testFormatFixedDiscountRowsWithDifferentVatRatesPresent") .SetAmountExVat(111) .SetVatPercent(25) .SetUnit("st")); List <OrderRow> newRows = new WebServiceRowFormatter <CreateOrderBuilder>(order).FormatRows(); // 100 @25% vat = -80 excl. vat OrderRow newRow = newRows[2]; Assert.That(newRow.ArticleNumber, Is.EqualTo("42")); Assert.That(newRow.Description, Is.EqualTo(".SetAmountIncVat(100): testFormatFixedDiscountRowsWithDifferentVatRatesPresent")); Assert.That(newRow.PricePerUnit, Is.EqualTo(-111.00M)); Assert.That(newRow.VatPercent, Is.EqualTo(25)); Assert.That(newRow.DiscountPercent, Is.EqualTo(0)); Assert.That(newRow.NumberOfUnits, Is.EqualTo(1)); Assert.That(newRow.Unit, Is.EqualTo("st")); }
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")); }
public void TestInvoiceRequestUsingForNewVatFunctionCornerCase() { var useInvoicePayment = WebpayConnection .CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item .OrderRow() .SetArticleNumber("1") .SetName("Prod") .SetDescription("Specification") .SetAmountIncVat(100.00M) .SetQuantity(1) .SetUnit("st") .SetVatPercent(24) .SetVatDiscount(0)) .AddCustomerDetails(Item .IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .UseInvoicePayment(); var createOrderEuRequest = useInvoicePayment.PrepareRequest(); CreateOrderEuResponse response = useInvoicePayment .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.Accepted, Is.True); Assert.That(response.CreateOrderResult.Amount, Is.EqualTo(100.00M)); // Old version gives 100.01 }
public void TestInvoiceRequestObjectForCustomerIdentityIndividualFromNl() { CreateOrderEuRequest request = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddCustomerDetails(TestingTool.CreateIndividualCustomer(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("Sneider Boasman")); Assert.That(request.CreateOrderInformation.CustomerIdentity.Street, Is.EqualTo("Gate")); Assert.That(request.CreateOrderInformation.CustomerIdentity.CoAddress, Is.EqualTo("138")); Assert.That(request.CreateOrderInformation.CustomerIdentity.ZipCode, Is.EqualTo("1102 HG")); Assert.That(request.CreateOrderInformation.CustomerIdentity.HouseNumber, Is.EqualTo("42")); 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.Individual)); Assert.That(request.CreateOrderInformation.CustomerIdentity.IndividualIdentity.FirstName, Is.EqualTo("Sneider")); Assert.That(request.CreateOrderInformation.CustomerIdentity.IndividualIdentity.LastName, Is.EqualTo("Boasman")); Assert.That(request.CreateOrderInformation.CustomerIdentity.IndividualIdentity.Initials, Is.EqualTo("SB")); Assert.That(request.CreateOrderInformation.CustomerIdentity.IndividualIdentity.BirthDate, Is.EqualTo("19550307")); }
public void TestInvoiceForIndividualFromNl() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateOrderRowNl()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer(CountryCode.NL)) .SetCountryCode(CountryCode.NL) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(Currency.EUR) .UseInvoicePayment() .DoRequest(); Assert.That(response.ResultCode, Is.EqualTo(0)); Assert.That(response.Accepted, Is.True); Assert.That(response.CreateOrderResult.SveaWillBuyOrder, Is.True); Assert.That(response.CreateOrderResult.Amount, Is.EqualTo(212.00)); Assert.That(response.CreateOrderResult.OrderType, Is.EqualTo("Invoice")); //Returns hardcoded values that slightly differ from input Assert.That(response.CreateOrderResult.CustomerIdentity.Email, Is.EqualTo("*****@*****.**")); Assert.That(response.CreateOrderResult.CustomerIdentity.IpAddress, Is.Null); Assert.That(response.CreateOrderResult.CustomerIdentity.CountryCode, Is.EqualTo("NL")); Assert.That(response.CreateOrderResult.CustomerIdentity.HouseNumber, Is.EqualTo("42")); Assert.That(response.CreateOrderResult.CustomerIdentity.CustomerType, Is.EqualTo(CustomerType.Individual)); Assert.That(response.CreateOrderResult.CustomerIdentity.PhoneNumber, Is.EqualTo("999999")); Assert.That(response.CreateOrderResult.CustomerIdentity.FullName, Is.EqualTo("Sneider Boasman")); Assert.That(response.CreateOrderResult.CustomerIdentity.Street, Is.EqualTo("Gate")); Assert.That(response.CreateOrderResult.CustomerIdentity.CoAddress, Is.Null); Assert.That(response.CreateOrderResult.CustomerIdentity.ZipCode, Is.EqualTo("1102 HG")); Assert.That(response.CreateOrderResult.CustomerIdentity.Locality, Is.EqualTo("BARENDRECHT")); }
public void TestFailOnMissingBirthDateForDeOrder() { const string expectedMessage = "MISSING VALUE - Birth date is required for individual customers when countrycode is DE. Use SetBirthDate().\n" + "MISSING VALUE - OrderRows are required. Use AddOrderRow(Item.OrderRow) to get orderrow setters.\n"; var exception = Assert.Throws <SveaWebPayValidationException>(() => { var builder = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()); var customer = Item.IndividualCustomer() .SetName("Tess", "Testson") .SetStreetAddress("Gatan", "23") .SetZipCode("9999") .SetLocality("Stan"); var order = builder .SetCountryCode(CountryCode.DE) .SetOrderDate(new DateTime(2005, 08, 15, 15, 52, 1)) .AddCustomerDetails(customer) .UseInvoicePayment(); order.PrepareRequest(); }); Assert.That(exception.Message, Is.EqualTo(expectedMessage)); }
public void TestCalculationWithTwelvePercentVat() { CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetArticleNumber("1") .SetQuantity(1) .SetAmountExVat(45M) .SetDescription("Specification") .SetName("Prod") .SetVatPercent(12M) .SetDiscountPercent(5)) .AddCustomerDetails( Item.IndividualCustomer() .SetNationalIdNumber(TestingTool.DefaultTestIndividualNationalIdNumber)) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .DoRequest(); Assert.That(response.Accepted, Is.True); Assert.That(response.CreateOrderResult.Amount, Is.EqualTo(47.88m)); }
public void TestAmountWithRelativeDiscountWithDifferentVatRatesPresent() { CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(Item.OrderRow() .SetAmountExVat(100.00M) .SetVatPercent(25) .SetQuantity(2)) .AddOrderRow(Item.OrderRow() .SetAmountExVat(100.00M) .SetVatPercent(6) .SetQuantity(1)) .AddDiscount(Item.RelativeDiscount() .SetDiscountPercent(25)); // follows HostedPayment calculateRequestValues() outline: var formatter = new HostedRowFormatter <CreateOrderBuilder>(); List <HostedOrderRowBuilder> formatRowsList = formatter.FormatRows(order); long formattedTotalAmount = formatter.GetTotalAmount(); long formattedTotalVat = formatter.GetTotalVat(); Assert.That(formatRowsList.Count, Is.EqualTo(3)); // 5000*.25 = 1250 // 600*.25 = 150 // matches 1400 discount Assert.That(formattedTotalAmount, Is.EqualTo(26700)); // 35600 - 8900 discount Assert.That(formattedTotalVat, Is.EqualTo(4200)); // 5600 - 1400 discount (= 10000/35600 *5600) discount }