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