KYB
KYB (Know Your Business) flow can be used for enrolling customers who own small businesses.
KYB Overview
Partners who are configured for KYB flow can enroll customers who own small businesses.
Please note that an optional node, businessData, will be available under the encryptedUserData payload.
Successful Business Enrollment
- The accountType, businessData (required fields), and business phone number is provided by the customer during enrollment.
- POST /programs/{programCode}/enrollments is submitted and processed.
- The customer’s account is created and activated, including paymentInstruments.
Response Codes
Scenario | HTTP Status Code | Code | subCode | Description |
---|---|---|---|---|
When POST /enrollments is submitted and processed and businessData required fields are missing. | 400 | 200 | 0 | property name is required |
When POST /enrollments is submitted and processed and the account Type provided is: • consumer or • Is not provided at all (defaults to consumer) and businessData node is provided | 400 | 630 | 0 | businessData is only valid when accountType is "business” |
Active Small Business Account Limits
Social Security Number (SSN) Limits
- Up to 10 active accounts with the same SSN per program is allowed
- Up to 20 lifetime accounts with the same SSN per program are allowed
Phone Limits
The following phone limits will be implemented (during enrollment) only for the phone number that is listed as the default for the account:
- Up to 10 active accounts with the same phone number per program are allowed
- Up to 20 lifetime accounts with the same phone number per program are allowed
ITIN Limits
- Up to 10 active accounts with the same ITIN per program are allowed
- Up to 20 lifetime accounts with the same ITIN per program are allowed
Refer to Active Consumer Account Limits for details about consumer account limit thresholds.
Response Codes
Account Type | Scenario | Code | SubCode | Description |
---|---|---|---|---|
Business | More than 10 active accounts are created with the same phone number per program. | 2 | 63 | Maximum number of active accounts with the same phone number. |
Business | More than 20 lifetime accounts are created with the same phone number. | 2 | 66 | Maximum number of accounts over a lifetime with the same phone number. |
Business | The limit of active accounts with the same SSN or ITIN is exceeded. | 2 | 60 | Number of Active Accounts Exceeded. |
Business | The limit of lifetime accounts with the same SSN or ITIN is exceeded. | 2 | 61 | Number of Activated Accounts over Lifetime exceeded. |
Sample Request: - POST /programs/{programCode}/enrollments
{
"user":{
"encryptedUserData":{
"version":"EC_v1",
"ephemeralPublicKey":"AABBBCC ==",
"publicKeyHash":"abc123=",
"data":"encryptedString”
},
"termsAcceptances": [{
"termsIdentifier": "termsAndConditions",
"termsAcceptanceDateTime": "2019-10-22T00":"21":18.847Z"
}]
},
"account": {
"accountType":"business",
"productCode": "99999",
Sample Unencrypted Business Data Object
{
"businessData": {-- required if accountType is “business”, but otherwise must be excluded.
"businessName": "Acme Corporation",
"businessLegalName": "Acme United Corporation LLC", -- Required if different from businessName.
"businessEmbossedName": "ACME UNT CORP", -- Optional, if you want to override the use of "businessName" on the card.
"businessAddressLine1": "100 Main St.",
"businessAddressLine2": "Suite 100", -- optional
"businessCity": "Pasadena",
"businessState": "CA",
"businessZipCode": "91107",
"businessCountryCode": "USA",
"businessType": "soleProp", -- required.
"businessTaxID": "1234567", -- optional for soleProp
"businessIndustry": "12345", -- Cannot be retrieved. Passed to Green Dot’s backend fraud system as optional business metadata.
"avgMonthlyProcessingVolume": 1234567.12, -- Cannot be retrieved. Passed to Green Dot’s backend fraud system as optional business metadata.
"businessEmailAddress": "[email protected]" -- optional. Only provide if distinct from the user’s email address which should be provided under the email node.
"URL": "http"://www.acmecorpA7E.com", -- Cannot be retrieved. Passed to Green Dot’s backend fraud system as optional business metadata.
},
"profileData": {
"firstName": "Alice",
"middleName": "Mary",
"lastName": "Jones",
"addresses":
[{
"addressLine1": "215 Main St.",
"addressLine2": "Suite 200",
"city": "Pasadena",
"state": "CA",
"zipCode": "91107",
"countryCode": "USA",
"type": "home",
"isDefault": true
}]
},
"identifyingData": {
"ssn": "555555555",
"dateOfBirth": "1990-01-20"
},
"email": {
"emailAddress": "[email protected]" -- re-use business email if no personal email.
},
"phoneNumbers": [{
"number": "3105555555",
"type": "mobile",
"isDefault": true
}]
}
Business Data Schema Validations - business Data Node
Property | Minimum Length | Maximum Length | Valid Characters/Values |
---|---|---|---|
businessName | 1 | 100 | In general: Allowable values for name fields are ascii 32 to 126. ASCII characters that are not allowed (decimal representation) are: • 33-38 • 40-43 • 47 • 58-64 • 91-96 • 123-126 |
businessLegalName | N/A | N/A | • For small business programs, businessLegalName will be an optional parameter during enrollment. • If "businessName" is your DBA name or not the name on your corporate document, then provide the exact legal name as the "businessLegalName" property. |
businessEmbossedName | N/A | N/A | Optional value, if you want to override the use of "businessName" on the card. |
businessAddressLine1 | 1 | 40 | In general: Allowable values for city and address are ASCII 32 - 126 and 192 - 255. Address exceptions (disallowed): 33-34, 36-37, 42-43, 58-64, 91-96, 123-126, 215, 247 and address specific: 217-220 |
businessAddressLine2 | Optional. 1 if provided | 40 | Same as address line 1 |
businessCity | 1 | 25 | City ASCII exceptions (disallowed): 33-34, 36- 37, 42-43, 58-64, 91-96, 123-126, 215, 247 |
businessState | 1 | 2 | Deferred to a future sprint |
businessZipCode | 5 | 5 (truncated) | The 1st 5 characters must be digits and it must be 5 digits long. Any characters after the first 5 digits will be truncated. |
businessCountryCode | 3 | 3 | USA |
businessType | enum | N/A | • ConsumerProfileType • Individual • soleProp • llc • corp • partnership • nonprofit • SingleLLC • ProCorp |
businessTaxID | Optional. 9 if provided. | 9 | Description not available. |
businessIndustry | Optional. 1 if provided | 20 | Note: Cannot be retrieved by the Partner. Passed to Green Dot’s backend fraud system as optional business metadata. |
avgMonthlyProcessingVolume | Optional | N/A | Note: Cannot be retrieved by the Partner. Passed to Green Dot’s backend fraud system as optional business metadata. |
businessEmailAddress | Optional | N/A | Valid email if provided |
URL | Optional | N/A | Note: Cannot be retrieved by the Partner. Passed to Green Dot’s backend fraud system as optional business metadata. |
Note: Refer to the Valid Characters for Names, Cities, and Addresses table for additional details.
Response Codes - Length Validation
Type of Response Codes | HTTP Status Code | Code | subCode | Property |
---|---|---|---|---|
Length Validation | 400 | 400 | 507 | businessName |
Length Validation | 400 | 400 | 504 | city |
Length Validation | 400 | 400 | 505 | addressLine1 |
Length Validation | 400 | 400 | 506 | addressLine2 |
Length Validation | 400 | 400 | 0 | zipCode |
Length Validation | 400 | 400 | 0 | businessState |
Length Validation | 400 | 400 | 0 | businessZipCode |
Length Validation | 400 | 400 | 0 | businessTaxID |
Length Validation | 400 | 400 | 0 | businessIndustry |
Invalid Character Validation | 400 | 640 | 507 | businessName |
Invalid Character Validation | 400 | 640 | 504 | city |
Invalid Character Validation | 400 | 640 | 505 | addressLine1 |
Invalid Character Validation | 400 | 640 | 506 | addressLine2 |
Additional Validation Errors | 400 | 350 | N/A | Invalid Business Zip Code |
Additional Validation Errors | 400 | 740 | N/A | Invalid URL Format |
Additional Validation Errors | 400 | 750 | N/A | Invalid Email Format |
Additional Validation Errors | 400 | 600 | N/A | Invalid Business Country Code |
Additional Validation Errors | 400 | 600 | N/A | Invalid Business Type |
Additional Validation Errors | 400 | 300 | N/A | Invalid Avg Monthly Processing Volume |
Business Profile API Endpoints
This endpoint allows the retrieval of business data associated with a business account.
Response Codes
Scenario | Code | HTTP Status Code | subCode | Description |
---|---|---|---|---|
The account does not have a business profile. | 10 | 404 | 0 | Business profile not found |
This endpoint allows Partners to update the business data associated with a business account.
This endpoint can be used with the following businessTypes:
- ConsumerProfileType
- Individual
- soleProp
- llc
- corp
- partnership
- nonprofit
- SingleLLC
- ProCorp
If the businessName on the account is updated, then the next card replacement request will use the updated businessName.
Currently, both plaintext and encryption are supported; If both plaintext and encryption have values, the encrypted data is processed first and the plaintext is no longer processed.
Response Codes
Scenario | Code | HTTP Status Code | subCode | Description |
---|---|---|---|---|
The businessType in the request is not one of the following: • ConsumerProfileType • Individual • soleProp • llc • corp • partnership • nonprofit • SingleLLC • ProCorp | 600 | 400 | 0 | Invalid businessType |
Invalid account information is provided in the request | 10 | 404 | 0 | Account Not Found. |
Invalid businessName provided | 400 | 400 | 507 | businessName min or max length |
This endpoint allows the retrieval of business data associated with a business account.
This endpoint retrieves business data.
This endpoint saves the business address.
This endpoint sets the profile owner for the business.
This endpoint updates the business profile owner.
This endpoint deletes the business profile owner.
This endpoint saves the info for the business.
This endpoint retrieves the metadata for the business.
This endpoint saves the application for the business.
Updated 20 days ago