Download the PHP package amelia/monzo-php without Composer
On this page you can find all versions of the php package amelia/monzo-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download amelia/monzo-php
More information about amelia/monzo-php
Files in amelia/monzo-php
Package monzo-php
Short Description An API client for Monzo Bank (https://monzo.com)
License BSD-3-Clause
Informations about the package monzo-php
Monzo PHP Client
This library allows access to the Monzo API in PHP. This library requires PHP 7.1+.
Installation
If you don't already have your own access tokens from completing oauth yourself, you'll need to also composer require laravel/socialite
.
You should set the following variables in your .env
(or otherwise):
MONZO_CLIENT_ID
MONZO_CLIENT_SECRET
MONZO_REDIRECT_URI
You can create an application at https://developers.monzo.com.
Laravel integration
Amelia\Monzo\MonzoServiceProvider::class
is registered automatically in Laravel 5.5.
A future version of this package will include automatic webhook handling per-user, and full automatic socialite integration.
The environment variables that control these will be:
MONZO_WEBHOOKS=true
MONZO_SOCIALITE=true
Socialite integration
To automatically add callbacks for socialite, this package provides an optional authentication system.
Caveat This assumes you are adding existing users to an app on monzo. If you are not doing this, you'll need to set up your own routes to create/manage users based on API responses from socialite.
First, add the MonzoCredentials
trait to your Authenticatable
user model.
This adds a bunch of setters/getters to your user model for handling monzo credentials.
You can customise the columns used by adding methods to your user model:
Socialite migrations
Assuming your users table is named users
, you can simply run php artisan vendor:publish --tag=monzo
.
This will create a migration in your migrations
directory that can be edited.
Run php artisan migrate
to run this.
Usage
Caveat
If not using Laravel, you'll need to set up an instance of Amelia\Monzo\Monzo
and inject an Amelia\Monzo\Contracts\Client
instance into it, as follows:
If using Laravel, you only need to inject Amelia\Monzo\Monzo
via the service container, using resolve()
or app()
.
Using the API is pretty simple.
In general, you'll need an access token or a user object.
Examples
Grab a user's accounts.
Grab the last 100 transactions for a user account
Grab the last 100 transactions for a user's default account
Grab a paginator instance for a user's transactions
Expand (and hydrate) relations in the API
See a user's balance
All versions of monzo-php with dependencies
illuminate/support Version ~5.5
guzzlehttp/guzzle Version ^6.3
ramsey/uuid Version ^3.7