As a reseller of our platform, you have access to our reseller API. With this technical documentation you can, for example, link an account to your reseller account, log in, or create a website profile. Read all about this below.

Introduction

The Reseller API can be used to register new merchants with Mollie, link existing merchants to your reseller account, or change settings of merchants that you have brought in.

The reseller API uses secret keys for authentication and security. You are advised to first read the accompanying API documentation before you proceed.

API endpoint

The API can be reached via:

https://www.mollie.com/api/reseller/v1/methode

Overview of all available methods

The reseller API uses secret keys for authentication and security. You are advised to first read the accompanying API documentation before you proceed. The documentation explains how the API methods can be called.

account-claim
account-create
account-edit
account-valid
available-payment-methods
bankaccount-edit
bankaccounts
disconnect-account
get-login-link
profile-create
profiles
set-fees
The Reseller API methods can only be approached via HTTP POST. This is to prevent sensitive parameters from ending up in logs. Sending a GET request or GET parameters to this API will prompt an error message.

Method: account-claim

The account-claim method can be used to link an existing Mollie account to your own.

You then become the reseller of this account, and it will appear in the list of merchants you have brought in. The account will receive the same iDEAL rate als your other merchants. You will also receive a partner commission for bringing in this merchant.

Parameter Explanation Comments
username The username of the account you want to claim.
password The password of the account you want to claim.
All compulsory parameters

Possible results

Code Explanation
10 The account has been successfully claimed
20 The username field is missing.
21 The password field is missing.
30 The combination of username and password is incorrect.

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0"?>
<response>
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Succesfully claimed the account.</resultmessage>
<partner_id>1337</partner_id>
<username>chucknorris</username>
</response>

Method: account-create

You can use this method to create an account for a merchant. This account will appear in your list of merchants you have brought in.

Parameter Explanation Comments
test mode Test Mode Values: 1 or leave out. If this option is switched on, no account will be created. You can use this option to experiment with creating accounts. The resulting partner ID will be 1000.
username Chosen username
name The merchant's full name.
company_name Company Name
e-mail The merchant's e-mail address A confirmation e-mail will be sent to this address.
address Street and number
zip code Postcode
city City
country ISO 3166-1 alpha-2 country code NL for Netherlands, BE for Belgium
Optional parameters
Locale Preferred locale for the merchant  Should be in locale format: for example, nl_NL / en_US etc
registration_number Registration number of this company, for Dutch companies the Chamber of Commerce registration number.
legal_form Legal form of this company Must be one of the following values:
  • sole proprietorship (Sole proprietorship (Netherlands))
  • sole proprietorship-be (Sole proprietorship (Belgium))
  • sole proprietor-bvba-be (One-man private limited liability company (Belgium))
  • professional partnership (Professional partnership (Netherlands))
  • general partnership (General partnership (Netherlands))
  • general partnership-be (General partnership (Belgium))
  • limited liability company (Limited liability company (Netherlands))
  • private limited liability company-be (Private limited liability company (Belgium))
  • limited partnership (Limited partnership (Netherlands))
  • limited partnership-be (Limited partnership (Belgium))
  • publicly traded partnership-be (Publicly traded partnership (Belgium))
  • corp. (Corp. (Netherlands))
  • corp.-be (Corp. (Belgium))
  • co-operative society (Co-operative society (Netherlands))
  • unlimited liability cooperative-be (Unlimited liability cooperative (CVOA) (Belgium))
  • limited liability cooperative-be (Limited liability cooperative (CVBA) (Belgium))
  • foundation (Foundation (Netherlands))
  • foundation-be (Foundation (Belgium))
  • association (Association (Netherlands))
  • nonprofit association-be (Nonprofit association (vzw) (Belgium))
  • government (Public body (Netherlands))
  • church community (Church community (Netherlands))
  • crown estate (Crown estate (Netherlands))
  • agricultural partnership-be (Agricultural partnership (Belgium))
  • economic interest grouping-be (Economic interest grouping (Belgium))
  • european company-be (European company (Belgium))
  • vvzrl-be (Company or Association without corporate personality (Belgium))
  • non-be (Foreign company (Belgium))
  • foreign comp (Foreign company registered in the Netherlands (Nederland))
  • non-nl (Foreign company form)
representative Representative Name of the legal representative of this company.
billing_address Billing Address When this field is included, you must fill out all billing_* fields.
billing_zip code Billing zip code
billing_city Billing City
billing_country ISO 3166-1 alpha-2 country code for billing address NL for Netherlands, BE for Belgium
bankaccount_iban Payout IBAN When this field is included, you must fill out all bankaccount_* fields.
bankaccount_bic Bank BIC code
bankaccount_bankname Bank Name
bankaccount_location City where bank is domiciled
vat_number VAT Number
All compulsory parameters

