Connect for Platforms: Processing payments
Accepting payments
In its simplest form, setting up a payment requires only three steps: setting up the payment with our Payments API, sending the customer to our hosted checkout, and monitoring the status to verify that the payment is complete.
To set up and test your payment processing flow, refer to the Accepting Payments overview for a step-by-step guide on implementing the Payments API and testing your integration with the first sandbox transaction.
As we are just testing the flow and not processing actual transactions live yet, make sure to enable test mode by setting the testmode
param to true
.
Monetizing payments with Application fees
Receiving Application fees
A simple way to monetize transactions is by charging an Application fee on any payments created by your platform on behalf of a connected customer. This means you can charge your customers for every transaction processed through your platform.
In this setup, the connected account (i.e. your customer) pays their own Mollie payment fees, receives a Mollie invoice for these fees, and remains liable for potential refunds and chargebacks.
Some advantages of using Application fees are:
- Allows platforms to collect a fee for processing payments through their platform.
- Gives platforms the flexibility to charge as much or as little as they like, giving them complete autonomy on how they monetize payments.
Example
A ticketing platform wants to charge a fee per successful payment to each connected theatre (customer). In this case, each theater has an account with Mollie, and they have the ticketing platform’s OAuth app authorized to create payments on connected theaters' behalf.
The ticketing platform can add Application fee to each payment, so that when the transaction is successful, this fee is automatically transferred from the theater’s account to the platform’s account.
Note that the ticketing platform itself is responsible for invoicing the theaters for the incurred fees, and for handling VAT.
Enabling application fees
In order to be able to charge Application fees with your app, you must first register to become an app developer. This can be done from the Dashboard > Developers. When you sign the developer agreement, Application fees will automatically be available.
How to create Application fees
One-off Application fees can be created on payments or orders and can also be set on Subscriptions, in which case the Application fee will be deducted from each payment created for that subscription.
Application fees are created by passing additional parameters to the Create payment, Create order, or the Create subscription endpoint:
applicationFee object
Adding an Application fee allows you to charge the customer for the payment and transfer this to your own account. The Application fee is deducted from the payment.
amount
object required
amount
object requiredThe amount the app wants to charge, e.g.
{"currency":"EUR", "value":"10.00"}
if the app would want to charge €10.00. Read more about maximum application fees.
-
currency
string requiredAn ISO 4217 currency code. For Application fees, this must always be EUR regardless of the currency of the payment, order or subscription.
-
value
string requiredA string containing the exact amount you want to charge in the given currency. Make sure to send the right amount of decimals. Non-string values are not accepted.
description
string required
description
string requiredThe description of the Application fee. This will appear on settlement reports to the customer and to you.
The maximum length is 255 characters.
Testing Application fees
You can submit the applicationFee
parameter in test
mode to test your payments flow.
The Application fee will be visible in the payment details (in the transaction owner's dashboard). However, it is not added to the balance if the payment was created in test mode , so we advise to test your payments with Application fees in a live environment if you are using the Settlements or Balances APIs.
You cannot use Application fees with the same organization on which you created the OAuth application. In order to test or use Application fees, you need to create another organization.
Example API Call
{
"amount":
{
"currency":"EUR",
"value":"10.00"
},
"description":"I can accept payments now",
"redirectUrl":"https://myVeryOwnWebshop.com",
"profileId":"pfl_zcfJRjkf6P",
"applicationFee":
{
"amount":
{
"currency":"EUR",
"value":"1.50"
},
"description":"Platform fee"
},
"testmode":true
}
In this example, the consumer pays 10.00 EUR
. Once successful, Mollie will move 1.50 EUR
to the partner’s balance and will then settle the amount minus transaction fee to the customer’s balance.
Example
If processed with iDeal, there will be an incoming transaction of
10.00 EUR
with1.85 EUR
deduction (1.50 EUR
Application fee +0.29\*1.21
iDeal list price +VAT
) resulting in8.21 EUR
net.
Maximum Application fees
Payments API
Since Mollie usually also charges a fee on every payment, there is a limit to the maximum Application fee amount.
The Mollie fee charged will depend on which method the consumer selects. However, to keep things simple, we reserve €0,35
+ 6%
of the payment amount for us to be able to charge the Mollie fee.
This means the maximum can be calculated as follows:
Max Application fee = total payment amount - 0.35
+ (0.06
× total payment amount)
Example
The connected account of the ticket platforms has a payment of
€10.-
:Max Application fee =
€10
- (€0.35
+0.06×€10
) =€10
-€0.95
=€9.05
The minimum amount is €0.01
.
Orders API
The maximum Application fee per payment is 10%
of the total amount, up to a maximum of €2.00
.
If a higher maximum is required for your business, submit a request to Mollie’s customer service or your account manager.
Multicurrency support
Application fees are supported on all payments regardless of the currency, however, the currency of it must match either:
- The primary balance currency of the sub-merchant: e.g. assuming you’d charge roughly
10%
, you must charge a€1.00
Application fee on aUS$10.00
payment if your primary balance is in euros. - The currency of the payment being created, provided the sub-merchant has an active balance in that currency: e.g.
US$3.00
fee on aUS$10.00
payment.
Refunds and chargebacks
Refunding a payment with Application fees
When using Application fees, refunds will be processed on the customer’s account and Application fees are non-refundable.
The full transaction amount will be taken from the customer’s balance, including the refund fee.
If the customer's services are covered by VAT regulations, they should add it to the application fee themselves. Mollie will apply VAT on the transaction fee in accordance to the settings of the customer.
(It is also the partner's responsibility to decide whether VAT should be applied for a given transaction, and if applicable send the VAT-inclusive amount to Mollie as the amount for the application fee and invoice their consumers accordingly.)
As a platform, you can create refunds on behalf of the connected customers by using the Refunds API with the connected account’s permission.
For more fine-grained control over the refund and chargeback flows, consider using Split payments instead.
Updated about 1 month ago