Implementation guides
Creating a bank account
Qualy is capabable to automatically payout Partnerships automatically. A bank account--amongst other things such as legal information, address, and partnership's contacts--is necessary. Different countries and currencies have different requirements, this guides walks you through adding a bank account.
Before you start
If you are creating a bank account for a specific Partnershio, you will need to have the Partnership's _id
to create the Bank account, check our Partnership's API Reference to create a Partnership.
Listing bank account requirements
Different countries and currencies may have different information requirements. Before creating the bank account, it's necessary to fetch the fields for the currency and country of the bank account. Use this GET endpoint to learn what datapoints are required to send a payment to your partnershop.
This this example, we are fetching the bank account requirements for the currency "AUD" and country "AU":
try {
const response = await fetch('https://api.qualyhq.com/v1/bank-accounts/requirements/AU/AUD', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'ApiKey your-api-key-here',
'X-TENANT-ID': 'your-tenant-id-here',
},
});
if (response.ok) {
const data = await response.json();
console.log(data);
} else {
throw new Error(`Request failed with status: ${response.status}`);
}
} catch (error) {
console.error(error);
}
The above GET
request may return a response like the below:
{
"data": {
"requirements": [
{
"type": "text",
"name": "accountName",
"validation": "required"
},
{
"type": "text",
"name": "bankName",
"validation": "required",
"requirementType": "australian"
},
{
"requirementType": "australian",
"validation": "required",
"name": "holderType",
"min": null,
"max": null,
"regexp": null,
"type": "select",
"options": [
{
"value": "personal"
},
{
"value": "business"
}
]
},
{
"requirementType": "australian",
"validation": "required",
"name": "routingNumber",
"min": 6,
"max": 7,
"regexp": "^\\d{3}\\-?\\d{3}$",
"placeholder": "802985",
"type": "text"
},
{
"requirementType": "australian",
"validation": "required",
"name": "accountNumber",
"min": 4,
"max": 28,
"regexp": "^\\d{4,9}$",
"placeholder": "123456789",
"type": "text"
}
]
},
"hasMore": false,
"count": 5
}
Requirement types
Qualy organizes and groups the different requirements that may be necessary by requirementTypes
. When creating a bank account you will need to supply this value.
Requirement name | Description |
---|---|
australian | This requirement type is used for local Australian bank accounts. |
Creating a bank account
Once you fetched the bank account requirements, and you now have the necessary information, you can create a bank account entity, calling the Bank Accounts API.
try {
const response = await fetch('https://api.qualyhq.com/v1/bank-accounts/create', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'ApiKey your-api-key-here',
'X-TENANT-ID': 'your-tenant-id-here',
},
body: JSON.stringify({
"accountName": "Account name",
"accountNumber": "12345678",
"bankName": "Bank name",
"country": "AU",
"currency": "AUD",
"holderType": "business",
"requirementType": "australian",
"routingNumber": "123456",
}),
});
if (response.ok) {
const data = await response.json();
console.log(data);
} else {
throw new Error(`Request failed with status: ${response.status}`);
}
} catch (error) {
console.error(error);
}
Creating a bank account for a partnership
You can create a bank account and associate to a partnership by providing the parthership _id
using the property partnership
when calling the Bank Accounts API.
Here's an example:
try {
const response = await fetch('https://api.qualyhq.com/v1/bank-accounts/create', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'ApiKey your-api-key-here',
'X-TENANT-ID': 'your-tenant-id-here',
},
body: JSON.stringify({
"accountName": "Account name",
"accountNumber": "12345678",
"bankName": "Bank name",
"country": "AU",
"currency": "AUD",
"holderType": "business",
"partnership": "6608fa09ae372f75deb3c6ad",
"requirementType": "australian",
"routingNumber": "123456",
}),
});
if (response.ok) {
const data = await response.json();
console.log(data);
} else {
throw new Error(`Request failed with status: ${response.status}`);
}
} catch (error) {
console.error(error);
}
Things to know
Qualy has some rules, features and restrictons when creating a bank account, here's what you need to know:
- Only one Bank Account per currency is allowed.
- You may need to provide a
bankName
, but Qualy may overwrite it. Qualy fetches thebankName
based onaccountNumber
androutingNumber
for certain countries. - Qualy may automatically add
address
property automatically. Qualy uses theroutingNumber
to fetch the address of the Bank Account's branch automatically. Only available for certain countries.