public function testPaymentMethodInvoiceNLCallbackUrl()
 {
     $config = SveaConfig::getDefaultConfig();
     $form = \WebPay::createOrder($config)->addOrderRow(\TestUtil::createOrderRow())->addCustomerDetails(\WebPayItem::individualCustomer()->setInitials("SB")->setBirthDate(1923, 12, 12)->setName("Sneider", "Boasman")->setEmail("*****@*****.**")->setPhoneNumber(999999)->setIpAddress("123.123.123")->setStreetAddress("Gatan", 23)->setCoAddress("c/o Eriksson")->setZipCode(9999)->setLocality("Stan"))->setCountryCode("NL")->setClientOrderNumber("33")->setOrderDate("2012-12-12")->setCurrency("SEK")->usePaymentMethod(\PaymentMethod::INVOICE)->setReturnUrl("http://myurl.se")->setCallbackUrl("http://myurl.se")->getPaymentForm();
     $xmlMessage = new \SimpleXMLElement($form->xmlMessage);
     $this->assertEquals("http://myurl.se", $xmlMessage->callbackurl);
 }
 public function test_handles_response_is_SimpleXMLElement_object()
 {
     $config = SveaConfig::getDefaultConfig();
     $message = (object) array("CloseOrderEuResult" => (object) array("Accepted" => "1", "ResultCode" => "0"));
     $this->assertTrue(\is_object($message));
     $response = new \SveaResponse($message, "SE", $config);
     $this->assertInstanceOf('Svea\\WebService\\CloseOrderResult', $response->getResponse());
 }
 public function testBuildDirectBankPaymentCallBackUrl()
 {
     $config = SveaConfig::getDefaultConfig();
     $rowFactory = new \TestUtil();
     $form = \WebPay::createOrder($config)->addOrderRow(\TestUtil::createOrderRow())->addCustomerDetails(\WebPayItem::individualCustomer()->setNationalIdNumber(194605092222))->setCountryCode("SE")->setClientOrderNumber("33")->setOrderDate("2012-12-12")->setCurrency("SEK")->usePayPageDirectBankOnly()->setReturnUrl("http://myurl.se")->setCallbackUrl("http://myurl.se")->getPaymentForm();
     $xmlMessage = new \SimpleXMLElement($form->xmlMessage);
     $this->assertEquals("http://myurl.se", $xmlMessage->callbackurl);
 }
 public function testBuildPayPagePaymentCallBackUrl()
 {
     $config = SveaConfig::getDefaultConfig();
     $rowFactory = new \TestUtil();
     $form = \WebPay::createOrder($config)->addOrderRow(\WebPayItem::orderRow()->setQuantity(2)->setAmountExVat(100.0)->setName('Prod')->setVatPercent(0))->setCountryCode("SE")->setClientOrderNumber("33")->setCurrency("SEK")->usePayPage()->setReturnUrl("myurl")->setCallbackUrl("http://myurl.se")->getPaymentForm();
     $xmlMessage = new \SimpleXMLElement($form->xmlMessage);
     $this->assertEquals("http://myurl.se", $xmlMessage->callbackurl);
 }
 public function testDefaultTestConfig()
 {
     $config = SveaConfig::getDefaultConfig();
     $this->assertEquals("sverigetest", $config->getUsername("Invoice", "SE"));
     $this->assertEquals("sverigetest", $config->getPassword("PaymentPlan", "SE"));
     $this->assertEquals("16997", $config->getClientNumber("PaymentPlan", "DE"));
     $this->assertEquals("1130", $config->getMerchantId("HOSTED", "NL"));
     $this->assertEquals("https://webservices.sveaekonomi.se/webpay_test/SveaWebPay.asmx?WSDL", $config->getEndPoint("Invoice"));
 }
 function setUp()
 {
     $this->cancelOrderRowsObject = new CancelOrderRowsBuilder(SveaConfig::getDefaultConfig());
 }
 /**
  * @expectedException Svea\ValidationException
  * @expectedExceptionMessage -missing value : ReturnUrl is required. Use function setReturnUrl().
  */
 public function testFailOnMissingReturnUrl()
 {
     $config = SveaConfig::getDefaultConfig();
     $builder = \WebPay::createOrder($config);
     $order = $builder->addOrderRow(\TestUtil::createHostedOrderRow())->setCountryCode("SE")->setCurrency("SEK")->setClientOrderNumber("34")->usePayPage();
     // ->setReturnUrl("myurl.se")
     $order->getPaymentForm();
 }
 function setUp()
 {
     $this->queryOrderObject = new QueryOrderBuilder(SveaConfig::getDefaultConfig());
 }
 public function test_BuildCardPayment_With_InvoiceFee_ExVat_IncVat()
 {
     $config = SveaConfig::getDefaultConfig();
     $form = \WebPay::createOrder($config)->addOrderRow(\WebPayItem::orderRow()->setArticleNumber("1")->setQuantity(1)->setAmountExVat(240.0)->setAmountIncVat(300.0)->setDescription("CD"))->addFee(\WebPayItem::invoiceFee()->setAmountExVat(80)->setAmountIncVat(100)->setName("test_BuildCardPayment_With_InvoiceFee title")->setDescription("test_BuildCardPayment_With_InvoiceFee description")->setUnit("kr"))->setClientOrderNumber("33")->setCurrency("SEK")->setCountryCode("SE")->usePayPageCardOnly()->setReturnUrl("http://myurl.se")->getPaymentForm();
     $xmlMessage = new \SimpleXMLElement($form->xmlMessage);
     $this->assertEquals("8000", $xmlMessage->vat);
     $this->assertEquals("40000", $xmlMessage->amount);
 }
 /**
  * @expectedException Exception
  * @expectedExceptionMessage Invalid or missing Country code
  */
 function test_usepaymentmethodpayment_without_countrycode_required_fail_when_using_defaultconfig()
 {
     $order = \WebPay::createOrder(SveaConfig::getDefaultConfig());
     $order->addOrderRow(\WebPayItem::orderRow()->setAmountExVat(100.0)->setVatPercent(25)->setQuantity(2))->setCurrency('SEK')->setClientOrderNumber('1010101')->usePaymentMethod(\PaymentMethod::KORTCERT)->setReturnUrl('testurl.com')->getPaymentForm();
 }
 function test_splitMeanAcrossTaxRates_8()
 {
     $discountAmount = 10.0;
     $discountGivenExVat = false;
     $discountMeanVatPercent = 16.0;
     $discountName = 'Name';
     $discountDescription = 'Description';
     $allowedTaxRates = array(25, 6);
     $discountRows = Helper::splitMeanAcrossTaxRates($discountAmount, $discountMeanVatPercent, $discountName, $discountDescription, $allowedTaxRates, $discountGivenExVat);
     $order = \WebPay::createOrder(SveaConfig::getDefaultConfig())->addOrderRow(\WebPayItem::orderRow()->setAmountExVat(100.0)->setVatPercent(25)->setQuantity(1))->addDiscount($discountRows[0])->addDiscount($discountRows[1])->addCustomerDetails(\TestUtil::createIndividualCustomer("SE"))->setCountryCode("SE")->setOrderDate("2012-12-12");
     $response = $order->useInvoicePayment()->doRequest();
     $this->assertEquals(1, $response->accepted);
     $this->assertEquals(115.0, $response->amount);
 }
 function setUp()
 {
     $this->deliverOrderRowsObject = new deliverOrderRowsBuilder(SveaConfig::getDefaultConfig());
 }
 /**
  * @expectedException Svea\ValidationException
  * @expectedExceptionMessage -incorrect datatype : vatPercent is not of type int.
  */
 public function testFailOnVatNotInt()
 {
     $config = SveaConfig::getDefaultConfig();
     $builder = \WebPay::createOrder($config);
     $order = $builder->addOrderRow(\WebPayItem::orderRow()->setAmountExVat(100.0)->setVatPercent(20.33)->setQuantity(1))->setCountryCode("SE")->setOrderDate("Mon, 15 Aug 05 15:52:01 +0000")->addCustomerDetails(\WebPayItem::individualCustomer()->setNationalIdNumber(46111111))->useInvoicePayment();
     $order->prepareRequest();
 }
 public function testOrderRowsInOrderAsAdded2OnHosted()
 {
     $config = SveaConfig::getDefaultConfig();
     $request = \WebPay::createOrder($config);
     $form = $request->addFee(\WebPayItem::shippingFee()->setDescription("1")->setVatPercent(25)->setAmountIncVat(30))->addOrderRow(\WebPayItem::orderRow()->setDescription("2")->setQuantity(1)->setAmountIncVat(10.0)->setVatPercent(25))->addOrderRow(\WebPayItem::orderRow()->setDescription("3")->setQuantity(1)->setAmountIncVat(20.0)->setVatPercent(25))->addDiscount(\WebPayItem::relativeDiscount()->setDescription("4")->setDiscountPercent(10))->setCountryCode("SE")->setClientOrderNumber("33")->setOrderDate("2012-12-12")->setCurrency("SEK")->usePaymentMethod(\PaymentMethod::SVEACARDPAY)->setReturnUrl("http://myurl.se")->getPaymentForm();
     $xmlMessage = new \SimpleXMLElement($form->xmlMessage);
     $this->assertEquals('1', $xmlMessage->orderrows->row[0]->description);
     $this->assertEquals('2', $xmlMessage->orderrows->row[1]->description);
     $this->assertEquals('3', $xmlMessage->orderrows->row[2]->description);
     $this->assertEquals('4', $xmlMessage->orderrows->row[3]->description);
 }
 public function testBuildOrderWithClientOrderNumber()
 {
     $config = SveaConfig::getDefaultConfig();
     $sveaRequest = \WebPay::createOrder($config)->setClientOrderNumber("33");
     $this->assertEquals("33", $sveaRequest->clientOrderNumber);
 }
 function setUp()
 {
     $this->updateOrderRowsObject = new UpdateOrderRowsBuilder(SveaConfig::getDefaultConfig());
 }