Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Recurly PHP Client

Recurly PHP Client

Build Status

The Recurly PHP Client library is an open source library to interact with Recurly's subscription management from your PHP website. The library interacts with Recurly's REST API.

Note: This version uses Recurly API v2. There are substantial differences between this version of the client library and versions before 0.5.0. Please be careful when upgrading.


cURL and OpenSSL

The PHP library depends on PHP 5.3.0 (or higher) and libcurl compiled with OpenSSL support. Open up a phpinfo(); page and verify that under the curl section, there's a line that says something like:

libcurl/7.19.5 OpenSSL/0.9.8g zlib/ libidn/1.15


You will need to specify your server's timezone before using the Recurly PHP client. This is necessary for the library to properly handle datetime conversions. You can do this in your php.ini file:

date.timezone = 'America/Los_Angeles'

or in your PHP script:




If you're using Composer, you can simply add a dependency on recurly/recurly-client to your project's composer.json file. Here's an example of a dependency on 2.4:

    "require": {
        "recurly/recurly-client": "2.4.*"


If you already have git, the easiest way to download the Recurly PHP Client is with the git command:

git clone git:// /path/to/include/recurly

By Hand

Alternatively, you may download the PHP files in the lib/ directory and place them within your PHP project.


Load the Recurly library files and set your subdomain and API Key globally:


/* https://<your-subdomain> */
Recurly_Client::$subdomain = 'your-subdomain';
/* your private API key */
Recurly_Client::$apiKey = '012345678901234567890123456789ab';

API Documentation

Please see the Recurly API for more information.

Unit tests

You can run our unit tests by using Composer to install PHPUnit:

$ curl -s | php
$ php composer.phar install --dev
$ vendor/phpunit/phpunit/phpunit Tests/



Contributing Guidelines

Please refer to

Something went wrong with that request. Please try again.