Possible results

Code Explanation
10 The account has been successfully created.
34 The account cannot be created because one or more fields were rejected. A more extensive description has been included in the reply.
36 The account cannot be created because the user name has been taken.

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0" encoding="UTF-8"?>
<response version="v1">
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Account created successfully.</resultmessage>
<username>jandevries</username>
<password>Vfj@$&amp;MC</password>
<partner_id>127035</partner_id>
</response>

Method: account-edit

This method allows you to change an existing merchant. You can only change your own merchants. Please take note: some changes may result in the merchant no longer receiving any payouts.

Parameter Explanation Comments
username The username of the account you would like to change.
Optional parameters
name The merchant's full name.
company_name Company Name
e-mail The merchant's e-mail address A confirmation e-mail will be sent to this address.
address Street and number
zip code Postcode
city City
country ISO 3166-1 alpha-2 country code NL for Netherlands, BE for Belgium
Locale Preferred locale for the merchant

Should be in locale format: for example, nl_NL / en_US etc

registration_number Registration number of this company, for Dutch companies the Chamber of Commerce registration number.
legal_form Legal form of this company Must be one of the following values:
  • sole proprietorship (Sole proprietorship (Netherlands))
  • sole proprietorship-be (Sole proprietorship (Belgium))
  • sole proprietor-bvba-be (One-man private limited liability company (Belgium))
  • professional partnership (Professional partnership (Netherlands))
  • general partnership (General partnership (Netherlands))
  • general partnership-be (General partnership (Belgium))
  • limited liability company (Limited liability company (Netherlands))
  • private limited liability company-be (Private limited liability company (Belgium))
  • limited partnership (Limited partnership (Netherlands))
  • limited partnership-be (Limited partnership (Belgium))
  • publicly traded partnership-be (Publicly traded partnership (Belgium))
  • corp. (Corp. (Netherlands))
  • corp.-be (Corp. (Belgium))
  • co-operative society (Co-operative society (Netherlands))
  • unlimited liability cooperative-be (Unlimited liability cooperative (CVOA) (Belgium))
  • limited liability cooperative-be (Limited liability cooperative (CVBA) (Belgium))
  • foundation (Foundation (Netherlands))
  • foundation-be (Foundation (Belgium))
  • association (Association (Netherlands))
  • nonprofit association-be (Nonprofit association (vzw) (Belgium))
  • government (Public body (Netherlands))
  • church community (Church community (Netherlands))
  • crown estate (Crown estate (Netherlands))
  • agricultural partnership-be (Agricultural partnership (Belgium))
  • economic interest grouping-be (Economic interest grouping (Belgium))
  • european company-be (European company (Belgium))
  • vvzrl-be (Company or Association without corporate personality (Belgium))
  • non-be (Foreign company (Belgium))
  • foreign comp (Foreign company registered in the Netherlands (Nederland))
  • non-nl (Foreign company form)
representative Representative Name of the legal representative of this company.
billing_address Billing Address When this field is included, you must fill out all billing_* fields.
billing_zip code Billing zip code
billing_city Billing City
billing_country ISO 3166-1 alpha-2 country code for billing address NL for Netherlands, BE for Belgium
bankaccount_iban Payout IBAN When this field is included, you must fill out all bankaccount_* fields.
bankaccount_bic Bank BIC code
bankaccount_bankname Bank Name
bankaccount_location City where bank is domiciled
vat_number VAT Number
All compulsory parameters

Possible results

Code Explanation
10 The account has been successfully adjusted.
30 You cannot change this account, because the combination of username and password is incorrect.
35 You cannot change this account, because you did not bring in this account.
34 The account cannot be created because one or more fields were rejected. A more extensive description has been included in the reply.

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0" encoding="UTF-8"?>
<response>
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Account edited successfully.</resultmessage>
<username>Jan Janssen</username>
<partner_id>123456</partner_id>
</response>

Method: account-valid

This method allows you to check whether a Mollie account actually exists and whether the password to this account is correct. The method returns the account's partner ID.

Parameter Explanation Comments
username The username of the account you would like to check.
password The password of the account you would like to check.
All compulsory parameters

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0"?>
<response>
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Customer janjansen exists and password is correct.</resultmessage>
<exists>true</exists>
<partner_id>1337</partner_id>
</response>

Method: available-payment-methods

This method allows you to check which payment methods have been activated for a merchant.

