Skip to main content

Overview

The MangoPayApi class is the main entry point for interacting with the Mangopay API. It provides access to all API managers and holds configuration and authorization data.

Constructor

__construct()

Creates a new instance of the MangoPayApi class with default configuration.
$api = new \MangoPay\MangoPayApi();

Configuration Properties

Config
\MangoPay\Libraries\Configuration
Configuration instance containing API credentials and settings.
OAuthTokenManager
\MangoPay\Libraries\AuthorizationTokenManager
Manages OAuth authorization tokens for API requests.
AuthenticationManager
\MangoPay\Libraries\ApiOAuth
Handles OAuth authentication methods.
logger
Psr\Log\LoggerInterface
PSR-3 logger interface for logging API requests and responses.
httpClient
\MangoPay\Libraries\HttpBase
HTTP client used for making API requests.
RateLimits
RateLimit[]
Array holding rate limit data from X-RateLimit response headers.

API Manager Properties

Responses
ApiResponses
Methods for handling API responses.
Clients
ApiClients
Methods for managing client accounts.
Users
ApiUsers
Methods for managing users (natural and legal).
Wallets
ApiWallets
Methods for managing wallets.
Transfers
ApiTransfers
Methods for creating and managing transfers between wallets.
PayIns
ApiPayIns
Methods for managing pay-ins (incoming payments).
PayOuts
ApiPayOuts
Methods for managing pay-outs (outgoing payments to bank accounts).
Refunds
ApiRefunds
Methods for managing refunds.
CardRegistrations
ApiCardRegistrations
Methods for registering payment cards.
Cards
ApiCards
Methods for managing registered cards.
CardPreAuthorizations
ApiCardPreAuthorizations
Methods for managing card pre-authorizations.
Events
ApiEvents
Methods for querying events.
Hooks
ApiHooks
Methods for managing webhooks.
KycDocuments
ApiKycDocuments
Methods for managing KYC documents.
Disputes
ApiDisputes
Methods for managing disputes.
DisputeDocuments
ApiDisputeDocuments
Methods for managing dispute documents.
Mandates
ApiMandates
Methods for managing direct debit mandates.
Reports
ApiReports
Methods for generating and retrieving reports.
ReportsV2
ApiReportsV2
Methods for generating and retrieving reports (v2 API).
BankingAliases
ApiBankingAliases
Methods for managing banking aliases.
BankAccounts
ApiBankAccounts
Methods for managing bank accounts.
UboDeclarations
ApiUboDeclarations
Methods for managing Ultimate Beneficial Owner (UBO) declarations.
Repudiations
ApiRepudiations
Methods for managing repudiations.
VirtualAccounts
ApiVirtualAccounts
Methods for managing virtual accounts.
Regulatory
ApiRegulatory
Methods for accessing regulatory information.
Deposits
ApiDeposits
Methods for managing deposits.
Conversions
ApiConversions
Methods for instant currency conversions.
IdentityVerifications
ApiIdentityVerification
Methods for managing identity verifications.
Recipients
ApiRecipients
Methods for managing recipients.
Settlements
ApiSettlements
Methods for managing settlements.

Methods

setLogger()

Sets a PSR-3 compatible logger for logging API requests and responses.
logger
Psr\Log\LoggerInterface
required
A PSR-3 compatible logger instance.
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$logger = new Logger('mangopay');
$logger->pushHandler(new StreamHandler('/path/to/logs/mangopay.log', Logger::DEBUG));

$api->setLogger($logger);

getLogger()

Retrieves the current logger instance.
return
Psr\Log\LoggerInterface
The current PSR-3 logger instance.
$logger = $api->getLogger();

setConfig()

Sets the configuration object for the API.
Config
\MangoPay\Libraries\Configuration
required
The configuration object containing API credentials and settings.
$config = new \MangoPay\Libraries\Configuration();
$config->ClientId = 'your-client-id';
$config->ClientPassword = 'your-api-key';
$config->BaseUrl = 'https://api.mangopay.com';

$api->setConfig($config);

getConfig()

Retrieves the current configuration object.
return
\MangoPay\Libraries\Configuration
The current configuration object.
$config = $api->getConfig();

setHttpClient()

Sets a custom HTTP client for making API requests.
httpClient
\MangoPay\Libraries\HttpBase
required
A custom HTTP client instance extending HttpBase.
$httpClient = new \MangoPay\Libraries\HttpCurl($api);
$api->setHttpClient($httpClient);

getHttpClient()

Retrieves the current HTTP client instance.
return
\MangoPay\Libraries\HttpBase
The current HTTP client instance.
$httpClient = $api->getHttpClient();

Example Usage

use MangoPay\MangoPayApi;
use MangoPay\Libraries\Configuration;

// Initialize the API
$api = new MangoPayApi();

// Configure credentials
$api->Config->ClientId = 'your-client-id';
$api->Config->ClientPassword = 'your-api-key';
$api->Config->BaseUrl = 'https://api.sandbox.mangopay.com';
$api->Config->TemporaryFolder = '/tmp/';

// Access API managers
$user = $api->Users->Get($userId);
$wallet = $api->Wallets->Get($walletId);
$payIn = $api->PayIns->Get($payInId);

Build docs developers (and LLMs) love