Xero Service Provider for Laravel 4

dev-master 2015-04-13 06:38 UTC

This package is auto-updated.

Last update: 2020-05-23 05:35:49 UTC


Originally forked from

A simple Laravel 4 service provider for including the PHP Xero API.


The Xero Service Provider can be installed via Composer by requiring the Venturecraft/xero-laravel package and setting the minimum-stability to dev in your project's composer.json.

	"require": {
		"laravel/framework": "4.0.*",
		"venturecraft/xero-laravel": "dev-master"
	"minimum-stability": "dev"


To use the Xero Service Provider, you must register the provider when bootstrapping your Laravel application.

Use Laravel Configuration

Create a new app/config/xero.php configuration file with the following options:

return array(
    'key'           => '<your-xero-key>',
    'secret'        => '<your-xero-secret>',
    'publicPath'    => '../app/config/xero/publickey.cer',
    'privatePath'   => '../app/config/xero/privatekey.pem'

Find the providers key in app/config/app.php and register the Xero Service Provider.

    'providers' => array(
        // ...

Find the aliases key in app/config/app.php and add in our Xero alias.

    'aliases' => array(
        // ...
        'XeroLaravel' 	  => 'Venturecraft\XeroLaravel\Facades\XeroLaravel',

Setting up the application

Create public and private keys, and save them in /app/config/xero/ as publickey.cer and privatekey.pem.

For more info on setting up your keys, check out the Xero documentation

Example Usage

Create Contact

$contact = array(
       	"Name"        => $user['company']['name'],
       	"FirstName"   => $user['firstname'],
		"LastName"    => $user['surname'],

$xero_contact = XeroLaravel::Contacts($contact);

Get Contacts with WHERE clause & paging

$where = "ContactNumber!=null&IsCustomer=true";
$page  = 1;
print_r(XeroLaravel::Contacts(false, false, $where, false, $page));