PHPackages                             stefan-ghivi/php-test - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. stefan-ghivi/php-test

ActiveLibrary[API Development](/categories/api)

stefan-ghivi/php-test
=====================

SDK PHP for Mangopay api V2

2.4.4(9y ago)05MITPHPPHP &gt;=5.4.0

Since Aug 20Pushed 9y ago1 watchersCompare

[ Source](https://github.com/stefanGhivi/php-test)[ Packagist](https://packagist.org/packages/stefan-ghivi/php-test)[ RSS](/packages/stefan-ghivi-php-test/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (1)Versions (15)Used By (0)

MANGOPAY PHP SDK [![Latest Stable Version](https://camo.githubusercontent.com/9da1c5da996669d0c7469ebbba740dca735a4177c0a8e583b9ec712ab91ca5d7/68747470733a2f2f706f7365722e707567782e6f72672f6d616e676f7061792f7068702d73646b2d76322f762f737461626c65)](https://packagist.org/packages/mangopay/php-sdk-v2) [![Total Downloads](https://camo.githubusercontent.com/f1b71f0ad89378daaea09ad53eef8f4f22e2fc735b5ccf92e0bb7390f6b765b1/68747470733a2f2f706f7365722e707567782e6f72672f6d616e676f7061792f7068702d73646b2d76322f646f776e6c6f616473)](https://packagist.org/packages/mangopay/php-sdk-v2) [![License](https://camo.githubusercontent.com/ea37a18f80b47dfffe11ddfa1d6fc71c78318fceb25e2374019461643642c816/68747470733a2f2f706f7365722e707567782e6f72672f6d616e676f7061792f7068702d73646b2d76322f6c6963656e7365)](https://packagist.org/packages/mangopay/php-sdk-v2)
=============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#mangopay-php-sdk---)

MangopaySDK is a PHP client library to work with [Mangopay REST API](http://docs.mangopay.com/api-references/).

Compatibility Notes
-------------------

[](#compatibility-notes)

- Since v2.1 of this SDK, you must be using at least v2.01 of the API ([more information about the changes required](https://docs.mangopay.com/api-v2-01-overview/))
- If you experience problems with authentification and/or the temporary token file following an SDK update (particuarly updating to v2.0 of the SDK), you may need to just delete your temporary file (that you specify with `$api->Config->TemporaryFolder`) - which allows it to be regenerated correctly the next time it's needed

Requirements
------------

[](#requirements)

To use this SDK, you will need (as a minimum):

- PHP v5.4
- cURL (included and enabled in a standard PHP distribution)
- OpenSSL (included and enabled in a standard PHP distribution)
- [psr/log](https://github.com/php-fig/log) v1.0
- You do not have to use [Composer](https://getcomposer.org/), but you are strongly advised to (particularly for handling the dependancy on the PSR Log library)

Installation with Composer
--------------------------

[](#installation-with-composer)

You can use Mangopay SDK library as a dependency in your project with [Composer](https://getcomposer.org/) (which is the preferred technique). Follow [these installation instructions](https://getcomposer.org/doc/00-intro.md) if you do not already have Composer installed. A composer.json file is available in the repository and it has been referenced from [Packagist](https://packagist.org/packages/mangopay/php-sdk-v2).

The installation with Composer is easy and reliable:

Step 1 - Add the Mangopay SDK as a dependency by executing the following command:

```
you@yourhost:/path/to/your-project$ composer require mangopay/php-sdk-v2:^2.3

```

Step 2 - Update your dependencies with Composer

```
you@yourhost:/path/to/your-project$ composer update

```

Step 3 - Finally, be sure to include the autoloader in your project

```
require_once '/path/to/your-project/vendor/autoload.php';

```

The Library has been added into your dependencies and is ready to be used.

Installation without Composer
-----------------------------

[](#installation-without-composer)

The project attempts to comply with PSR-4 specification for autoloading classes from file paths. As a namespace prefix is `MangoPay\` with base directory `/path/to/your-project/`.

If you're not using PSR-4 or Composer, the installation is as easy as downloading the library and storing it under any location that will be available for including in your project (**don't forget to include the required library dependencies though**):

```
    require_once '/path/to/your-project/MangoPay/Autoloader.php';
```

Alternatively you can download the package in its entirety (ie with all required dependencies) from the [Releases page](https://github.com/Mangopay/mangopay2-php-sdk/releases) (look for the `mangopay2-php-sdk-[RELEASE_NAME].zip` file). Uncompress the zip file you download, and include the autoloader in your project:

```
    require_once '/path/to/your-project/mangopay2-php-sdk/vendor/autoload.php';
```

License
-------

[](#license)

MangopaySDK is distributed under MIT license, see the [LICENSE file](https://github.com/Mangopay/mangopay2-php-sdk/blob/master/LICENSE).

Unit Tests
----------

[](#unit-tests)

Tests are placed under `/path/to/your-project/tests/`. The `/tests/suites/all.php` suite runs ALL tests. You can also use any of `/tests/cases/*.php` to run a single test case.

Contacts
--------

[](#contacts)

Report bugs or suggest features using [issue tracker on GitHub](https://github.com/Mangopay/mangopay2-php-sdk).

Account creation
----------------

[](#account-creation)

You can get yourself a [free sandbox account](https://www.mangopay.com/signup/create-sandbox/) or sign up for a [production account](https://www.mangopay.com/signup/production-account/) (note that validation of your production account can take a few days, so think about doing it in advance of when you actually want to go live).

Configuration
-------------

[](#configuration)

Using the credential info from the signup process above, you should then set `$api->Config->ClientId` to your Mangopay ClientId and `$api->Config->ClientPassword` to your Mangopay passphrase.

You also need to set a folder path in `$api->Config->TemporaryFolder` that SDK needs to store temporary files. This path should be outside your www folder. It could be `/tmp/` or `/var/tmp/` or any other location that PHP can write to. **You must use different folders for your sandbox and production environments.**

`$api->Config->BaseUrl` is set to sandbox environment by default. To enable production environment, set it to `https://api.mangopay.com`.

```
require_once '/path/to/your-project/vendor/autoload.php';
$api = new MangoPay\MangoPayApi();

// configuration
$api->Config->ClientId = 'your-client-id';
$api->Config->ClientPassword = 'your-client-password';
$api->Config->TemporaryFolder = '/some/path/';
//$api->Config->BaseUrl = 'https://api.mangopay.com';//uncomment this to use the production environment

//uncomment any of the following to use a custom value (these are all entirely optional)
//$api->Config->CurlResponseTimeout = 20;//The cURL response timeout in seconds (its 30 by default)
//$api->Config->CurlConnectionTimeout = 60;//The cURL connection timeout in seconds (its 80 by default)
//$api->Config->CertificatesFilePath = ''; //Absolute path to file holding one or more certificates to verify the peer with (if empty, there won't be any verification of the peer's certificate)

// call some API methods...
try {
    $users = $api->Users->GetAll();
} catch(MangoPay\Libraries\ResponseException $e) {
    // handle/log the response exception with code $e->GetCode(), message $e->GetMessage() and error(s) $e->GetErrorDetails()
} catch(MangoPay\Libraries\Exception $e) {
    // handle/log the exception $e->GetMessage()
}
```

Sample usage
------------

[](#sample-usage)

```
require_once '/path/to/your-project/vendor/autoload.php';
$api = new MangoPay\MangoPayApi();

// configuration
$api->Config->ClientId = 'your-client-id';
$api->Config->ClientPassword = 'your-client-password';
$api->Config->TemporaryFolder = '/some/path/';

// get some user by id
try {
    $john = $api->Users->Get($someId);
} catch(MangoPay\Libraries\ResponseException $e) {
    // handle/log the response exception with code $e->GetCode(), message $e->GetMessage() and error(s) $e->GetErrorDetails()
} catch(MangoPay\Libraries\Exception $e) {
    // handle/log the exception $e->GetMessage()
}

// change and update some of his data
$john->LastName .= " - CHANGED";
try {
    $api->Users->Update($john);
} catch(MangoPay\Libraries\ResponseException $e) {
    // handle/log the response exception with code $e->GetCode(), message $e->GetMessage() and error(s) $e->GetErrorDetails()
} catch(MangoPay\Libraries\Exception $e) {
    // handle/log the exception $e->GetMessage()
}

// get all users (with pagination)
$pagination = new MangoPay\Pagination(1, 8); // get 1st page, 8 items per page
try {
    $users = $api->Users->GetAll($pagination);
} catch(MangoPay\Libraries\ResponseException $e) {
    // handle/log the response exception with code $e->GetCode(), message $e->GetMessage() and error(s) $e->GetErrorDetails()
} catch(MangoPay\Libraries\Exception $e) {
    // handle/log the exception $e->GetMessage()
}

// get his bank accounts
$pagination = new MangoPay\Pagination(2, 10); // get 2nd page, 10 items per page
try {
    $accounts = $api->Users->GetBankAccounts($john->Id, $pagination);
} catch(MangoPay\Libraries\ResponseException $e) {
    // handle/log the response exception with code $e->GetCode(), message $e->GetMessage() and error(s) $e->GetErrorDetails()
} catch(MangoPay\Libraries\Exception $e) {
    // handle/log the exception $e->GetMessage()
}
```

Sample usage with Composer in a Symfony project
-----------------------------------------------

[](#sample-usage-with-composer-in-a-symfony-project)

You can integrate Mangopay features in a Service in your Symfony project.

MangoPayService.php :

```