Parameter Explanation Comments
username The username of the account of which you would like to check which payment methods have been activated.
password The password to the account of which you would like to check which payment methods have been activated.
partner_id_customer The partner ID of the account of which you would like to check which payment methods have been activated. It can be used instead of the parameters username and password.
All compulsory parameters

Example of XML result
After sending the HTTP request, our server sends back an XML result. Please find an example below:


<?xml version="1.0"?>
<response>
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Customer has the following payment services available.</resultmessage>
<services>
<ivr>true</ivr>
<psms>true</psms>
<ideal>false</ideal>
<paysafecard>true</paysafecard>
<creditcard>false</creditcard>
<mistercash>false</mistercash>
</services>
</response>

Method: bankaccount-edit

This method allows you to change a merchant's bank account.

Parameter Explanation Comments
username The username of the account of which you would like to change the bank account
password The password of the account for which you would like to change the bank account
partner_id_customer The partner ID of the account of which you would like to change the bank account. It can be used instead of the parameters username and password.
ID The ID of the bank account you would like to change
Optional parameters
name Account name
IBAN Payout IBAN
BIC Bank BIC code
bank name Bank Name
location City where bank is domiciled
All compulsory parameters

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0" encoding="UTF-8"?>
<response>
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Bankaccount successfully updated.</resultmessage>
<bankaccount>
<id>9d7512a3d2c16b5f9dd49b7aae2d7eaf</id>
<account_name>JAN JANSEN</account_name>
<account_iban>NL40RABO0123456789</account_iban>
<bank_bic>RABONL2U</bank_bic>
<bank>RABOBANK</bank>
<location>AMSTERDAM</location>
<selected>true</selected>
<verified>false</verified>
</bankaccount>
</response>

Method: bankaccounts

This method allows you to retrieve all of a customer's bank accounts.

Parameter Explanation Comments
username The username of the account of which you would like to retrieve the bank accounts
password The password of the account of which you would like to retrieve the bank accounts
partner_id_customer The partner ID of the account of which you would like to retrieve the bank accounts. It can be used instead of the parameters username and password.
All compulsory parameters

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0"?>
<response>
<items>
<bankaccount>
<id>9d7512a3d2c16b5f9dd49b7aae2d7eaf</id>
<account_name>JAN JANSEN</account_name>
<account_iban>NL40RABO0123456789</account_iban>
<bic_code>RABONL2U</bic_code>
<bank>RABOBANK</bank>
<location>AMSTERDAM</location>
<selected>true</selected>
<verified>false</verified>
</bankaccount>
</items>
</response>

Methode: disconnect-account

This method allows you to cancel one of your merchants as reseller. The link between your account and that of the merchant will be broken. Any preferential rates your merchant enjoyed via your account will be readjusted to the normal rates.

Parameter Explanation Comments
username The username of the account you would like to disconnect
password The password of the account you would like to disconnect
partner_id_customer The partner ID of the account you would like to disconnect. It can be used instead of the parameters username and password.
All compulsory parameters

Possible results

Code Explanation
10 The account has been successfully disconnected.
30 You cannot disconnect this account because the combination of username and password is incorrect.
35 You cannot disconnect this account because you did not bring it in.

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0" encoding="UTF-8"?>
<response>
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Account disconnected successfully.</resultmessage>
</response>

Not normally available!
This method allows you to obtain a special link, with which a merchant can be directly logged in.

You are to redirect the merchant to the log-in link. It will log the merchant in, if he wasn't already. In all other cases, the merchant who was already logged in will remain logged in.

When the customer has not yet accepted Mollie's conditions they must first do so before being redirected.

Parameter Explanation Comments
username The username of the account you would like to log in to
password The password of the account you would like to log in to
partner_id_customer The partner ID of the account you would like to log in to. It can be used instead of the parameters username and password.
Optional parameters
redirect_URL The URL a merchant must be redirected to after logging in. This must be a URL in the www.mollie.com domain.
All compulsory parameters

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0" encoding="UTF-8"?>
<response version="v1">
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Redirect the customer to the following url.</resultmessage>
<redirect_url>https://www.mollie.com/login/oneTimeLogin/4299193/008788d1a618c3aff51acd57ca82661c?redirect_url=%2Fbeheer%2Fbetaalmethodes%2F</redirect_url>
</response>

Method: profile-create

This method allows you to create a website profile for a merchant.

