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
  • User wallet transactions
  • Collected fees
  • Transactions report
  • Wallets report
Dashboard availability

Dashboard (Hub revamped 2024)

Legacy dashboard (being phased out)

Notification system

Webhook event type

CallbackURL parameter in request body

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

1

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 the DownloadURL
  • REPORT_FAILED – Indicates that a report was not generated successfully
2

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 the Currency filter to narrow the report to one currency’s fees wallet.
  • USER_WALLET_TRANSACTIONS – Narrow the report by UserId, WalletId, and/or Currency to suit your needs.
3

Download when ready

When the report status changes to GENERATED, the DownloadURL is populated with the URL where you can download the report.

4

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 the DebitedFunds, CreditedFunds, or Fees of the transactions.
  • UserId – The unique identifier of the user referenced as the AuthorId or CreditedUserId of the transaction.
  • WalletId – The unique identifier of the wallet referenced as the DebitedWalletId or CreditedWalletId of the transaction.

Each filter can be used on its own or in combination, in which case the report data satisfies both filters:

  • UserId and Currency – Report contains all transactions (credited or debited) in the currency where UserId is the AuthorId
  • UserId and WalletId – Report contains all transactions (credited or debited) in all currencies where the UserId is specified as the DebitedWalletId or CreditedWalletId. If the WalletId is not a wallet owned by the UserId, 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)

ColumnDescriptionIncluded by default
ClientIdUnique identifier associated with the API keyYes
TransactionIdUnique identifier of the transactionYes
CreationDateUnix timestamp of the date and time at which the transaction was createdYes
CreationDate:ISOISO format of the date and time at which the transaction was createdNo
ExecutionDateUnix timestamp of the date and time at which the transaction was executedYes
ExecutionDate:ISOISO format of the date and time at which the transaction was executedNo
AuthorIdUnique identifier of the user at the source of the transactionYes
CreditedUserIdThe unique identifier of the credited userYes
DebitedFundsAmountAmount of the debited funds in the currency of the debited amountYes
DebitedFundsCurrencyCurrency of the debited amountYes
CreditedFundsAmountAmount of the credited funds in the currency of the credited amountYes
CreditedFundsCurrencyCurrency of the credited amountYes
FeesAmountAmount of the fees in the currency of the feesYes
FeesCurrencyCurrency of the feesYes
TypeType of the transaction: PAYIN, TRANSFER, CONVERSION, PAYOUTYes
NatureNature of the transaction: REGULAR, REPUDIATION, REFUND, SETTLEMENTYes
CreditedWalletIdUnique identifier of the credited walletYes
DebitedWalletIdUnique identifier of the debited walletYes
BankAccountIdUnique identifier of the bank accountYes
PreauthorizationIdUnique identifier of the preauthorizationYes
BankWireRefFor payouts, custom description to appear on the user’s bank statement along with the platform nameYes
CardIdUnique identifier of the cardYes
CardAliasThe card number, partially obfuscatedYes
CardTypeThe type of the cardYes
CardCountryThe country of the cardYes
CardExpirationDateThe expiry date of the cardYes
CultureThe language in which the payment page is to be displayedYes
DeclaredDebitedFundsAmountAmount of the declared funds of the pay-in bank wireYes
DeclaredDebitedFundsCurrencyCurrency of the declared funds of the pay-in bank wireYes
DeclaredFeesAmountAmount of the declared fees of the pay-in bank wireYes
DeclaredFeesCurrencyCurrency of the declared fees of the pay-in bank wireYes
ExecutionTypeExecution type of the pay-inYes
PaymentTypePayment type of the pay-inYes
WireReferenceThe reference bank wire transfer (classic or to virtual IBAN)Yes

Columns (Collected Fees)

