Skip to content

ThePixelDeveloper/Monzo-Client

Repository files navigation

Thepixeldeveloper\Mondo

Author Version Status Software License Packagist Version SensioLabsInsight Scrutinizer Code Quality

A Mondo Bank API Client - https://getmondo.co.uk/docs

This library is an MVP and only supports the basic functionality.
Doesn't yet support pagination, expansions and file uploads. Pull requests happily accepted.

Install

composer require thepixeldeveloper/mondo-client

Quick start

// Get an instance of the Guzzle client
$guzzleClient = (new Thepixeldeveloper\Mondo\GuzzleClientFactory(getenv('ACCESS_TOKEN')))->getClient();

// and create a Mondo client
$client = new Thepixeldeveloper\Mondo\Client($guzzleClient, SerializerBuilder::create()->build());

// Pass the client into the relevant Client class.
$ping = new Thepixeldeveloper\Mondo\Client\Ping($client);

// Response is of the type Thepixeldeveloper\Mondo\Response\Ping\WhoAmI
$response = $ping->whoAmI();

Accounts

$accounts = new Thepixeldeveloper\Mondo\Client\Accounts($client);
$accounts->getAccounts();

Balance

$balance = new Thepixeldeveloper\Mondo\Client\Balance($client);
$balance->getBalanceForAccountId(123);

Transactions

$transactions = new Thepixeldeveloper\Mondo\Client\Transactions($client);
$transactions->getTransactionsForAccountId(123);
$transactions->getTransaction(456);

OAuth 2

I've decided to leave out authentication for the MVP. Use a library like League/oauth2-client to get yourself an access token.

Testing

Run the phpSpec tests with ...

composer test