Connect for Platforms: Balance Transfers
Balance Transfers let you control the flow of funds between different organizations within your platform. Whether you’re collecting invoices, redistributing revenue or applying changes post-settlement - this feature allows you to do it all in one place, within Mollie’s ecosystem.
What is a Balance Transfer?
A Balance Transfer is a distribution of funds between two connected Mollie organizations within your platform: you (Partner) initiate the transfer on behalf of your sub-merchants and Mollie moves the funds for you. This is done using our public API, with your users' prior consent.
Example use cases:
- SaaS platforms collecting monthly or per-transaction fees.
- Marketplaces adjusting balances post-delivery.
- Franchisors charging revenue-based or fixed monthly fees.
Setup & Permissions
Contact your Mollie point of contact to enable Balance Transfers in your Organization.
To use Balance Transfers, connect sub-merchants via your OAuth application with the following scopes:
balance-transfers.read
balance-transfers.write
Every time you create a Balance Transfer, ensure that both the source and destination accounts are:
- Active
- Can receive payments
- Can send settlements
- Have sufficient balance (validated via pre-execution reserve check)
You must have a documented consent from your sub-merchants authorizing balance movements.
How it works
- Authenticate the transfer using the source organization's access token.
- Initiate a transfer with an API call (see API Overview below).
- Track your transfer's status asynchronously using Webhooks or via the GET endpoint.
Transfers are always initiated between two Mollie merchant accounts. Transfers can be made between two of your users, or you can be either the source or the destination of the transfer.
API Overview
Create a transfer
To create a Balance Transfer, make a POST
request to our Public API endpoint.
Descriptions you provide in source.description
| destination.description
will show up in Mollie dashboards and reports for both organizations.
POST /v2/connect/balance-transfers
{
"amount": {
"currency": "EUR",
"value": "0.10"
},
"description": "transfer test",
"destination": {
"description": "description for the destination",
"id": "org_12659708",
"type": "organization"
},
"source": {
"description": "description for the source",
"id": "org_19120883",
"type": "organization"
},
"testmode": false
}
Balance Transfer requests are processed asynchronously. Use the returned id
to query your transfer's status or listen to any updates using Webhooks.
Get a transfer
Retrieve the current status of a specific transfer.
GET /v2/connect/balance-transfers/{id}
List transfers
Paginate through previous transfers. Supports the following query parameters: limit
sort
from
testmode
GET /v2/connect/balance-transfers
Webhooks
To receive new updates for your transfers using Webhooks:
- Set up a Webhook using our next-gen webhook framework.
- Listen for status changes like:
connect-balance-transfer.succeeded
orconnect-balance-transfer.failed
.
Current limits
- Default limit for live transfers is
EUR 1,000
per month per sub-merchant (combined debits & credits). - There are currently no limits for test transfers (
testmode : true
).
Need higher production limits? Reach out to your Mollie point of contact to set different transfer limits.
Legal notice
Mollie executes transfers a partner has initiated under the following circumstances:
- The Partner initiating the transfer has their sub-merchant's consent.
- The amount and purpose of the transfer are valid.
Partners are legally responsible for all submitted transfer requests along with the instructions they provided when initiated.
Updated about 6 hours ago