ColumnDescriptionIncluded by default
ClientIdUnique identifier associated with the API keyYes
TransactionIdUnique identifier of the transactionYes
CreationDateUnix timestamp of the date and time at which the transaction was createdYes
ExecutionDateUnix timestamp of the date and time at which the transaction was executedYes
AuthorIdUnique identifier of the user at the source of the transactionYes
DebitedWalletIdUnique identifier of the debited walletYes
CreditedWalletIdUnique identifier of the credited walletYes
CreditedFundsCurrencyCurrency of the credited amountYes
CreditedFundsAmountAmount of the credited funds in the currency of the credited amountYes
DebitedFundsCurrencyCurrency of the debited amountYes
DebitedFundsAmountAmount of the debited funds in the currency of the debited amountYes
FeesAmountAmount of the fees in the currency of the feesYes
FeesCurrencyCurrency of the feesYes
TypeType of the transaction: PAYIN, TRANSFER, CONVERSION, PAYOUTYes
NatureNature of the transaction: REGULAR, REPUDIATION, REFUND, SETTLEMENTYes
PaymentTypePayment type of the pay-inYes
TagCustom data added to the objectYes

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.

ColumnDescription
AliasThe partially hidden number of the card used for the transaction.
AuthorIdThe unique identifier of the user at the source of the transaction.
BankAccountIdThe unique identifier of the bank account to which the payout is made.
BankWireRefCustom description to appear on the user’s bank statement along with the platform name.
CardIdThe unique identifier of the card used for the transaction.
CardTypeThe type of the card among the following: CB_VISA_MASTERCARD, AMEX, MAESTRO, P24, IDEAL, BCMC.
CountryThe country of the card (which is the same as the country of the issuer).
CreationDateThe date and time at which the transaction was created.
CreationDate:ISOThe date and time at which the transaction was created in the following format: dd/MM/yyyy HH:mm:ss.
CreditedFundsAmountThe amount of credited funds (CreditedFunds = DebitedFunds - Fees).
CreditedFundsCurrencyThe currency of the credited funds.
CreditedUserIdThe unique identifier of the user whose wallet is credited.
CreditedWalletIdThe unique identifier of the credited wallet.
CultureThe language in which the redirection page is displayed.
DebitedFundsAmountThe amount of debited funds.
DebitedFundsCurrencyThe currency of the debited funds.
DebitedWalletIdThe unique identifier of the debited wallet.
DeclaredDebitedFundsAmountThe amount of the declared debited funds for a direct bank wire pay-in.
DeclaredDebitedFundsCurrencyThe currency of the declared debited funds for a direct bank wire pay-in.
DeclaredFeesAmountThe amount of the declared fees for a direct bank wire pay-in.
DeclaredFeesCurrencyThe currency of the declared fees for a direct bank wire pay-in.
ExecutionDateThe date and time at which the status changed to SUCCEEDED, indicating that the transaction occurred.
ExecutionDate:ISOThe date and time at which the transaction status changed to SUCCEEDED, in the following format: dd/MM/yyyy HH:mm:ss.
ExecutionTypeThe type of execution for a pay-in: WEB, DIRECT, EXTERNAL_INSTRUCTION.
ExpirationDateThe date at which the card used for the transaction will expire.
FeesAmountThe amount of the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).
FeesCurrencyThe currency of the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).
IdThe unique identifier of the transaction.
NatureThe nature of the transaction, providing more information about the context in which the transaction occurred: REGULAR, REPUDIATION, REFUND, SETTLEMENT.
PaymentTypeThe type of payment: CARD, BANK_WIRE, DIRECT_DEBIT, PAYPAL.
PreauthorizationIdThe unique identifier of the Preauthorization object against which a preauthorized pay-in can be made.
ResultCodeThe code indicating the result of the operation.
ResultMessageThe explanation of the result code.
StatusThe status of the transaction (created, succeeded, or failed).
TagCustom data that can be added to the transaction.
TypeThe type of the transaction: PAYIN, TRANSFER, PAYOUT.
WireReferenceThe 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.

ColumnDescription
IdThe unique identifier of the wallet.
TagCustom data that can be added to the wallet.
CreationDateThe date and time at which the wallet was created in a timestamp format.
CreationDate:ISOThe date and time at which the wallet was created in the following format: dd/MM/yyyy HH:mm:ss.
OwnersThe Id of the user attached to the wallet.
DescriptionThe 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).
BalanceAmountThe current balance of the wallet.
BalanceCurrencyThe currency of the balance of the wallet.
CurrencyThe currency of the wallet.
FundsTypeThe 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.

Endpoints

The Report object