• docs
  • Developers
  • Support
  • Log in
  • Sign up
  • Dashboard
  • Overview
  • Payments
  • Connect
  • API reference
  • Changelog
  • Overview

    Mollie API

    • Overview
    • Security
    • Authentication
    • Testing
    • Common data types
    • Handling errors
    • Webhooks
    • Pagination
    • API idempotency
    • Postman collection

    Mobile apps

    • Overview
    • Accepting payments
    • Authorizing Mollie users

    Integration partners

    • Getting started
    • User agent strings
  • Payments

    Payments

    • Accepting payments
    • Hosted checkout
    • Build your own checkout
    • Status changes
    • Refunds
    • Recurring payments
    • Multicurrency
    • QR codes
    • Integrating gift cards
    • Migrating from v1 to v2

    Orders

    • Overview
    • Why use orders?
    • Migrating to the Orders API
    • Handling discounts
    • Status changes
    • Integrating vouchers
    • Integrating PayPal Express Checkout button

    Wallets

    • Apple Pay overview
    • Direct integration of Apple Pay

    Point-of-sale

    • Point-of-sale payments
    • Testing

    Mollie Components

    • Overview
    • Testing
    • Handling errors
    • Styling
  • Connect

    Mollie Connect

    • Overview
    • Onboard your customers
    • Application fees
    • Splitting payments
    • Refunds and chargebacks

    Creating an app

    • Getting started
    • Permissions
  • API reference

    Accepting payments

    • Payments API
    • Methods API
    • Refunds API
    • Chargebacks API
    • Captures API
    • Wallets API
    • Payment links API
    • Terminals API BETA

    Components

    • Mollie.js

    Receiving orders

    • Orders API
    • Shipments API

    Recurring

    • Customers API
    • Mandates API
    • Subscriptions API

    Connect

    • OAuth API
    • Permissions API
    • Organizations API
    • Profiles API
    • Onboarding API

    Business operations

    • Balances API
    • Settlements API
    • Invoices API

    Partners

    • Clients API
    • Client Links API BETA
      • Create client link
  • Changelog

    Timeline

    • Create client link
      • Parameters
      • Parameters for the clientLink link
        • Example
      • Example
        • Response

Accepting payments

  • Payments API
  • Methods API
  • Refunds API
  • Chargebacks API
  • Captures API
  • Wallets API
  • Payment links API
  • Terminals API BETA

Components

  • Mollie.js

Receiving orders

  • Orders API
  • Shipments API

Recurring

  • Customers API
  • Mandates API
  • Subscriptions API

Connect

  • OAuth API
  • Permissions API
  • Organizations API
  • Profiles API
  • Onboarding API

Business operations

  • Balances API
  • Settlements API
  • Invoices API

Partners

  • Clients API
  • Client Links API BETA
    • Create client link

Create client link¶

Client Links API v2BETA

Note

The Client Links API is in closed beta and only available to selected partners. Please contact your partner manager / partners@mollie.com if you want to implement this.

POSThttps://api.mollie.com/v2/client-links
Authentication:Organization access tokens

Link a new organization to your OAuth application, in effect creating a new client. This is a two step process.

First, you must send your customer’s details to this endpoint. You can provide data that will be pre-filled during onboarding.

This endpoint’s response will contain a special clientLink link where you are expected to redirect your customer. This is the second step.

To the clientLink link, you must then add the OAuth details of your application, the client_id, scope you want to request et cetera. These are the same parameters the Authorize endpoint takes. All accepted parameters are listed below.

When you redirect your customer, an organization will be created, your OAuth application will be authorized automatically and your customer will be logged in to their (newly created) Mollie Dashboard.

If the organization already exists, no new organization will be created. Instead the OAuth Authorize screen will be shown to your customer, allowing them to grant the requested authorizations for their existing organization to your OAuth application.

Finally, your customer will be redirected back to you (to the redirect_uri you specified when creating your OAuth application). Then, the normal OAuth Authorize flow where you exchange an auth token for an app access token can be followed.

Once you have received the app access token for the organization, you can perform any other API calls on behalf of the (newly created) organization using OAuth.

