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 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 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 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 TestFailOnMissingOrderRowValues() { const string expectedMessage = "MISSING VALUE - Quantity is required in Item object. Use Item.SetQuantity().\n" + "MISSING VALUE - Two of the values must be set: AmountExVat(not set), AmountIncVat(not set) or VatPercent(not set) for Orderrow. Use two of: SetAmountExVat(), SetAmountIncVat or SetVatPercent().\n" + "MISSING VALUE - OrderDate is required. Use SetOrderDate().\n"; CreateOrderBuilder order = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .AddOrderRow(Item.OrderRow()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetValidator(new VoidValidator()); Assert.That(_orderValidator.Validate(order), Is.EqualTo(expectedMessage)); }
public void TestConnectionWithTestConfiguration() { var conf = new ConfigurationProviderTestData(); CreateOrderEuResponse response = WebpayConnection.CreateOrder(conf) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("1")) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow("2")) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetOrderDate(TestingTool.DefaultTestDate) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetCurrency(TestingTool.DefaultTestCurrency) .UseInvoicePayment() .DoRequest(); Assert.That(response.Accepted, Is.True); }
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 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)); }
private long createPaymentPlanAndReturnOrderId() { GetPaymentPlanParamsEuResponse paymentPlanParam = WebpayConnection.GetPaymentPlanParams(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DoRequest(); long code = paymentPlanParam.CampaignCodes[0].CampaignCode; CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreatePaymentPlanOrderRow()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePaymentPlanPayment(code) .DoRequest(); return(response.CreateOrderResult.SveaOrderId); }
public void TestPaymentPlanRequestReturnsAcceptedResult() { GetPaymentPlanParamsEuResponse paymentPlanParam = WebpayConnection.GetPaymentPlanParams(SveaConfig.GetDefaultConfig()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .DoRequest(); long code = paymentPlanParam.CampaignCodes[0].CampaignCode; CreateOrderEuResponse response = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreatePaymentPlanOrderRow()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetCustomerReference(TestingTool.DefaultTestCustomerReferenceNumber) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .SetCountryCode(TestingTool.DefaultTestCountryCode) .UsePaymentPlanPayment(code) .DoRequest(); Assert.That(response.Accepted, Is.True); }
public void TestExcludeDirectPaymentMethodLarge() { PaymentForm form = WebpayConnection.CreateOrder(SveaConfig.GetDefaultConfig()) .AddOrderRow(TestingTool.CreateExVatBasedOrderRow()) .AddDiscount(TestingTool.CreateRelativeDiscount()) .AddCustomerDetails(TestingTool.CreateIndividualCustomer()) .SetCountryCode(TestingTool.DefaultTestCountryCode) .SetClientOrderNumber(TestingTool.DefaultTestClientOrderNumber) .SetOrderDate(TestingTool.DefaultTestDate) .SetCurrency(TestingTool.DefaultTestCurrency) .UsePayPage() .ExcludeDirectPaymentMethod() .SetReturnUrl("http://myurl.se") .GetPaymentForm(); string xml = form.GetXmlMessage(); string paymentMethod = xml.Substring(xml.IndexOf("DBNORDEASE", System.StringComparison.InvariantCulture), "DBNORDEASE".Length); Assert.That(paymentMethod, Is.EqualTo(PaymentMethod.NORDEASE.Value)); }
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)); }
private static CreateOrderBuilder CreateTestCustomerIdentity(CreateOrderBuilder orderBuilder) { return(orderBuilder.AddCustomerDetails(TestingTool.CreateIndividualCustomer())); }