Parameter Explanation Comments
username The username of the account you would like to add a website profile to.
password The password of the account you would like to add a website profile to
partner_id_customer The partner ID of the account you would like to add a website profile to. It can be used instead of the parameters username and password.
name The name of the website profile.
website The website of the website profile
e-mail The e-mail address at which your merchants can reach you
phone The phone number at which your merchants can reach you
category The category in which the merchant is active. The value is a merchant category code. 5399
Physical Products5732
Electronics, Computers and Software4121
Travel, Rentals, Transport6012
Financial Services5499
Food and Drink7999
Events, Festivals and Recreation5192
Books, Magazines and Newspapers7299
Physical Services8398
Charities and Donations0
Other
All compulsory parameters

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0" encoding="UTF-8"?>
<response version="v1">
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Profile created successfully</resultmessage>
<profile>
<name>Snoep.nl</name>
<hash>9C696E36</hash>
<website>http://snoep.nl/</website>
<sector>6</sector>
<category>5399</category>
<verified>false</verified>
<phone>0201234567</phone>
<email>info@snoep.nl</email>
<api_keys>
<test>test_ImXWtEB4alZ149cxDrLxr1XDt8kbI9</test>
<live>live_DjymcBSCZX4MijQ2RKHGTmAvB4J4xw</live>
</api_keys>
</profile>
</response>

Method: profiles

This method allows you to retrieve all of a merchant's active website profiles.

Parameter Explanation Comments
username The username of the account of which you would like to retrieve the profiles
password The password of the account of which you would like to retrieve the profiles
partner_id_customer The partner ID of the account of which you would like to retrieve the profiles. It can be used instead of the username and password parameters.
All compulsory parameters

Example of XML-result
After sending an HTTP request, our server sends back an XML result. You will find an example below:


<?xml version="1.0"?>
<response>
<items>
<profile>
<name>Snoep.nl</name>
<hash>9C696E36</hash>
<website>http://snoep.nl/</website>
<sector>6</sector>
<category>5399</category>
<verified>true</verified>
<phone>0201234567</phone>
<email>info@snoep.nl</email>
<api_keys>
<test>test_ImXWtEB4alZ149cxDrLxr1XDt8kbI9</test>
<live>live_DjymcBSCZX4MijQ2RKHGTmAvB4J4xw</live>
</api_keys>
</profile>
</items>
</response>

Method: set-fees

Not Normally Available!
The method set-fees can be used to change a merchant's rates.

Parameter Explanation Comments
username The username of the account of which you would like to set the rates
password The password of the account of which you would like to set the rates
partner_id_customer The partner ID of the account of which you would like to set the rates. It can be used instead of the username and password parameters.
payment_method The payment method of which you would like to adjust the rate. Possible options are: ideal, paysafecard, credit card, mistercash, bank transfer, paypal, bitcoin, sofort, belfius, direct debit, podiumcadeaukaart, refund.
payment_subtype The payment method subtype of which you would like to adust the rate. Only applicable to credit card:

 

  • region_1 for adjusting rates for Region 1 (Intra EU consumer cards to merchants within the EU)
  • region_2 for adjusting rates for Region 2 (Other cards)

Only applicable to SOFORT Banking:

  • retail
  • digital
  • adult

Only applicable to refunds:

  • ideal For adjusting iDEAL/Transfer/Bancontact Mister Cash/ SOFORT Banking and PayPal refunds.
  • credit card for adjusting credit card refunds
fee_type The type of rate you would like to adjust. Possible options are: fixed for the adjustment of fixed costs per transaction and percentage for the adjustment of variable transaction costs.
fee The new rate Send amounts (of the fixed type with two decimals (for instance 0.43), and variable transaction costs as a fraction (for instance 0.025 for 2.50%).
All compulsory parameters

Possible results

Code Explanation
10 The rate has been adjusted.
20 The username field is missing.
21 The password field is missing.
30 The combination of username and password is incorrect.
37 The combination payment_method and fee_type is invalid; the set percentage or fee is too high or too low, or the payment method cannot be set via the API. See the accompanying error message for the exact error.

Example of XML result
After sending the HTTP request, our server sends back an XML result. Please find an example below:


<?xml version="1.0"?>
<response>
<success>true</success>
<resultcode>10</resultcode>
<resultmessage>Fee for payment method iDEAL set to &#x20AC; 0,22 per transaction.</resultmessage>
</response>

Downloads & examples
You don't have to re-invent the wheel. Mollie has a ready-to-use PHP script for you. Of course, you can always choose to do the integration all on your own if the scripts don't meet your demands.

Are you using node.js? In that case, your can use the open source API client for node.js, which has been developed by Matthijs van Henten.

Support
Need support? Feel free to contact us.

Was this article helpful?