Official PHP client for Sales Tax API v2. For the REST documentation, please visit http://developers.taxjar.com/api.
- PHP 5.5.0 and later.
- Guzzle (included via Composer).
Use Composer and add taxjar-php
as a dependency:
composer require taxjar/taxjar-php
{
"require": {
"taxjar/taxjar-php": "^1.3"
}
}
$taxjar = TaxJar\Client::withApiKey($_ENV['TAXJAR_API_KEY']);
$categories = $taxjar->categories();
$rates = $taxjar->ratesForLocation(90002, [
'city' => 'LOS ANGELES',
'country' => 'US'
]);
echo $rates->combined_rate;
// 0.09
$order_taxes = $taxjar->taxForOrder([
'from_country' => 'US',
'from_zip' => '07001',
'from_state' => 'NJ',
'to_country' => 'US',
'to_zip' => '07446',
'to_state' => 'NJ',
'amount' => 16.50,
'shipping' => 1.5,
'line_items' => [
[
'quantity' => 1,
'unit_price' => 15.0,
'product_tax_code' => 31000
]
]
]);
echo $order_taxes->amount_to_collect;
// 1.26
$orders = $taxjar->listOrders([
'from_transaction_date' => '2014/01/01',
'to_transaction_date' => '2015/05/30'
]);
$order = $taxjar->showOrder('123');
$order = $taxjar->createOrder([
'transaction_id' => '123',
'transaction_date' => '2015/05/14',
'to_country' => 'US',
'to_zip' => '90002',
'to_state' => 'CA',
'to_city' => 'Los Angeles',
'to_street' => '123 Palm Grove Ln',
'amount' => 17.45,
'shipping' => 1.5,
'sales_tax' => 0.95,
'line_items' => [
[
'quantity' => 1,
'product_identifier' => '12-34243-9',
'description' => 'Fuzzy Widget',
'unit_price' => 15.0,
'sales_tax' => 0.95
]
]
]);
$order = $taxjar->updateOrder([
'transaction_id' => '123',
'amount' => 17.95,
'shipping' => 2.0,
'line_items' => [
[
'quantity' => 1,
'product_identifier' => '12-34243-0',
'description' => 'Heavy Widget',
'unit_price' => 15.0,
'discount' => 0.0,
'sales_tax' => 0.95
]
]
]);
$taxjar->deleteOrder('123');
$refunds = $taxjar->listRefunds([
'from_transaction_date' => '2014/01/01',
'to_transaction_date' => '2015/05/30'
]);
$refund = $taxjar->showRefund('321');
$refund = $taxjar->createRefund([
'transaction_id' => '321',
'transaction_date' => '2015/05/14',
'transaction_reference_id' => '123',
'to_country' => 'US',
'to_zip' => '90002',
'to_state' => 'CA',
'to_city' => 'Los Angeles',
'to_street' => '123 Palm Grove Ln',
'amount' => 17.45,
'shipping' => 1.5,
'sales_tax' => 0.95,
'line_items' => [
[
'quantity' => 1,
'product_identifier' => '12-34243-9',
'description' => 'Fuzzy Widget',
'unit_price' => 15.0,
'sales_tax' => 0.95
]
]
]);
$refund = $taxjar->updateRefund([
'transaction_id' => '321',
'amount' => 17.95,
'shipping' => 2.0,
'line_items' => [
[
'quantity' => 1,
'product_identifier' => '12-34243-0',
'description' => 'Heavy Widget',
'unit_price' => 15.0,
'sales_tax' => 0.95
]
]
]);
$taxjar->deleteRefund('321');
$validation = $taxjar->validate([
'vat' => 'FR40303265045'
]);
$summarized_rates = $taxjar->summaryRates();
Make sure PHPUnit is installed via composer install
and run the following:
php vendor/bin/phpunit test/specs/.
To enable debug mode, set the following config parameter after authenticating:
$taxjar->setApiConfig('debug', true);