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

The 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 required

    An ISO 4217 currency code. For Application fees, this must always be EUR regardless of the currency of the payment, order or subscription.

  • value string required

    A 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

The 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 with 1.85 EUR deduction (1.50 EUR Application fee + 0.29\*1.21 iDeal list price + VAT) resulting in 8.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 a US$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 a US$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.