Affiliate onboarding via API

You can manage and onboard affiliates via our API.

Authentication

To authenticate requests, you must include a partner account API key. For more information, email your partner manager.

Onboarding API

The table below lists our API references for onboarding an affiliate's account.

GoalActionAPI reference
Account setupCreate a new affiliate accountCreate affiliate
BankingAdd a bank accountAdd bank account
List bank accountsList bank accounts
Validate bank accountValidate bank account
VerificationUpload a bank statementAdd bank statement
WebsitesAdd a website URLAdd site
Compliance (UBO)Register a UBOAdd UBO
Retrieve all registered UBOs for the accountList UBOs
Retrieve details for a specific UBOGet UBO
Update information for an existing UBOUpdate UBO
Compliance (Identity)Upload identity documentAdd identity document
Retrieve a list of identity verification documents linked to the accountList identity documents
Retrieve the details of a specific identity verification documentGet identity document


Onboarding process

1. Create an affiliate

You can use our onboarding API endpoint to create new affiliates. This will create a new affiliate linked to your partner account.

To do this, use the Create affiliate endpoint with the required parameters:

  • account.company_name, account.country, account.email
  • user.email, user.name, user.password
  • currencies
Example onboarding via API

Example

curl --request POST \
     --url https://api.multisafepay.com/v1/json/signup-account \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "account": {
    "company_name": "My company name",
    "country": "NL",
    "email": "[email protected]",
    "id": 99808226
  },
  "user": {
    "email": "[email protected]",
    "name": "Simon Smit",
    "password": "Mypassword123"
  },
  "currencies": [
    "EUR",
    "USD"
  ]
}

Example response

{
  "success": true,
  "data": [
    {
      "account": {
        "company_name": "My company name",
        "country": "NL",
        "email": "[email protected]"
      },
      "user": {
        "email": "[email protected]",
        "name": "Simon Smit",
        "password": "Mypassword123"
      },
      "currencies": [
        "EUR",
        "USD"
      ]
    }
  ]
}

2. Create login URL

Once you've created a new merchant, you can give them access to their account by creating a login URL.

To do this, make a create login URL request with the following required parameters:

  • account_id, which you can retrieve by making a get affiliate request.
  • expires_in to add an expiration time.
Example onboarding via API

Example

curl --request POST \
     --url https://testapi.multisafepay.com/v1/json/accounts/1234556/login-urls \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
			--data '{
          "expires_in":"5m"
      }'

Example response

{
  "success": true,
  "data": "https://example.com/"
  }

3. Add bank account

Add a bank account to your affiliate's account. This is a required for future payouts.

To do this, make an add bank account request with the following parameters:

  • account_id of your affiliate's account
  • currency in which the transfers will be made
  • holder_name of the account holder
  • iban of the account
Example onboarding via API

Example

curl --request POST \
   --url https://testapi.multisafepay.com/v1/json/accounts/1234568/bank-accounts \
   --header 'accept: application/json' \
   --header 'content-type: application/json' \
   --data '
{
  "currency": "EUR",
        "holder_name": "My company name",
        "iban": "NL02ABNA0123456789"
}
'

Example response

{
"success": true,
"data": {
    "currency": "EUR",
    "holder_name": "My company name",
    "iban": "NL02ABNA0123456789"
  }
}

After adding the bank account, it must be verified to confirm account ownership. This can be done through two different methods:

4. Add UBO

Add the Ultimate Beneficial Owners associated with the affiliate account. This information is required to complete onboarding.

To do this, make an add UBO request and include the following required parameters:

  • The account_id of the affiliated where the UBO is being added

UBO personal information:

  • name
  • birthday
  • title (Mr., Mrs., Miss)
  • email
  • country_of_birth
  • country of residence

UBO professional information:

  • job_title of the UBO's position
  • percentage of the company the UBO controls
  • type of control the UBO has over the company

Additional information:

  • mobile_phone, office_phone
  • address, address_apartment
  • zipcode, city, state
Example onboarding via API

Example

curl --request POST \
   --url https://testapi.multisafepay.com/v1/json/accounts/account_id/ubos \
   --header 'accept: application/json' \
   --header 'content-type: application/json' \
   --data '
{
  "type": "shareholder",
  "name": "Simon Smit",
  "birthday": "1980-12-31",
  "title": "Mr",
  "email": "[email protected]",
  "job_title": "CEO",
  "percentage": 25,
  "country_of_birth": "NL",
  "country": "NL",
  "mobile_phone": "+31612345678",
  "address": "Kraanspoor 39",
  "address_apartment": "B",
  "zipcode": "1033 SC",
  "city": "Amsterdam",
  "state": "Noord-Holland",
  "office_phone": "+31654987321"
}
'

Example response

{
"success": true,
"data": {
    "currency": "EUR",
    "holder_name": "My company name",
    "iban": "NL02ABNA0123456789"
  }
}


Next step