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 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 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)); }
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); }
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); }
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); }
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 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)); }
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()); }