In order to process payments, each of your customers (whom we refer to as sub accounts
) will go through an approval process. JustiFi's onboarding API allows you to utilize your own onboarding frontend to collect the required business and financial information from each of your sub accounts. Once approved, your sub account can process payments through JustiFi.
To onboard a new sub account via the API
curl -X POST \
https://api.justifi.ai/v1/sub_accounts \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Sub account name"
}'
Use the sub accounts API to create a sub account on JustiFi that is associated with your platform. You will need the account_id
from the sub account you create for the next step.
Use the onboarding API to create an onboarding entry containing the required information for the sub account you made.
curl -X GET https://api.justifi.ai/v1/sub_accounts/ACCOUNT_ID \
-H 'Authorization: Bearer [access_token]' \
-H 'Accept: application/json'
Once you create the account's onboarding entry, we'll review their information. This approval process can take up to a few business days. In order to check the account's onboarding status, call the Get a Sub Account endpoint or use an event publisher to subscribe to the sub_account.updated
events.Note: seller_account.updated event has been deprecated
First, you'll need to create a sub account so you can use that sub account id in the path for this API.
Create an onboarding entry for a sub account, which will send their required onboarding information to the JustiFi team for review. This will change the sub account's status to submitted
. Upon review, if we require additional verification in the form of an ID document (which is rare), we'll work with your sub account to obtain the documentation we need.
Depending on each sub account's business type and structure, the onboarding information you'll need to collect will vary. Use the table below to check the requirements for each. You can also get a head start by copying the payloads from the request samples on the right; just choose the type of business you need from the dropdown first. Note: The payload, response, and restrictions are all subject to change based on gateway requirements.
For-Profit | Non-Profit | Government Entity | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Individual | Sole Proprietorship | Single Member LLC | Multi Member LLC | Private Partnership | Private Corporation | Unincorporated Association | Public Partnership | Public Corporation | Incorporated | Unincorporated | Governmental Unit | Government Instrumentality | |
business_details.url | Required for all | ||||||||||||
business_details.type | Required for all | ||||||||||||
business_details.structure | Required for all | ||||||||||||
business_details.industry | Required for all | ||||||||||||
business_details.tax_id | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
business_details.phone | - | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
business_details.email | - | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
business_details.legal.name | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
business_details.legal.address* fields | - | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
business_details.doing_business_as.name | Required for none | ||||||||||||
representative.name | Required for all | ||||||||||||
representative.title | - | - | - | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
representative.email | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | - | - |
representative.phone | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | - | - |
representative.ssn_last4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | ✅ | ✅ |
representative.is_owner | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | - | - |
representative.dob* fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | ✅ | ✅ |
representative.address* fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | - | - | ✅ | ✅ | - | - |
owners list |
- | - | - | ✅ | ✅ | ✅ | ✅ | - | - | - | - | - | - |
bank_account | Required for all | ||||||||||||
terms_and_conditions.accepted | Required for all | ||||||||||||
terms_and_conditions.ip | Required for all | ||||||||||||
terms_and_conditions.user_agent | Required for none |
Onboarding entry was created successfully
{- "business_details": {
- "type": "individual",
- "industry": "Landscaping Services"
}, - "representative": {
- "name": "Individual Personname",
- "email": "just.an.individual@justifi.ai",
- "dob_month": "01",
- "dob_day": "01",
- "dob_year": "1980",
- "address_line1": "123 Example St",
- "address_city": "Minneapolis",
- "address_state": "MN",
- "address_postal_code": "55555",
- "address_country": "USA",
- "phone": "6124011111",
- "ssn_last4": "6789",
- "is_owner": false
}, - "bank_account": {
- "bank_name": "Wells Fargo",
- "account_type": "checking",
- "routing_number": "111111111",
- "account_number": "111111112",
- "account_nickname": "My payout account",
- "account_owner_name": "Paper holder"
}, - "terms_and_conditions": {
- "accepted": true,
- "ip": "127.0.0.1",
- "user_agent": "Safari"
}
}
{- "id": 1,
- "type": "onboarding_entry",
- "data": {
- "account_type": "string",
- "seller_account_id": "string",
- "sub_account_id": "string",
- "platform_account_id": "string",
- "payload": {
- "onboarding_version": "v1.0",
- "business_details": {
- "type": "for_profit",
- "structure": "sole_proprietorship",
- "industry": "string",
- "tax_id": "string",
- "phone": "string",
- "email": "string",
- "legal": {
- "name": "string",
- "address_line1": "string",
- "address_line2": "string",
- "address_city": "string",
- "address_state": "string",
- "address_postal_code": "string",
- "address_country": "string"
}, - "doing_business_as": {
- "name": "string"
}
}, - "representative": {
- "name": "string",
- "title": "string",
- "email": "user@example.com",
- "dob_month": "string",
- "dob_day": "string",
- "dob_year": "string",
- "address_line1": "string",
- "address_line2": "string",
- "address_city": "string",
- "address_state": "string",
- "address_postal_code": "string",
- "address_country": "string",
- "phone": "string",
- "ssn_last4": "string",
- "is_owner": true
}, - "owners": [
- {
- "name": "string",
- "email": "user@example.com"
}
], - "bank_account": {
- "bank_name": "string",
- "account_nickname": "string",
- "routing_number": "string",
- "account_number": "string",
- "account_type": "checking",
- "account_owner_name": "string"
}, - "terms_and_conditions": {
- "accepted": true,
- "ip": "string",
- "user_agent": "string"
}
}
}, - "page_info": "string"
}