public function test_ShippingFee_IncVatAndExVat() { $config = Svea\SveaConfig::getDefaultConfig(); $order = WebPay::createOrder($config); $order->addOrderRow(WebPayItem::orderRow()->setAmountExVat(100.0)->setVatPercent(25)->setQuantity(1))->addOrderRow(WebPayItem::shippingFee()->setAmountExVat(20.0)->setAmountIncVat(21.2))->addOrderRow(WebPayItem::invoiceFee()->setAmountExVat(23.2)->setVatPercent(25))->addCustomerDetails(TestUtil::createCompanyCustomer("SE"))->setCountryCode("SE")->setOrderDate("2013-10-28")->setCurrency("SEK"); // asserts on request $request = $order->useInvoicePayment()->prepareRequest(); $newRows = $request->request->CreateOrderInformation->OrderRows['OrderRow']; $newRow = $newRows[0]; $this->assertEquals(100, $newRow->PricePerUnit); $this->assertEquals(25, $newRow->VatPercent); $newRow = $newRows[1]; $this->assertEquals(20.0, $newRow->PricePerUnit); $this->assertEquals(6, $newRow->VatPercent); $newRow = $newRows[2]; $this->assertEquals(23.2, $newRow->PricePerUnit); $this->assertEquals(25, $newRow->VatPercent); // asserts on result $result = $order->useInvoicePayment()->doRequest(); $this->assertEquals(1, $result->accepted); $this->assertEquals(0, $result->resultcode); $this->assertEquals('Invoice', $result->orderType); $this->assertEquals(1, $result->sveaWillBuyOrder); $this->assertEquals(175.2, $result->amount); }
public function test_GetOrdersRequest_for_invoice_sets_company_customer_correctly() { // create order $country = "SE"; $order = TestUtil::createOrder(TestUtil::createCompanyCustomer($country)); //case( "SE" ): // return WebPayItem::companyCustomer() // ->setNationalIdNumber("4608142222") // ->setCompanyName("Tess T", "Persson") // ->setStreetAddress("Testgatan", 1) // ->setCoAddress("c/o Eriksson, Erik") // ->setLocality("Stan") // ->setZipCode("99999"); // break; $order->addOrderRow(TestUtil::createOrderRow(1000.0)); $orderResponse = $order->useInvoicePayment()->doRequest(); $this->assertEquals(1, $orderResponse->accepted); $countryCode = "SE"; $sveaOrderIdToGet = $orderResponse->sveaOrderId; $orderType = ConfigurationProvider::INVOICE_TYPE; $getOrdersBuilder = new Svea\QueryOrderBuilder(Svea\SveaConfig::getDefaultConfig()); $getOrdersBuilder->setOrderId($sveaOrderIdToGet); $getOrdersBuilder->setCountryCode($countryCode); $getOrdersBuilder->orderType = $orderType; $request = new Svea\AdminService\GetOrdersRequest($getOrdersBuilder); $getOrdersResponse = $request->doRequest(); // Example test_GetOrdersRequest_for_invoice_company_customer_order raw request response // //stdClass Object //( // /.../ // [Customer] => stdClass Object // ( // [CoAddress] => c/o Eriksson, Erik // [CompanyIdentity] => stdClass Object // ( // [CompanyIdentification] => // [CompanyVatNumber] => // ) // // [CountryCode] => SE // [CustomerType] => Company // [Email] => // [FullName] => Persson, Tess T // [HouseNumber] => // [IndividualIdentity] => // [Locality] => Stan // [NationalIdNumber] => 164608142222 // [PhoneNumber] => // [PublicKey] => // [Street] => Testgatan 1 // [ZipCode] => 99999 // ) // /.../ // ) ////print_r( $getOrdersResponse ); $this->assertInstanceOf('Svea\\AdminService\\GetOrdersResponse', $getOrdersResponse); $this->assertEquals(1, $getOrdersResponse->accepted); $this->assertEquals(0, $getOrdersResponse->resultcode); $this->assertEquals(null, $getOrdersResponse->errormessage); $this->assertInstanceOf("Svea\\CompanyCustomer", $getOrdersResponse->customer); $this->assertEquals("194608142222", $getOrdersResponse->customer->orgNumber); $this->assertEquals(null, $getOrdersResponse->customer->companyVatNumber); $this->assertEquals("Persson, Tess T", $getOrdersResponse->customer->companyName); $this->assertEquals(null, $getOrdersResponse->customer->email); $this->assertEquals(null, $getOrdersResponse->customer->phonenumber); $this->assertEquals("Testgatan 1", $getOrdersResponse->customer->streetAddress); $this->assertEquals("Testgatan 1", $getOrdersResponse->customer->street); $this->assertEquals("c/o Eriksson, Erik", $getOrdersResponse->customer->coAddress); $this->assertEquals("99999", $getOrdersResponse->customer->zipCode); $this->assertEquals("Stan", $getOrdersResponse->customer->locality); }