No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Xero Service Provider for Laravel 5

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

No longer maintained

Please note the PHP-Xero wrapper library used by this service provider is no longer under active development. All development effort is going into the XeroOAuth-PHP library.

We will review this after Laravel 5 has been released and likely leave this active (but unsupported) for anyone still using it for their Laravel 4 apps.


The Xero Service Provider can be installed via Composer by requiring the Softlabs/xero-laravel package in your project's composer.json.

    "require": {
        "Softlabs/xero-laravel": "3.*"

Also you need to add the repository to composer.json:

"repositories": [
        "type": "vcs",
        "url": ""


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

Use Laravel Configuration

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

return [
    'key'           => '<your-xero-key>',
    'secret'        => '<your-xero-secret>',
    'publicPath'    => '../config/xero/publickey.cer',
    'privatePath'   => '../config/xero/privatekey.pem',
    'format'        => 'json'

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

    'providers' => [
        // ...

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

    'aliases' => [
        // ...
        'XeroLaravel'     => 'Softlabs\XeroLaravel\Facades\XeroLaravel',

Setting up the application

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

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

Example Usage

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

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