Skip to content
A PHP wrapper for Paymo.biz's API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
class-cache.php
class-paymo.php
doxygen.config

README.md

PHP wrapper for Paymo's API

This is a wrapper for Paymo's API. Please feel free to fork it and make it better!

What's included?

  • Caching class - this is used to cache up the returned responses from Paymo's API.

  • The main Paymo class - this includes all the methods

  • The Paymo and Cache classes have both been commented with Doxygen format comments (the Doxygen config file is here too).

Example

Below is a very short example of how this can be used:

<?php
	
	/**
	 * Require both our Paymo and Cache classes
	 */
	 
	require_once 'class-cache.php';
	require_once 'class-paymo.php';
	
	/**
	 * Set some initial vars to indicate we want JSON as the response format
	 * Turn on the authentication cache
	 * Also turn on the data cache
	 */
	
	$api_response_format = 'json';
	$use_auth_cache = true;
	$use_data_cache = true;
	
	/**
	 * Create a new instance of the Paymo class, passing login details as required
	 */
	
	$paymo = new Paymo(
		'your_api_key',
		'your_username',
		'your_password',
		$use_auth_cache,
		$use_data_cache,
		$api_response_format
	);
	
	/**
	 * Print out a list of all our clients
	 */
	 
	print_r( $paymo->clients_getList() );

	/**
	 * Print out a list of invoices between April and August of 2012
	 * For date format see: http://api.paymo.biz/docs/misc.dates.html
	 */

	$client_id = null;
	$start = '2012-04-01';
	$end = '2012-08-01';
	$status = 'paid';

	print_r( $paymo->invoices_find( $client_id, $start, $end, $status ) );
	
?>

Caching

At the moment caching is mixed with the Paymo class. I'd like to split this soon so that it could be used independently. It uses MD5 to create a hash of the API URL & parameters. By doing this you can cache individual API calls to the same method. One use case is for different logins to the API.

You can’t perform that action at this time.