Verifying a business’ identity enables increased functionality on the platform. Create a business Customer that can receive funds and send up to $10,000 per transfer (default).
Creating a Business Verified Customer
Handling Business Verified Customer Statuses
Adding Beneficial Owner(s)
Certify Beneficial Ownership
Business Structure | Dwolla businessType Value | Controller Required? | Add Beneficial Owners? | Certify Beneficial Ownership? |
---|---|---|---|---|
Sole proprietorships | soleProprietorship | No | No (exempt) | No (exempt) |
Unincorporated association | soleProprietorship | No | No (exempt) | No (exempt) |
Trust | soleProprietorship | No | No (exempt) | No (exempt) |
Corporation | corporation | Yes | Yes (if owns 25%+) | Yes |
Publicly traded corporations | corporation | Yes | No (exempt) | Yes |
Non-profits | corporation or llc | Yes | No (exempt) | Yes |
LLCs | llc | Yes | Yes (if owns 25%+) | Yes |
Partnerships, LP’s, LLP’s | partnership | Yes | Yes (if owns 25%+) | Yes |
"businessType": "soleProprietorship"
customer_created
customer_verified
Business Type | Business Entity | Controller | Business Owner |
---|---|---|---|
Sole Proprietorship | Identity verified | N/A | Identity verified |
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. |
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 |
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). |
retry
or document
status, head to the next step to learn how to handle these statuses.
Customer status | Event Topic Name | Transaction restricted? | Description |
---|---|---|---|
verified | customer_verified | No | The identifying information submitted was sufficient in verifying the Customer account. |
retry | customer_reverification_needed | Yes - Cannot send funds | The initial identity verification attempt failed because the information provided did not satisfy Dwolla’s verification check. You can make one additional attempt by changing some or all the attributes of the existing Customer with a POST request. All fields are required on the retry attempt. If the additional attempt fails, the resulting status will be either document or suspended . |
document | customer_verification_document_needed | Yes - Cannot send funds | Dwolla requires additional documentation to identify the Customer in the document status. Once a document is uploaded it will be reviewed for verification. |
suspended | customer_suspended | Yes - Cannot send or receive funds | The Customer is suspended and may neither send nor receive funds. Contact Account Management for more information. |
_embedded.errors
array of the Retrieve a Customer response. These directives explain the outstanding requirements for verification, provide actionable instructions, and include hypermedia links (_links
) to enable resolution. By parsing and utilizing these directives, you can build a dynamic and user-friendly interface that guides your end-users through the necessary steps, minimizing onboarding friction and reducing support overhead.
_embedded.errors
array represents a single Verification Directive and follows this structure:
_links
object may be returned if no direct API action corresponds to the directive (e.g., for AdditionalReviewRequired).Code | Message | Primary Action(s) |
---|---|---|
Required | Full SSN required. | Retry Customer verification with full SSN |
POBoxNotAllowed | Business addresses must be physical street addresses. PO Boxes are not allowed. Please update to a physical address. | Update Customer Address |
AddressNotAssociatedWithBusiness | The business address provided does not match information in public records. Please update to a valid business address or upload proof of address documentation. | Update Customer Address OR Upload Proof of Address |
ResidentialAddressRequired | Invalid address type for controller. Residential address required. Please enter a valid residential address for the controller. Please note, PO Boxes cannot be used for verification purposes. | Update Controller Address |
AdditionalReviewRequired | Account verification is now under review. This review can take up to 2-3 business days. An account update event will detail the verification status and any required actions. | Wait for Update Event (No immediate API action) |
EINMismatch | The provided Employer Identification Number (EIN) does not match the EIN on the business documentation previously uploaded for verification. Please update the EIN to match the EIN letter or official business document provided. | Update Customer EIN |
LegalDBAMismatch | Business name and Doing Business As (DBA) do not match the uploaded documentation. Please correct the Legal/Registered Name and DBA fields to align with the documentation provided. | Update Customer Legal Name/DBA Name |
BusinessDBAMismatch | The provided Doing Business As (DBA) name does not match the business documentation. Please correct the DBA Name to align with the documentation provided. | Update Customer DBA Name |
BusinessAddressDocRequired | Proof of business address is required. Please upload a document showing the business name and address as registered (e.g., Utility Bill, Financial Statement, Tax Statement, Lease Agreement). | Upload Business Address Document |
EINDocumentRequired | EIN Letter is required to verify the business. Please upload an EIN assignment letter or an official business document showing the full business name and EIN. | Upload EIN Document |
BusinessFormationDocRequired | Business formation documents are required to verify good standing. Please upload Articles of Organization/Incorporation from the state of registration. | Upload Business Formation Document |
PersonalIDRequired | Personal ID is required for account verification. Please upload a valid personal ID. | Upload Personal ID Document |
CoWorkingAddress | The provided business address is a co-working location. Please provide a proof of address document for this location or update to a residential address if operating remotely (e.g., Utility Bill, Financial Statement, Tax Statement, Lease Agreement). | Upload Business Address Document OR Update Address |
RegisteredAgentAddressNotAllowed | The provided business address leads to a Registered Agent, not the business itself. Please update to a physical business address or, if the business is remote, use the residential address of the Controller or a Beneficial Owner. | Update Customer Address |
SOSNotInGoodStanding | We could not verify that this business is in good standing with the Secretary of State for the registered state. All business entities must be active and in good standing to proceed. | Update Customer Information |
ForeignPassportNumberRequired | A foreign passport has been provided for verification of the controller. Please provide the foreign passport number to complete the verification process. | Update Controller Info |
SOSStateMismatch | We could not verify the state in which this business is registered. Please update the business address to ensure it matches the registered state. | Update Customer Address |
BusinessNameMismatch | The provided business name does not match the name on the uploaded business documentation. Please update the business name to match the uploaded document. | Update Customer Legal Name |
_embedded.errors
array might look in a GET /customers/{id}
response when multiple issues require attention:
_embedded.errors
array can contain multiple Verification Directive objects simultaneously if several issues require attention. Your application should iterate through the entire errors array, presenting the guidance from each message to the end-user and providing access to all corresponding actions via the _links
. Addressing all listed directives is necessary for the user to successfully complete the verification process.
retry
statusretry
status occurs when a Customer’s identity scores are too low during a verification attempt. Typically, a retry
status occurs after the initial creation of a business-verified customer, however, a customer can also be placed into a retry status via the Dwolla Dashboard if the customer is in a document
status. When the customer is in the retry
status, your application needs to re-initiate the verification process by prompting the user via a form to resubmit their identifying information.
retry
status; simply passing the same information will result in
the same insufficient scores.retry
verification status, Dwolla will return a link in the API response after retrieving a Customer. The retry link contained within the _links
object of the response helps your application determine if a retry is needed and what type of retry is required. What data you need to request from the customer depends on the retry scenario:
retry-verification
link is returned. Include all fields required during initial customer but omit Controller information. For business verified Customers with Controllers, different links can be returned depending on whether retry is needed for just the business, or both the Controller and business.
retry-with-full-ssn
link is returned. If the Controller information needs to be retried, all fields that were required in the initial Customer creation attempt will be required in the retry attempt, along with the full 9-digit SSN of the Controller in order to give our identity vendor more information in an attempt to receive a sufficient score to approve the Customer account (see example request below).
_embedded
errors are included in the Customer resource which include information about the next steps required to get the Customer verified (see example response below). Refer to the table below for the list of possible links and their descriptions.
Link name | Description |
---|---|
retry-verification | Identifies if retry information is needed for the business. |
retry-with-full-ssn | Identifies if retry information is needed for both the Controller and business. |
retry-verification
) - Request and responseretry-verification
) - Request and responseretry-with-full-ssn
) - Request and responsedocument
statusdocument
, the Customer will need to upload additional pieces of information in order to verify the account. Use the create a document endpoint when uploading a colored camera captured image of the identifying document. The document(s) will then be reviewed by Dwolla; this review may take up to 1-2 business days to approve or reject.
You can provide the following best practices to the Customer in order to reduce the chances of a document being rejected:
document
verification status, Dwolla will return a link in the API response after retrieving a Customer, which will be used by an application to determine if documentation is needed. For business verified Customers, different links can be returned depending on whether or not documents are needed for a Controller, the business, both the Controller and business, or for the DBA (Doing Business As). Additionally, embedded errors are included in the Customer resource which include information about the next steps required to get the Customer verified (see example response below). Refer to the table below for the list of possible links and their description. Refer to the acceptable document types section for more information on what types of documents are accepted for businesses and Controllers.
Link name | Description |
---|---|
verify-with-document | Identifies if documents are needed only for a Controller. |
verify-business-with-document | Identifies if documents are needed only for a business. |
verify-controller-and-business-with-document | Identifies if documents are needed for both the Controller and business. |
upload-dba-document | Identifies if documents are needed for a business’s DBA (Doing Business As). |
license
(state issued driver’s license), or idCard
(U.S. government-issued photo id card).
Supported Document Examples:
passport
. Examples include:
other
. Note: A DBA document should be issued by the government and should include the DBA name along with the state registered business name. Business Identifying documents we recommend uploading can include the following:
idCard
, license
or passport
depending on the type of the ID. Business documents need to be specified as documentType other
. Acceptable documents include one or more of the following, as applicable to your sole proprietorship:
other
):
license
, passport
or idCard
):
https://api.dwolla.com/customers/{id}/documents
. The file must be either a .jpg, .jpeg, or .png. Files must be no larger than 10MB in size. Additionally, Business Documents can also be uploaded in a .pdf format.
You’ll also get a with a customer_verification_document_uploaded
event to let you know the document was successfully uploaded.
customer_verification_document_approved
or customer_verification_document_failed
event.
If the document was sufficient, the Customer may be verified in this process. If not, we may need additional documentation. Note: Reference the determining verification documents needed section for more information on determining if additional documents are needed after an approved or failed event is triggered.
If the document was found to be fraudulent or doesn’t match the identity of the Customer, the Customer will be suspended.
.jpg
or .png
file supplied was not readable (i.e. blurry, not well lit, not in color, or cuts off a portion of the identifying image). If you receive a customer_verification_document_failed
webhook, you’ll need to upload another document. To retrieve the failure reason for the document upload, you’ll retrieve the document by its ID. Contained in the response will be a failureReason
field which corresponds to one or more of the following values. In case of a failure due to multiple reasons, an additional allFailureReasons
of reason
s and description
s is also returned:
Failure reason | Description | Detailed description |
---|---|---|
BusinessDocNotSupported | Business document not supported | The business document provided is not supported for verification. Please request approved business documentation from the end user for verification. |
BusinessNameMismatch | Business name on account does not match document | The legal business name listed in the documentation uploaded does not match the Registered Business Name on the account. The account has been moved to retry so that the business name listed at the account level can be adjusted to match the business documentation which was uploaded. |
BusinessTypeMismatch | Business type chosen does not match document | Based on the documentation provided, the entity type for this business should be created as a/an (LLC, Corporation, Sole Prop). The account has been moved to retry so that the correct business type (LLC, Corporation, Sole Prop etc.) can be submitted. |
ScanDobMismatch | Scan DOB does not match DOB on account | The DOB listed on the ID uploaded does not match the DOB on the user’s account. The account has been placed in retry so that the user can adjust the DOB listed on the account to match the ID which was provided. |
ScanFailedOther | ID may be fraudulent or a generic example ID image | The ID uploaded may be fraudulent or a generic example of an ID. The user needs to upload a valid ID to proceed with account verification. |
ScanIdExpired | ID is expired or missing expiration date | The ID uploaded by the user is expired. The user will need to upload a non-expired ID. |
ScanIdTypeNotSupported | ID may be a military ID, firearm license, or other unsupported ID type | The uploaded ID is not an acceptable form of ID. Here is a list of ID types that Dwolla accepts for account verification. |
ScanIdUnrecognized | ID is not recognized | The ID which has been uploaded is unreadable. The user will need to upload a new image of their ID to proceed with verification. |
ScanNameMismatch | Scan name does not match name on account | The name listed on the ID which has been uploaded by the user does not match the name which is listed at the account level. The account has been placed in retry so that the user can adjust the name on the account to match the ID which was provided. |
ScanNotReadable | Image blurry, too dark, or obscured by glare | The uploaded ID is blurry, cutoff, or unreadable. The user will need to upload a clear, color, camera-captured image of their ID to proceed with verification. Here are some best practices related to document uploads. |
ScanNotUploaded | Scan not uploaded | The uploaded image is not an ID. The user will need to upload an image of a valid ID to proceed. Here is a list of valid ID’s that Dwolla accepts for account verification. |
suspended
, there’s no further action you can take to correct this using the API. You’ll need to contact support@dwolla.com or your account manager for assistance.
The successful creation of a business verified Customer and Controller doesn’t necessarily mean the Customer is fully verified and eligible to transfer. After successfully creating your business verified Customer, you will need to check to see if the beneficial ownership requirements apply to you. To learn how to add beneficial owner(s) to your Customer, read on in the next step.
If my Customer’s business structure is… | …are they required to add beneficial owners? |
---|---|
Sole proprietorships | No (exempt) |
Unincorporated association | No (exempt) |
Trust | No (exempt) |
Corporation | Yes (if owns 25% or more) |
Publicly traded corporations | No (exempt) |
Non-profits | No (exempt) |
LLCs | Yes (if owns 25% or more) |
Partnerships, LP’s, LLP’s | Yes (if owns 25% or more) |
customer_beneficial_owner_created
customer_beneficial_owner_verified
Parameter | Required | Type | Description |
---|---|---|---|
firstName | yes | string | Legal first name of the Beneficial Owner. Must be ≤ 50 characters. Cannot contain numbers or special characters [<>="`!?%~${}\] . |
lastName | yes | string | Legal last name of the Beneficial Owner. Must be ≤ 50 characters. Cannot contain numbers or special characters [<>="`!?%~${}\] . |
ssn | conditional | string | Full 9-digit SSN required only for US persons. Must be exactly 9 digits (e.g., 123456789 ). No dashes or separators. |
dateOfBirth | yes | string | Date of birth of the Beneficial Owner. Formatted as YYYY-MM-DD . Must be between 18 to 125 years of age. |
address | yes | object | Physical address of the Beneficial Owner. See Address JSON Object. |
passport | conditional | object | Required for non-US persons. Includes passport number and issuing country. See Passport JSON Object. |
Parameter | Required | Type | Description |
---|---|---|---|
address1 | yes | string | First line of the street address of the Beneficial Owner’s permanent residence. PO Boxes are not allowed. Must be ≤ 50 characters and contain no special characters [<>="`!?%~${}\] . |
address2 | no | string | Second line of the street address. PO Boxes are not allowed. Must be ≤ 50 characters and contain no special characters [<>="`!?%~${}\] . |
address3 | no | string | Third line of the street address. PO Boxes are not allowed. Must be ≤ 50 characters and contain no special characters [<>="`!?%~${}\] . |
city | yes | string | City of the Beneficial Owner’s permanent residence. Must be ≤ 50 characters. Cannot contain numbers or special characters [<>="`!?%~${}\] . |
stateProvinceRegion | yes | string | US persons - Two-letter US state abbreviation of the Beneficial Owner’s physical address. See the US Postal Service guide. Non-US persons - Two-letter state, province, or region ISO abbreviation. If no two-letter abbreviation exists, use the country’s ISO 2-letter abbreviation. Must be uppercase (e.g., CA ). |
country | yes | string | Country of the Beneficial Owner’s permanent residence. Two-digit ISO country code (e.g., US for United States, CA for Canada). See the ISO country codes list. |
postalCode | conditional | string | Postal code of the Beneficial Owner’s permanent residence. US persons must provide a 5-digit ZIP code (e.g., 50314 ). Non-US persons - Optional, but may include alphanumeric postal codes where applicable. |
Parameter | Required | Type | Description |
---|---|---|---|
number | conditional | string | Required if Beneficial Owner resides outside of the United States and has no Social Security Number. Must be ≤ 255 characters and contain no special characters [<>="`!?%~${}\] . |
country | conditional | string | Country of issued passport. Two-digit ISO country code (e.g., US for United States, CA for Canada). Must be 2 characters (ISO standard). |
incomplete
or document
will impact the business verified Customer’s eligibility to send or receive funds. When a beneficial owner has been successfully verified by Dwolla, the beneficial owner’s status will be set to verified.
Reference the table below for more information on the events that correspond to each of the beneficial owner statuses:
Individual Beneficial Owner Status | Event Topic Name | Transaction Restricted? | Description |
---|---|---|---|
Verified | customer_beneficial_owner_verified | No | Beneficial owner has been identity verified. |
Document | customer_beneficial_owner_document_needed | Yes - Cannot send funds | Beneficial owner must upload a document in order to be verified. |
Incomplete | customer_beneficial_owner_reverification_needed | Yes - Cannot send funds | The initial verification attempt failed because the information provided did not satisfy our verification check. You can make one additional attempt by changing some or all the attributes of the existing Customer with an update request. |
verified
, as the business verified Customer will be unable to send or receive funds until the owner has a verified status.
incomplete
statusincomplete
status occurs when a beneficial owner’s identity scores are too low during the initial verification attempt. Dwolla will trigger a customer_beneficial_owner_reverification_needed
event which notifies your application to prompt the Customer to submit another identity verification attempt for the beneficial owner. The second attempt will give our identity vendor more accurate information in an attempt to receive a sufficient score to approve the beneficial owner. The Customer will only have one opportunity to correct any mistakes.
incomplete
status; simply passing the same information will result in the same insufficient scores. All fields that were required in the initial beneficial owner creation attempt will be required in the incomplete
attempt.verified
or document
state of verification.
document
statusincomplete
status and submitting a second verification attempt, the only other state the beneficial owner can be in is document
. If the beneficial owner has a status of document
, they will need to upload additional pieces of information in order to verify their identity. Use the create a document endpoint when uploading a colored camera captured image of the identifying document. The document(s) will then be reviewed by Dwolla; this review may take anywhere from a few seconds up to 1-2 business days if manual verification is required to approve or reject.
You can provide the following best practices to the Customer in order to reduce the chances of a document being rejected:
documents
neededlicense
(state issued driver’s license), or idCard
(U.S. government-issued photo id card). Examples include:
passport
. Examples include:
beneficial_owner_verification_document_uploaded
event to let you know the document was successfully uploaded.
incomplete
.
If an individual beneficial owner with a status of verified
needs to update their information, that beneficial owner will first need to be removed and re-added.
If my Customer’s business structure is… | …are they required to certify beneficial ownership? |
---|---|
Sole proprietorships | No (exempt) |
Unincorporated association | No (exempt) |
Trust | No (exempt) |
Corporation | Yes |
Publicly traded corporations | Yes |
Non-profits | Yes |
LLCs | Yes |
Partnerships, LP’s, LLP’s | Yes |
certified
, Dwolla will return a link in the API response after retrieving a Customer. If no certification link is returned, the Customer is either already certified
, or is exempt from certification.
Link name | Description |
---|---|
certify-beneficial-ownership | Indicates that certification is required for this Customer |
certification_status | Transaction Restricted? | Description |
---|---|---|
uncertified | Yes - Cannot send funds | New business verified Customers that are not exempt are initially placed in an uncertified status. |
recertify | No, for up to 30 days | Business verified Customers that are certified and change owner information, OR Business verified Customers that Dwolla needs to obtain more information from relating to beneficial owners are placed in this status. |
certified | No | Confirms the certification of beneficial owners. |
certified
, the Account Admin creating the business verified Customer is indicating that all information is correct. After the Account Admin certifies that the information provided is accurate and the information the Account Admin submitted has been verified through the identity verified process, your business verified Customer is now ready to transact within the Dwolla network.
recertify
statusrecertify
.
Instances that you will see your certified
business verified Customer change to recertify
are as follows:
incomplete
statusrecertify
beneficial ownership status, they will have up to thirty days to update and verify their beneficial owners’ information and update their status to certified
. If the certification status isn’t updated within this timeframe, the business verified Customer will have its certification_status
changed to uncertified
, leaving the Customer unable to transact.
Q: How do I determine if my Customer is fully verified and eligible to start transacting?
You can determine the eligibility of the customer to start transacting in
the Dwolla platform by the presence of the send
and
receive
links in the customer resource.send
- Denotes that the customer is eligible to start sending
funds if they have a verified funding-source attached.receive
- Denotes that the customer is eligible to receive
funds into their Dwolla balance or an attached bank funding-source.
Note: Until the following actions have been completed, any
funds received by the Customer will remain in their Dwolla Balance unable to
be withdrawn or sent to another Customer or Account:
Q: My Customer has a retry status. What activity would they be able to engage in while being in retry status, as it relates to the Dwolla Platform?
pending
until the Customer has
been verified.Q: My Customer has a document status. What activity would they be able to engage in while being in document status, as it relates to the Dwolla Platform?
pending
until the Customer has
been verified.Q: My Customer has a deactivated or suspended status. What activity would they be able to engage in while being in deactivated or suspended status, as it relates to the Dwolla Platform?
Q: My Customer has a verified status, but is unable to send funds. Why is this?
Your Customer has likely not completed the bank verification process. You can check to see the status of the funding sourcevia the APIor by going into the Dwolla dashboard.
Q: Can I change a Business Verified Customer type to an Unverified Customer type?
No. Downgrade functionality is not supported for Dwolla Verified Customers.
Q: My Customer has a document status. Can I submit more than one document via the API?
Yes, although this is not necessary, nor recommended. Dwolla manually reviews all documents, so sending more documents than necessary may slow down the verification process for your Customers.
Q: My end user is not a US resident, can they still create a Personal Verified Customer via the API to access my application?
No. At this time, Dwolla will create Business Verified Customers when they have a proper business EIN or SSN (for Sole Proprietorships only).
Q: My Business Verified Customer is `verified` and my Beneficial Owners are `verified` but they cannot send funds. Why is this?
Your Customer will need to certify
beneficial ownership information before your Customer will be eligible to send funds.
Q: One of my Business Verified Customer's Beneficial Owners is not yet in a `verified` status. What is my Customer's eligibility for certain actions with Dwolla?
pending
until all of the
Beneficial Owners have been verified and certified.Q: When should my Beneficial Owner use `ssn`? When should they use the `passport`?
ssn
.passport
object.