Your next step should probably be to create a Profile using the Create profile endpoint and enable the payment methods you want your customer to use with Mollie.

Parameters¶

ownerobjectrequired

Personal data of your customer which is required for this endpoint.

Show child parameters

emailstringrequired
The email address of your customer.
givenNamestringrequired
The given name (first name) of your customer.
familyNamestringrequired
The family name (surname) of your customer.
localestringoptional

Allows you to preset the language to be used in the login / authorize flow. When this parameter is omitted, the browser language will be used instead. You can provide any xx_XX format ISO 15897 locale, but the authorize flow currently only supports the following languages:

Possible values: en_US nl_NL nl_BE fr_FR fr_BE de_DE es_ES it_IT

namestringrequired
Name of the organization.
addressaddress objectrequired

Address of the organization. Note that the country parameter must always be provided.

Show child parameters

streetAndNumberstringconditional
The street name and house number of the organization. If an address is provided, this field is required.
postalCodestringconditional
The postal code of the organization. If an address is provided, this field is required for countries with a postal code system.
citystringconditional
The city of the organization. If an address is provided, this field is required.
countrystringrequired
The country of the address in ISO 3166-1 alpha-2 format. This field is always required.
registrationNumberstringoptional
The Chamber of Commerce (or local equivalent) registration number of the organization.
vatNumberstringoptional

The VAT number of the organization, if based in the European Union or the United Kingdom.

Example: NL123456789B01

Parameters for the clientLink link¶

The clientLink link takes a subset of the parameters allowed for the Authorize endpoint: client_id, state, approval_prompt and scope.

Note

At a minimum, we recommend you request onboarding.read onboarding.write and any scopes required for orders or payments you want to create. onboarding.read is required if you wish to follow the onboarding progress via the Get onboarding status endpoint or Mollie Dashboard.

Example¶

1
https://my.mollie.com/dashboard/client-link/finalize/csr_vZCnNQsV2UtfXxYifWKWH?client_id=app_j9Pakf56Ajta6Y65AkdTtAv&state=decafbad&scope=onboarding.read+organizations.read+payments.write+payments.read+profiles.write

In case of an invalid value, your customer will be redirected to the redirect URI set for your OAuth application with the error and error_description query parameters added.

Example¶

cURLPHPPythonRubyNode.js
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
curl -X POST https://api.mollie.com/v2/client-links \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer access_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM" \
     -d '{
             "owner": {
                "email": "norris@chucknorrisfacts.net",
                "givenName": "Chuck",
                "familyName": "Norris",
                "locale": "en_US"
             },
             "address": {
                "streetAndNumber": "Keizersgracht 126",
                "postalCode": "1015 CW",
                "city": "Amsterdam",
                "country": "NL"
             },
             "name": "Mollie B.V.",
             "registrationNumber": "30204462",
             "vatNumber": "NL815839091B01"
         }'
1
2
3
4
We don't have a PHP code example for this API call yet.

If you have some time to spare, feel free to share suggestions on our Discord:
https://discord.gg/VaTVkXB4aQ
1
2
3
4
We don't have a Python code example for this API call yet.

If you have some time to spare, feel free to share suggestions on our Discord:
https://discord.gg/VaTVkXB4aQ
1
2
3
4
We don't have a Ruby code example for this API call yet.

If you have some time to spare, feel free to share suggestions on our Discord:
https://discord.gg/VaTVkXB4aQ
1
2
3
4
We don't have a Node.js code example for this API call yet.

If you have some time to spare, feel free to share suggestions on our Discord:
https://discord.gg/VaTVkXB4aQ

Response¶

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
HTTP/1.1 201 Created
Content-Type: application/hal+json; charset=utf-8

{
    "id": "csr_vZCnNQsV2UtfXxYifWKWH",
    "resource": "client-link",
    "_links": {
        "clientLink": {
            "href": "https://my.mollie.com/dashboard/client-link/csr_vZCnNQsV2UtfXxYifWKWH",
            "type": "text/html"
        },
        "documentation": {
            "href": "https://docs.mollie.com/reference/v2/clients-api/create-client-link",
            "type": "text/html"
        }
    }
}
Was this page helpful? Feel free to share your feedback with us directly on our Discord.