Add bank accounts


Use seven requests to perform actions on bank account details of merchant accounts affiliated to your partner account:

  1. Add bank account: add a bank account to a merchant account
  2. List bank accounts: retrieve a list of all bank accounts
  3. Get bank account: retrieve a single bank account
  4. Create payment link: create a payment link to verify a bank account
  5. Add bank statement: add a bank statement to verify a bank account
  6. List bank statements: retrieve a list of all bank statements
  7. Get bank statement: retrieve a single bank statement

The process

The requests above can be split into two steps:

  1. Add bank accounts: Use the first three requests to add and retrieve bank accounts linked to a merchant account.
  2. Verify bank accounts: Use the last four requests to verify bank accounts. You can choose to verify through a payment link or by supplying a bank statement.

Authentication

All seven bank account requests require a partner account API key. This is not the same as a website API key. For more information, email your Partner Manager.

All URLs on this page are directed to our test API. To use the live API, change the subdomain testapi to api and use the corresponding API key.

Add bank account

POST https://testapi.multisafepay.com/v1/json/accounts/{account_id}/bank-accounts

Add a new bank account to a merchant account.

Path parameters

Parameter Description
account_id
string
Merchant ID.
Format: 8 character string (e.g., 12345678). Required.

Query parameters

Key Description
iban
string
The IBAN of the bank account.
Format: alphanumeric string of up to 34 characters. Required
holder_name
string
Full name of the bank account holder. This can be a natural person, company or other legal entity.
Format: max 40 characters. Required.
currency
string
The currency of the bank account.
Format: ISO-4217 (e.g., EUR). Required.
Sample request
curl -X POST "https://testapi.multisafepay.com/v1/json/accounts/12345678/bank-accounts" \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "api_key: <your-account-api-key>" \
--data-raw '{
  "currency" :"EUR",
  "holder_name" :"Fun B.V.",
  "iban" :"NL02ABNA0123456789"
}'
Sample response
{
  "data": {
    "currency" :"EUR",
    "holder_name" :"Fun B.V.",
    "iban" :"NL02ABNA0123456789"
  },
  "success": true
}

List bank accounts

GET https://testapi.multisafepay.com/v1/json/accounts/{account_id}/bank-accounts

Retrieve a list of all bank accounts linked to an affiliated merchant account.

Path parameters

Parameter Description
account_id
string
Merchant ID of the affiliated merchant account.
Format: 8 character string (e.g., 12345678). Required.
Sample request
curl -X GET "https://testapi.multisafepay.com/v1/json/accounts/12345678/bank-accounts" \
--header "accept: application/json" \
--header "api_key: <your-account-api-key>"
Sample response
{
  "data": [
    {
      "currency": "EUR",
      "holder_name": "Fun B.V.",
      "iban": "NL02ABNA0123456789"
    },
    {
      "currency": "USD",
      "holder_name": "Fun B.V.",
      "iban": "NL02ABNA0123456789"
    }
  ],
  "success": true
}

Get bank account

GET https://testapi.multisafepay.com/v1/json/bank-accounts/{bankaccount_id}

Retrieve a single bank account by its identifier.

Path parameters

Parameter Description
bankaccount_id The unique identifier of the bankaccount.
Format: string (e.g., upp6ogjqret36). Required.
Sample request
curl -X GET "https://testapi.multisafepay.com/v1/json/bank-accounts/12345678" \
--header "accept: application/json" \
--header "api_key: <your-account-api-key>"
Sample response
{
  "data": {
    "currency": "EUR",
    "holder_name": "Fun B.V.",
    "iban": "NL02ABNA0123456789"
  },
  "success": true
}

POST https://testapi.multisafepay.com/v1/json/bank-accounts/{bankaccount_id}/payment-links

Create a payment link for a refundable 1 EUR payment. This payment is used to verify the ownership of the associated bank account. Alternatively, supply a copy of a bank statement through the bank-statements request.

Path parameters

Parameter Description
bankaccount_id The unique identifier of the bankaccount.
Format: string (e.g., upp6ogwgfit36). Required.
Sample request
curl -X POST "https://testapi.multisafepay.com/v1/json/bank-accounts/12345678/payment-links" \
--header "accept: application/json" \
--header "api_key: <your-account-api-key>"
Sample response
{
  "data": {
    "bankaccount_id": 12345678,
    "payment_link": "https://paymentlink.com/link"
  },
  "success": true
}

Add bank statement

POST https://testapi.multisafepay.com/v1/json/bank-accounts/{bankaccount_id}/bank-statements

Upload a bank statement to verify the ownership of the associated bank . Alternatively, create a payment link through the payment-links request.

Path parameters

Parameter Description
bankaccount_id The unique identifier of the bankaccount.
Format: string (e.g., upp6ogjwpot36). Required.

Request body

Key Value
encoded_content Base64 encoded content. Required.
filename
string
Name of the bank statement file.
Format: max 250 characters. Required.
mime_type
string
Media type of the bank statement file .
Options: application/pdf image/jpeg
Sample request
curl -X POST "https://testapi.multisafepay.com/v1/json/bank-accounts/12345678/bank-statements" \
--header "accept: application/json" \
--header "Content-Type: application/json" \
--header "api_key: <your-account-api-key>" \
--data-raw '{
  "encoded_content": "string",
  "filename": "bank-statement.pdf",
  "mime_type": "application/pdf"
}'
Sample response
{
  "data": {
    "encoded_content": "string",
    "filename": "bank-statement.pdf",
    "mime_type": "application/pdf"
  },
  "success": "true"
}

List bank statements

GET https://testapi.multisafepay.com/v1/json/bank-accounts/{bankaccount_id}/bank-statements

Retrieve a list of all bank statements associated with a bank account.

Path parameters

Parameter Description
bankaccount_id The unique identifier of the bankaccount.
Format: string (e.g., upp6ogjwldt36). Required.
Sample request
curl -X GET "https://testapi.multisafepay.com/v1/json/bank-accounts/12345678/bank-statements" \
--header "accept: application/json" \
--header "api_key: <your-account-api-key>"
Sample response
{
  "data": [
    {
      "encoded_content": "string",
      "filename": "bank-statement.pdf",
      "mime_type": "application/pdf"
    }
  ],
  "success": true
}

Get bank statement

GET https://testapi.multisafepay.com/v1/json/bank-statements/{bankstatement_id}

Retrieve a single bank statement by its identifier.

Path parameters

Parameter Description
bankstatement_id The unique identifier of the bank statement
Format: string (e.g., it613jfo4psde). Required.
Sample request
curl -X GET "https://testapi.multisafepay.com/v1/json/bank-statements/12345678" \
--header "accept: application/json" \
--header "api_key: <your-account-api-key>"
Sample response
{
  "data": {
    "encoded_content": "string",
    "filename": "bank-statement.pdf",
    "mime_type": "application/pdf"
  },
  "success": true
}

Next steps

You have added one or multiple bank accounts to a merchant account. Next, you can add UBOs and websites using the unique merchant account id .

Feedback

Propose a change on GitHubexternal-link-icon or
send an email to [email protected]

Other languages

For an explanation in another language, contact your account manager.