| 
<?php
/*
 usage example
 vatLayer 1.0
 */
 
 //instantiate the class
 include('vatlayer.class.php');
 $vatLayer = new vatLayer();
 
 //validate vat number
 echo '<h4>Validate VAT Number</h4>';
 
 //set api end point to validate
 $vatLayer->setEndPoint('validate');
 
 //set the vat number
 //we use the setParam method to set the parameter and value
 //to send to the api
 $vatLayer->setParam('vat_number','LU26375245');
 
 //get the api response
 $vatLayer->getResponse();
 
 //the response object will be in the class property response
 //we need to ensure that the countries vat database was online
 //before trusting the validation
 if( $vatLayer->response->database == 'ok' ){
 //manage the booleans
 $valid = ( $vatLayer->response->valid ) ? 'Yes' : 'No';
 $formatValid = ( $vatLayer->response->format_valid ) ? 'Yes' : 'No';
 
 echo 'VAT number: '.$vatLayer->response->vat_number.'<br>';
 echo 'Correct format: '.$formatValid.'<br>';
 echo 'Valid: '.$valid.'<br>';
 echo 'Country Code: '.$vatLayer->response->country_code.'<br>';
 echo 'Company: '.$vatLayer->response->company_name.'<br>';
 echo 'Address: '.$vatLayer->response->company_address.'<br>';
 }else{
 echo 'sorry, '.$vatLayer->response->country_code.' vat database is offline<br>';
 }
 
 //get VAT rates for a specified country
 echo '<h4>VAT Rates by country code</h4>';
 
 //set api end point to rate
 $vatLayer->setEndPoint('rate');
 
 //reset parameters for new request
 $vatLayer->resetParams();
 
 //set the country code
 $vatLayer->setParam('country_code','DE');
 
 //get the api response
 $vatLayer->getResponse();
 
 echo 'The returned response contains the following, including reduced rates<br>';
 var_dump($vatLayer->response);
 
 //calculate vat compliant price
 echo '<h4>Calculate VAT compliant price</h4>';
 
 //set api end point to price
 $vatLayer->setEndPoint('price');
 
 //reset parameters for new request
 $vatLayer->resetParams();
 
 //set the country code
 $vatLayer->setParam('country_code','DE');
 
 //set the amount to calculate VAT on
 $vatLayer->setParam('amount',150);
 
 //get the api response
 $vatLayer->getResponse();
 
 echo 'Item purchased in '.$vatLayer->response->country_name.' for '.$vatLayer->response->price_excl_vat.' costs '.$vatLayer->response->price_incl_vat.' including VAT<br>';
 
 echo '<br>Items in reduced VAT types also supported<br>';
 
 //set the vat type parameter, in addition to already set parameters
 $vatLayer->setParam('type','medical');
 
 //get the api response
 $vatLayer->getResponse();
 
 echo '<br>'.$vatLayer->response->type.' goods cost '.$vatLayer->response->price_incl_vat.' using a VAT rate of '.$vatLayer->response->vat_rate.'<br>';
 
 //reduced vat rate types
 //this api call is not charged against your monthtly limit
 echo '<h4>List of reduced VAT rate types</h4>';
 
 //set the api end point to types
 $vatLayer->setEndPoint('types');
 
 //reset parameters for new request
 //there are no parameters sent to the types end point
 $vatLayer->resetParams();
 
 //get api response
 $vatLayer->getResponse();
 
 //show types
 foreach( $vatLayer->response->types as $type ){
 echo $type.'<br>';
 }
 
 //all vat rates by country
 //to conserve bandwidth, this end point is not automatically shown
 //uncomment the following lines to see it in operation
 
 //echo '<h4>Returned object for all VAT rates by country</h4>';
 //$vatLayer->setEndPoint('rate_list');
 //$vatLayer->getResponse();
 //var_dump($vatLayer->response);
 
 ?>
 
 |