---
updatedAt: 2026-08-25T13:46:35.000Z
agentTools:
  projectIndex: https://docs.mollie.com/llms.txt
---

# Connect for Platforms: Setting up OAuth

Most of the functionality of Mollie Connect leverages open standard [OAuth](https://en.wikipedia.org/wiki/OAuth), which allows you to make API requests on behalf of your customers without requiring them to share credentials with you.

## What is OAuth

[OAuth](https://en.wikipedia.org/wiki/OAuth) is an industry-standard protocol for authorization, enabling third-party applications to obtain limited access to an HTTP service, either on behalf of a resource owner or by allowing the third-party application to obtain access on its own behalf.

OAuth is the foundation of Mollie Connect, allowing you to connect multiple Mollie accounts (your customers) to your application and giving you access to perform actions on their behalf. The steps in the authorization flow are shown below:

<Image align="center" border={true} src="https://files.readme.io/f4a86d776367dc17340c0479ab9c686d80b0dec3080f28d4e8d0aefec9ee9f44-OAuth_flow_new_2.png" className="border" />

## Benefits of using OAuth

Using OAuth, your app will be able to communicate with the Mollie API on behalf of the user (*with their consent*): you may access the customers' account data, retrieve information and do things on behalf of your customers and hence allowing them to start using your app:

<Image align="center" border={true} src="https://files.readme.io/6cd75dd49c1ca174741a23784478caec956274429ab5656e23cbe2477967454e-Connect_Mollie_account_1.png" className="border" />

This guide will explain how you can register your OAuth app to later link your customers to it using Mollie Connect. To see how you can onboard customers once you have created an OAuth app within Mollie, please refer to the <Anchor label="Connect Onboarding Customers" target="_blank" href="https://docs.mollie.com/docs/connect-platforms-onboarding-customers">Connect Onboarding Customers</Anchor> article.

## Client libraries/packages for OAuth

For many programming languages there are open source packages available with detailed instructions to help you implement the OAuth flow.

Here are some examples:

* [Simple OAuth2](https://www.npmjs.com/package/simple-oauth2) for Node.js
* [The PHP League’s OAuth 2.0 Client for PHP](https://github.com/thephpleague/oauth2-client)
* [Authlib for Python](https://github.com/lepture/authlib), with support for common web frameworks like Flask and Django

If your application is built with `PHP`, you can integrate it using the official [mollie/oauth2-mollie-php package](https://github.com/mollie/oauth2-mollie-php).

The [official Python client](https://github.com/mollie/mollie-api-python) supports OAuth out of the box.

## Create OAuth application

<Callout icon="📘" theme="info">
  Mollie offers a _Postman collection_ covering the latest version of the Mollie API. You can import this collection into your own Postman application to simplify your explorations of the Mollie API:

  * [Get the Mollie Postman collection](https://www.postman.com/molliedev/mollie-api/overview)
  * [Get Postman](https://postman.com/)
</Callout>

To create and register your OAuth application, follow the steps below:

1. Click **More** -> **Developers**.
2. Select **Your apps** tab and click **Create Application**.

<Image align="center" border={true} src="https://files.readme.io/5f3dd5a08e1a960111701004059ec333e6a01a83d2725b2a922f9283cfca7726-Screenshot_2024-09-02_at_11.43.11.png" className="border" />

3. Fill in your app details and click **Save**.\
   *Optional: enable**Co-Branded Onboarding***.

<Image align="center" border={true} src="https://files.readme.io/aab2cb7-Screenshot_2024-08-02_at_14.41.55.png" className="border" />

4. Now your application will show up under **Your apps** tab, where you can grab `Client ID` and `Client Secret`.

<Image align="center" border={true} src="https://files.readme.io/56ea65cbb7993d585376ff38da3f69b1f0970bb70615e4b4cb0d5f7361c3b200-Screenshot_2024-09-02_at_11.44.44.png" className="border" />

## Co-branded Onboarding

Through Co-branded Onboarding, you fully control and own the experience of your customers during the creation of their payments account. Co-branding the onboarding increases trust and improves conversion rates.

You can configure co-branding by customizing the following:

* **Brand Color**, to ensure a consistent style across Mollie’s onboarding steps.
* **Back URL**, to seamlessly redirect users back to your platform upon completing the onboarding process.

<Image align="center" border={true} src="https://files.readme.io/c0b550c190108c4bb7d522f3951c0303c94f2cad4699f9cb753fe0f3e9cec4a9-Screenshot_2024-08-30_at_16.59.55.png" className="border" />

## Permissions

To ensure seamless interaction between onboarded customers and Mollie, carefully select the appropriate subset of OAuth permissions (referred to as `scopes` in OAuth terminology). Refer to the complete permissions list <Anchor label="here" target="_blank" href="https://docs.mollie.com/docs/permissions">here</Anchor>.

> ❗️ Adding permissions at a later stage will require the merchant to **re-connect the app**.

Below you can find example scopes for various business models:

<Callout icon="📘" theme="info">
  ‘**Recommended permissions**’ column is a _rough recommendation_ regarding the types of permissions certain types of apps should request. For personalized advice, contact [partners@mollie.com](mailto:partners@mollie.com).
</Callout>

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Business model
      </th>

      <th>
        Recommended permissions
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Payment-generating integrations
      </td>

      <td>
        `payments.read`
        `payments.write `
        `refunds.read`
        `refunds.write`
      </td>
    </tr>

    <tr>
      <td>
        Bookkeeping integrations
      </td>

      <td>
        `payments.read`
        `invoices.read`
        `settlements.read`
        `balances.read`
      </td>
    </tr>

    <tr>
      <td>
        ERP / OMS integrations
      </td>

      <td>
        `orders.read`
        `orders.write`
        `shipments.read`
        `shipments.write`
        `balances.read`
      </td>
    </tr>

    <tr>
      <td>
        Invoicing integrations
      </td>

      <td>
        `payment-links.read`
        `payment-links.write`
      </td>
    </tr>

    <tr>
      <td>
        Integrations offering Mollie POS (In-person payments)
      </td>

      <td>
        `terminals.read`
        `terminals.write`
      </td>
    </tr>

    <tr>
      <td>
        Processing payments with Klarna
      </td>

      <td>
        `orders.read`
        `orders.write`
        `shipments.read`
        `shipments.write`
      </td>
    </tr>

    <tr>
      <td>
        Customer onboarding and monitoring
      </td>

      <td>
        `organizations.read`
        `organizations.write`
        `profiles.read`
        `profiles.write`
      </td>
    </tr>

    <tr>
      <td>
        Subscription-based integrations
      </td>

      <td>
        `customers.read`
        `customers.write`
        `mandates.read`
        `mandates.write`
        `subscriptions.read`
        `subscriptions.write`
      </td>
    </tr>
  </tbody>
</Table>