Reports
Mangopay provides platforms reporting features so that your platform can download data relating to your payment operations.
Reports are available via the Dashboard and also directly from the API.
Report features
There are two report features that currently exist. The table below gives an overview of the key differences:
Reporting service (released 2025) | Legacy reports | |
---|---|---|
Report types |
|
|
Dashboard availability | Dashboard (Hub revamped 2024) | Legacy dashboard (being phased out) |
Notification system | Webhook event type |
|
Generation endpoint |
Note – Report objects not interoperable
The two reporting features are independent, meaning that a legacy report object (ReportId
) cannot be retrieved via the new GET endpoint, and a new report object (ReportingId
) is not available from the legacy endpoint.
Reporting service (2025)
Generate a report via API
Set up webhooks to be notified that report is ready for download (recommended)
Set up webhooks for the following event types:
REPORT_GENERATED
– Indicates that a report is ready for download at theDownloadURL
REPORT_FAILED
– Indicates that a report was not generated successfully
Generate the report
Call the POST Create a Report endpoint to generate your report, selecting the ReportType
and date range. You can also specify the columns your wish to include in the report, otherwise the default ones are used (see columns tables below).
You should also apply the relevant filters to your report:
COLLECTED_FEES
– Include theCurrency
filter to narrow the report to one currency’s fees wallet.USER_WALLET_TRANSACTIONS
– Narrow the report byUserId
,WalletId
, and/orCurrency
to suit your needs.
Download when ready
When the report status changes to GENERATED
, the DownloadURL
is populated with the URL where you can download the report.
Repeat process as needed
A report is valid for 31 days. After this, its Status
changes to EXPIRED
at it is no longer available for download. You can re-generate another report with the same parameters, or else update your report to capture data from the latest period.
Filters
To filter the data that will be included in the report, include the relevant filters in the body of your request.
Filters (Collected Fees)
For the COLLECTED_FEES
report, the Currency
filter can be used to focus on one currency’s Fees Wallet (otherwise all currencies’ Fees Wallets are included).
Filters (User Wallet Transactions)
For the USER_WALLET_TRANSACTIONS
report, three filters are available:
Currency
– The currency of theDebitedFunds
,CreditedFunds
, orFees
of the transactions.UserId
– The unique identifier of the user referenced as theAuthorId
orCreditedUserId
of the transaction.WalletId
– The unique identifier of the wallet referenced as theDebitedWalletId
orCreditedWalletId
of the transaction.
Each filter can be used on its own or in combination, in which case the report data satisfies both filters:
UserId
andCurrency
– Report contains all transactions (credited or debited) in the currency where UserId is the AuthorIdUserId
andWalletId
– Report contains all transactions (credited or debited) in all currencies where the UserId is specified as theDebitedWalletId
orCreditedWalletId
. If theWalletId
is not a wallet owned by theUserId
, then the report will be empty.
The Currency
and WalletId
cannot be used together.
If no Filters
are specified, the report contains all transactions crediting or debiting all user wallets.
Columns (User Wallet Transactions)
Column | Description | Included by default |
---|---|---|
ClientId | Unique identifier associated with the API key | Yes |
TransactionId | Unique identifier of the transaction | Yes |
CreationDate | Unix timestamp of the date and time at which the transaction was created | Yes |
CreationDate:ISO | ISO format of the date and time at which the transaction was created | No |
ExecutionDate | Unix timestamp of the date and time at which the transaction was executed | Yes |
ExecutionDate:ISO | ISO format of the date and time at which the transaction was executed | No |
AuthorId | Unique identifier of the user at the source of the transaction | Yes |
CreditedUserId | The unique identifier of the credited user | Yes |
DebitedFundsAmount | Amount of the debited funds in the currency of the debited amount | Yes |
DebitedFundsCurrency | Currency of the debited amount | Yes |
CreditedFundsAmount | Amount of the credited funds in the currency of the credited amount | Yes |
CreditedFundsCurrency | Currency of the credited amount | Yes |
FeesAmount | Amount of the fees in the currency of the fees | Yes |
FeesCurrency | Currency of the fees | Yes |
Type | Type of the transaction: PAYIN, TRANSFER, CONVERSION, PAYOUT | Yes |
Nature | Nature of the transaction: REGULAR, REPUDIATION, REFUND, SETTLEMENT | Yes |
CreditedWalletId | Unique identifier of the credited wallet | Yes |
DebitedWalletId | Unique identifier of the debited wallet | Yes |
BankAccountId | Unique identifier of the bank account | Yes |
PreauthorizationId | Unique identifier of the preauthorization | Yes |
BankWireRef | For payouts, custom description to appear on the user’s bank statement along with the platform name | Yes |
CardId | Unique identifier of the card | Yes |
CardAlias | The card number, partially obfuscated | Yes |
CardType | The type of the card | Yes |
CardCountry | The country of the card | Yes |
CardExpirationDate | The expiry date of the card | Yes |
Culture | The language in which the payment page is to be displayed | Yes |
DeclaredDebitedFundsAmount | Amount of the declared funds of the pay-in bank wire | Yes |
DeclaredDebitedFundsCurrency | Currency of the declared funds of the pay-in bank wire | Yes |
DeclaredFeesAmount | Amount of the declared fees of the pay-in bank wire | Yes |
DeclaredFeesCurrency | Currency of the declared fees of the pay-in bank wire | Yes |
ExecutionType | Execution type of the pay-in | Yes |
PaymentType | Payment type of the pay-in | Yes |
WireReference | The reference bank wire transfer (classic or to virtual IBAN) | Yes |
Columns (Collected Fees)
Column | Description | Included by default |
---|---|---|
ClientId | Unique identifier associated with the API key | Yes |
TransactionId | Unique identifier of the transaction | Yes |
CreationDate | Unix timestamp of the date and time at which the transaction was created | Yes |
ExecutionDate | Unix timestamp of the date and time at which the transaction was executed | Yes |
AuthorId | Unique identifier of the user at the source of the transaction | Yes |
DebitedWalletId | Unique identifier of the debited wallet | Yes |
CreditedWalletId | Unique identifier of the credited wallet | Yes |
CreditedFundsCurrency | Currency of the credited amount | Yes |
CreditedFundsAmount | Amount of the credited funds in the currency of the credited amount | Yes |
DebitedFundsCurrency | Currency of the debited amount | Yes |
DebitedFundsAmount | Amount of the debited funds in the currency of the debited amount | Yes |
FeesAmount | Amount of the fees in the currency of the fees | Yes |
FeesCurrency | Currency of the fees | Yes |
Type | Type of the transaction: PAYIN, TRANSFER, CONVERSION, PAYOUT | Yes |
Nature | Nature of the transaction: REGULAR, REPUDIATION, REFUND, SETTLEMENT | Yes |
PaymentType | Payment type of the pay-in | Yes |
Tag | Custom data added to the object | Yes |
Legacy reports
Transactions report | Provides the pay-ins, payouts, transfers, and conversions made on the platform. This includes all natures of transaction (regular, refund, repudiation, and settlement). The report period can’t exceed 6 months, and transactions can’t be more than 36 months past their creation date. |
---|---|
Wallets report | Provides all the wallets created on the platform, whether they are the end user’s, or the platform’s (repudiation and fees wallets). The report period can’t exceed 24 months by a wallet’s creation date. |
Legacy report creation flow
When creating a report with the dedicated endpoints, its Status
is PENDING
at first, until it becomes ready for download. There is a short waiting time, (usually a few seconds) which depends on the size of the requested report.
When the report status becomes READY_FOR_DOWNLOAD
, a notification is sent to the CallbackURL
(if set) with the following format:
https://www.example.com?EventType=REPORT_READY_FOR_DOWNLOAD&ResourceId=
ReportId
&Date=ReportDate
Using the ReportId
, you can use the View a Report endpoint to get the DownloadURL
, where the report is available for download.
A report expires after 24 hours (i.e., you can no longer download it after this period). You can still generate a new report with the same filters and information easily.
Set up a legacy transactions report
Columns (legacy transactions report)
On the POST Create a Transactions Report endpoint, you can add the following values in the Columns
parameter to choose which information should be included in the report.
Column | Description |
---|---|
Alias | The partially hidden number of the card used for the transaction. |
AuthorId | The unique identifier of the user at the source of the transaction. |
BankAccountId | The unique identifier of the bank account to which the payout is made. |
BankWireRef | Custom description to appear on the user’s bank statement along with the platform name. |
CardId | The unique identifier of the card used for the transaction. |
CardType | The type of the card among the following: CB_VISA_MASTERCARD, AMEX, MAESTRO, P24, IDEAL, BCMC. |
Country | The country of the card (which is the same as the country of the issuer). |
CreationDate | The date and time at which the transaction was created. |
CreationDate:ISO | The date and time at which the transaction was created in the following format: dd/MM/yyyy HH:mm:ss. |
CreditedFundsAmount | The amount of credited funds (CreditedFunds = DebitedFunds - Fees). |
CreditedFundsCurrency | The currency of the credited funds. |
CreditedUserId | The unique identifier of the user whose wallet is credited. |
CreditedWalletId | The unique identifier of the credited wallet. |
Culture | The language in which the redirection page is displayed. |
DebitedFundsAmount | The amount of debited funds. |
DebitedFundsCurrency | The currency of the debited funds. |
DebitedWalletId | The unique identifier of the debited wallet. |
DeclaredDebitedFundsAmount | The amount of the declared debited funds for a direct bank wire pay-in. |
DeclaredDebitedFundsCurrency | The currency of the declared debited funds for a direct bank wire pay-in. |
DeclaredFeesAmount | The amount of the declared fees for a direct bank wire pay-in. |
DeclaredFeesCurrency | The currency of the declared fees for a direct bank wire pay-in. |
ExecutionDate | The date and time at which the status changed to SUCCEEDED, indicating that the transaction occurred. |
ExecutionDate:ISO | The date and time at which the transaction status changed to SUCCEEDED, in the following format: dd/MM/yyyy HH:mm:ss. |
ExecutionType | The type of execution for a pay-in: WEB, DIRECT, EXTERNAL_INSTRUCTION. |
ExpirationDate | The date at which the card used for the transaction will expire. |
FeesAmount | The amount of the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet). |
FeesCurrency | The currency of the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet). |
Id | The unique identifier of the transaction. |
Nature | The nature of the transaction, providing more information about the context in which the transaction occurred: REGULAR, REPUDIATION, REFUND, SETTLEMENT. |
PaymentType | The type of payment: CARD, BANK_WIRE, DIRECT_DEBIT, PAYPAL. |
PreauthorizationId | The unique identifier of the Preauthorization object against which a preauthorized pay-in can be made. |
ResultCode | The code indicating the result of the operation. |
ResultMessage | The explanation of the result code. |
Status | The status of the transaction (created, succeeded, or failed). |
Tag | Custom data that can be added to the transaction. |
Type | The type of the transaction: PAYIN, TRANSFER, PAYOUT. |
WireReference | The reference which the end user must provide when making a direct bank wire pay-in. |
Filters (legacy transactions report)
In order to optimize the report, you can take advantage of a series of filters available in the Create a Transactions Report endpoint documentation.
Thanks to the BeforeDate
and AfterDate
filters, you can define a time range based on the CreationDate
of the transactions. The date range can’t exceed 6 months, and you can’t view transactions which occurred more than 36 months in the past.
Set up a legacy wallets report
Columns (legacy wallets report)
On the POST Create a Wallets Report endpoint, you can add the following values in the Columns
parameter to choose which information should be included in the report.
Column | Description |
---|---|
Id | The unique identifier of the wallet. |
Tag | Custom data that can be added to the wallet. |
CreationDate | The date and time at which the wallet was created in a timestamp format. |
CreationDate:ISO | The date and time at which the wallet was created in the following format: dd/MM/yyyy HH:mm:ss. |
Owners | The Id of the user attached to the wallet. |
Description | The description of the wallet. It can be a name, a type, anything that can help you clearly identify the wallet on the platform (and for your end users). |
BalanceAmount | The current balance of the wallet. |
BalanceCurrency | The currency of the balance of the wallet. |
Currency | The currency of the wallet. |
FundsType | The type of funds in the wallet, which can be DEFAULT, FEES, or CREDIT. |
Filters (legacy wallets report)
In order to optimize the report, you can take advantage of a series of filters available in the POST Create a Wallets Report endpoint documentation.
Thanks to the BeforeDate
and AfterDate
filters, you can define a time range based on the CreationDate
of the wallets. The date range can’t exceed 24 months.