Creating a business verified Customer will require you to provide information about the business entity as well as a Controller, if required.
businessType
to sign up as? #My Customer's business structure | Dwolla businessType values | Controller required? |
---|---|---|
Sole proprietorships | soleProprietorship | No |
Unincorporated association | soleProprietorship | No |
Trust | soleProprietorship | No |
Corporation | corporation | Yes |
Publicly traded corporations | corporation | Yes |
Non-profits | corporation or llc | Yes |
LLCs | llc | Yes |
Partnerships, LP's, LLP's | partnership | Yes |
There are two types of business verified Customers that you can create, based on if they are required to add information on the Controller or not.
Follow these steps to create a business verified Customer where "businessType": "soleProprietorship"
As a developer, you can expect these events to be triggered when a business verified Customer is successfully created and systematically verified:
customer_created
customer_verified
Business Type | Business Entity | Controller | Business Owner |
---|---|---|---|
Sole Proprietorship | Identity verified | N/A | Identity verified |
In order to create a business verified Customer with businessType
of soleProprietorship
, Dwolla only requires information to verify the identity of the business and the Account Admin.
Parameter | Required | Type | Description |
---|---|---|---|
firstName | yes | string | The legal first name of the Business Owner. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
lastName | yes | string | The legal last name of the Business Owner. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
yes | string | Email address of the Business Owner. Must be a valid email format (e.g., example@domain.com ). | |
ipAddress | no | string | IP address of the registering user is recommended. |
type | yes | string | Must be business . |
dateOfBirth | yes | string | The date of birth of the Business Owner. Format: YYYY-MM-DD Age Range: Must be between 18 to 125 years. |
ssn | yes | string | Last four or full 9 digits of the Business Owner's Social Security Number. Must contain only numbers (e.g., 1234 or 123456789 ). |
address1 | yes | string | Street number and street name of the business’ physical address. Must be ≤ 50 characters, contain no special characters [<>="`!?%~${}\] , and cannot be a PO Box. |
address2 | no | string | Apartment, floor, suite, bldg. # of business’ physical address. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
city | yes | string | City of the business’ physical address. Must be ≤ 50 characters and cannot contain numbers or special characters [<>="`!?%~${}\] . |
state | yes | string | US Persons - Must be a valid two-letter US state/territory abbreviation (e.g., CA ). Reference: US Postal Service guide. |
postalCode | yes | string | Business’ US ZIP Code. Must be either 5 digits (e.g., 50314 ) or ZIP+4 (e.g., 50314-1234 ). |
businessName | yes | string | Registered business name. Must be ≤ 255 characters and cannot include special characters [<>="`!?%~${}\] . |
doingBusinessAs | no | string | Preferred business name – also known as a fictitious name or assumed name. Must be ≤ 255 characters and cannot include special characters [<>="`!?%~${}\] . |
businessType | yes | string | Business structure. Must be soleProprietorship . |
businessClassification | yes | string | The industry classification ID corresponding to the Customer’s business. Reference: Business Classifications. |
ein | no | string | Employer Identification Number (EIN). Optional for soleProprietorship business Customers. Must be 9 numeric characters (e.g., 123456789 ). |
website | no | string | Business’ website. Must be a valid URL (e.g., https://www.domain.com ). |
phone | no | string | Business’s 10-digit phone number. Must contain only numbers (e.g., 3334447777 ). No hyphens, spaces, or separators. |
POST https://api-sandbox.dwolla.com/customers
Content-Type: application/vnd.dwolla.v1.hal+json
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer 0Sn0W6kzNic+oWhDbQcVSKLRUpGjIdl/YyrHqrDDoRnQwE7Q
{
"firstName": "Business",
"lastName": "Owner",
"email": "solePropBusiness@email.com",
"ipAddress": "143.156.7.8",
"type": "business",
"dateOfBirth": "1980-01-31",
"ssn": "6789",
"address1": "99-99 33rd St",
"city": "Some City",
"state": "NY",
"postalCode": "11101",
"businessClassification": "9ed3f670-7d6f-11e3-b1ce-5404a6144203",
"businessType": "soleProprietorship",
"businessName":"Jane Corp",
"ein":"00-0000000"
}
HTTP/1.1 201 Created
Location: https://api-sandbox.dwolla.com/customers/62c3aa1b-3a1b-46d0-ae90-17304d60c3d5
As a developer, you can expect these events to be triggered when a business verified Customer is successfully created and systematically verified:
customer_created
customer_verified
Business Type | Business Entity | Controller | Account Admin |
---|---|---|---|
Corporation | Identity verified | Identity verified | Not identity verified |
Partnership | Identity verified | Identity verified | Not identity verified |
LLC | Identity verified | Identity verified | Not identity verified |
For all other businessType
's other than soleProprietorship
, your Customer will need to provide more information for verification. In order to create a business verified Customer with a controller, Dwolla requires information on an account admin, the business, and the controller. Your business verified Customer account admin will act as the agent signing up on behalf of the business. When going through the Customer creation flow, your business verified Customer account admin will only need information on one controller to successfully complete the signup flow.
Parameter | Required | Type | Description |
---|---|---|---|
firstName | yes | string | The legal first name of the Account Admin or individual signing up the business verified Customer. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
lastName | yes | string | The legal last name of the Account Admin or individual signing up the business verified Customer. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
yes | string | Email address of the Account Admin creating and managing the Customer account. Must be a valid email format (e.g., example@domain.com ). | |
ipAddress | no | string | IP address of the registering user. Recommended but not required. |
type | yes | string | Must be business . |
address1 | yes | string | Street number and street name of the business’ physical address. Must be ≤ 50 characters, contain no special characters [<>="`!?%~${}\] , and cannot be a PO Box. |
address2 | no | string | Apartment, floor, suite, bldg. # of business’ physical address. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
city | yes | string | City of the business’ physical address. Must be ≤ 50 characters and cannot contain numbers or special characters [<>="`!?%~${}\] . |
state | yes | string | US Persons - Must be a valid two-letter US state/territory abbreviation (e.g., CA ). Reference: US Postal Service guide. |
postalCode | yes | string | Business’ US ZIP Code. Must be either 5 digits (e.g., 50314 ) or ZIP+4 (e.g., 50314-1234 ). |
businessName | yes | string | Registered business name. Must be ≤ 255 characters and cannot include special characters [<>="`!?%~${}\] . |
doingBusinessAs | no | string | Preferred business name – also known as a fictitious name or assumed name. Must be ≤ 255 characters and cannot include special characters [<>="`!?%~${}\] . |
businessType | yes | string | Business structure. Accepted values: corporation , llc , partnership . |
businessClassification | yes | string | The industry classification ID corresponding to the Customer’s business. Reference: Business Classifications. |
ein | yes | string | Employer Identification Number (EIN). Must be 9 numeric characters (e.g., 123456789 ). Note: If businessType is soleProprietorship , then ein and controller can be omitted. |
website | no | string | Business’ website. Must be a valid URL (e.g., https://www.domain.com ). |
phone | no | string | Business’s 10-digit phone number. Must contain only numbers (e.g., 3334447777 ). No hyphens, spaces, or separators. |
controller | conditional | object | A Controller JSON object. Required unless businessType is soleProprietorship . |
Parameter | Required | Type | Description |
---|---|---|---|
firstName | yes | string | The legal first name of the Controller. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
lastName | yes | string | The legal last name of the Controller. Must be ≤ 50 characters and cannot include special characters [<>="`!?%~${}\] . |
title | yes | string | Job title of the Controller. Examples: Chief Financial Officer , Managing Director . Must be ≤ 100 characters and cannot contain numbers or special characters [<>="`!?%~${}\] . |
dateOfBirth | yes | string | Controller’s date of birth in YYYY-MM-DD format. Must be between 18 to 125 years old. |
ssn | conditional | string | Last four digits or full 9-digit Social Security Number (SSN). Required for US residents. If omitted, a passport object is required. |
address | yes | object | A Controller Address JSON Object containing the Controller’s full physical address. Reference: Controller Address JSON Object. |
passport | conditional | object | A Controller Passport JSON Object. Required for non-US individuals. Includes Passport Identification Number and Country. Reference: Controller Passport JSON Object. |
Parameter | Required | Type | Description |
---|---|---|---|
address1 | yes | string | Street number and name of Controller’s physical address. Must be ≤ 50 characters. Cannot contain special characters [<>="`!?%~${}\] . PO Boxes are not allowed. |
address2 | no | string | Apartment, floor, suite, or building number of Controller’s physical address. Must be ≤ 50 characters. Cannot contain special characters [<>="`!?%~${}\] . PO Boxes are not allowed. |
address3 | no | string | Third line of the address, if applicable. Must be ≤ 50 characters. Cannot contain special characters [<>="`!?%~${}\] . PO Boxes are not allowed. |
city | yes | string | City name of Controller’s physical address. Must be ≤ 50 characters. Cannot contain numbers or special characters [<>="`!?%~${}\] . |
stateProvinceRegion | yes | string | US Persons - Two-letter US state abbreviation. See the US Postal Service guide. Non-US Persons - Two-letter ISO abbreviation for state, province, or region. See the ISO guide. If a country does not have a two-letter abbreviation for a state/province, use the country’s two-letter ISO code instead. Must be uppercase (e.g., CA ). |
postalCode | conditional | string | US Persons - Must provide a 5-digit ZIP code (e.g., 12345 ) or ZIP+4 code (e.g., 12345-6789 ). Non-US Persons - Optional. Can include alphanumeric postal codes where applicable. |
country | yes | string | Two-letter ISO country code (e.g., US for United States, CA for Canada). Reference the ISO country codes list. |
Parameter | Required | Type | Description |
---|---|---|---|
number | conditional | string | Required if the controller is a non-US person and does not have a Social Security Number (SSN). Must be ≤ 255 characters. |
country | conditional | string | Country where the passport was issued. Must be a two-letter ISO country code (e.g., GB for United Kingdom, IN for India). |
Once you submit this request, Dwolla will perform some initial validation to check for formatting issues such as an invalid date of birth, invalid email format, etc. If successful, the response will be a HTTP 201/Created with the URL of the new Customer resource contained in the Location header.
POST https://api-sandbox.dwolla.com/customers
Content-Type: application/vnd.dwolla.v1.hal+json
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer 0Sn0W6kzNic+oWhDbQcVSKLRUpGjIdl/YyrHqrDDoRnQwE7Q
{
"firstName": "Account",
"lastName": "Admin",
"email": "accountAdmin@email.com",
"ipAddress": "143.156.7.8",
"type": "business",
"address1": "99-99 33rd St",
"city": "Some City",
"state": "NY",
"postalCode": "11101",
"controller": {
"firstName": "John",
"lastName": "Controller",
"title": "CEO",
"ssn": "6789",
"dateOfBirth": "1980-01-31",
"address": {
"address1": "1749 18th st",
"address2": "apt 12",
"city": "Des Moines",
"stateProvinceRegion": "IA",
"postalCode": "50266",
"country": "US"
}
},
"businessClassification": "9ed3f670-7d6f-11e3-b1ce-5404a6144203",
"businessType": "llc",
"businessName":"Jane Corp",
"ein":"00-0000000"
}
HTTP/1.1 201 Created
Location: https://api-sandbox.dwolla.com/customers/62c3aa1b-3a1b-46d0-ae90-17304d60c3d5
You have created a business verified Customer; however, the successful creation of a business verified Customer doesn’t necessarily mean the Customer account is verified. Businesses may need to provide additional information to help verify their identity. It is important to check the status of the business Customer to determine if additional documentation is needed.
GET https://api-sandbox.dwolla.com/customers/62c3aa1b-3a1b-46d0-ae90-17304d60c3d5
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
...
{
"_links": {
"verify-beneficial-owners": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14/beneficial-owners",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "beneficial-owner"
},
"beneficial-owners": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14/beneficial-owners",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "beneficial-owner"
},
"deactivate": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "customer"
},
"self": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "customer"
},
"receive": {
"href": "https://api-sandbox.dwolla.com/transfers",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "transfer"
},
"edit-form": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14",
"type": "application/vnd.dwolla.v1.hal+json; profile=\"https://github.com/dwolla/hal-forms\"",
"resource-type": "customer"
},
"edit": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "customer"
},
"certify-beneficial-ownership": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14/beneficial-ownership",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "beneficial-ownership"
},
"funding-sources": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14/funding-sources",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "funding-source"
},
"transfers": {
"href": "https://api-sandbox.dwolla.com/customers/d56c07fa-3832-427d-bb88-a9eb2d375c14/transfers",
"type": "application/vnd.dwolla.v1.hal+json",
"resource-type": "transfer"
}
},
"id": "d56c07fa-3832-427d-bb88-a9eb2d375c14",
"firstName": "Account",
"lastName": "Admin",
"email": "accountAdmin@email.com",
"type": "business",
"status": "verified",
"created": "2018-04-26T19:11:41.290Z",
"address1": "99-99 33rd St",
"city": "Some City",
"state": "NY",
"postalCode": "11101",
"businessName": "Jane Corp",
"controller": {
"firstName": "John",
"lastName": "Controller",
"title": "CEO",
"address": {
"address1": "1749 18th st",
"address2": "apt 12",
"city": "Des Moines",
"stateProvinceRegion": "IA",
"country": "US",
"postalCode": "50266"
}
},
"businessType": "llc",
"businessClassification": "9ed3f670-7d6f-11e3-b1ce-5404a6144203"
}
You will want to ensure that both your Controller and your Business have been verified, as the Customer will be unable to send or receive funds until then. If the Customer is in retry
or document
status, head to the next step to learn how to handle these statuses.
All funds transfers made using the Dwolla Platform are performed by a financial institution partner, and any funds held in a Dwolla Balance are held by a financial institution partner. Learn more about our financial institution partners.