Onboard a business
Endpoint for onboarding a Business Account.
POST /api/v1/revere_pay/signup_entry
Request Parameters
Business Information
| Name | Description | Type | Required |
|---|---|---|---|
| signup_form_id | Ask our Revere Payments Hub admin for your ID. | string | Required |
| external_id | An optional external identifier for the entity with the maximum length of 36 characters. This identifier will be attached to the Hub account. | string | |
| business.business_name | Legal name of the Business. Accepted format: [À-ÖØ-öø-ÿ"'(),.0-9A-Za-z~ &!+-]+ | string | Required |
| business.doing_business_as | A registered trade name under which the Business operates, if different from its legal name. Accepted format: [À-ÖØ-öø-ÿ"'(),.0-9A-Za-z~ &!+-]+ | string | Required |
| business.business_type | Type of the business. Possible values: 'soleProprietorship', 'unincorporatedAssociation', 'trust', 'publicCorporation', 'privateCorporation', 'llc', 'partnership', 'unincorporatedNonProfit', 'incorporatedNonProfit', 'governmentEntity'. | string | Required |
| business.description | Description of the business with the maximum length of 100 characters. Business description or website is required. Accepted format: [a-zA-Z0-9,.\/?:'"|~!@#$%^&*()+_= -]+ | string | Description or Website is Required |
| business.ein | EIN (employer identification number) for the Business. Required for all business types. For soleProprietorship, SSN can be used instead. | string | Required |
| business.ssn | SSN (Social Security Number) for sole proprietors. Can be used instead of EIN when business_type is soleProprietorship. | string | |
| business.industry_mcc | MCC industry code of the Business. | string | Required |
| business.phone.number | Phone number of the Business. | string | Required |
| business.phone.country_code | Country code of the Business' phone number. Supported country code is '1'. | string | Required |
| business.email | Email address of the Business. | string | Required |
| business.website | Website address of the Business. Business description or website is required. | string | Description or Website is Required |
| business.address_line_1 | Address line 1 of the Business' address. Accepted format: [a-zA-Z0-9,.\/?:'"|~!@#$%^&*()+_= -]+ | string | Required |
| business.address_line_2 | Address line 2 of the Business' address. Accepted format: [a-zA-Z0-9,.\/?:'"|~!@#$%^&*()+_= -]* | string | |
| business.city | City of the Business' address. Accepted format: [a-zA-Z0-9,.\/?:'"|~!@#$%^&*()+_= -]+ | string | Required |
| business.subdivision | Subdivision of the Business' address. | string | Required |
| business.postal_code | Postal Code of the Business' address. | string | Required |
Representatives
| Name | Description | Type | Required |
|---|---|---|---|
| business.representatives | An array of Business Representatives. | array | Required |
| business.representatives.first_name | First name of the Representative. | string | Required |
| business.representatives.middle_name | Middle name of the Representative. | string | |
| business.representatives.last_name | Last name of the Representative. | string | Required |
| business.representatives.title | Title of the Representative. Available values: 'mr', 'ms', 'mrs', 'mx'. | string | Required |
| business.representatives.phone.number | Phone number of the Representative. | string | Required |
| business.representatives.phone.country_code | Country code of the Representative's phone number. Supported country code is '1'. | string | Required |
| business.representatives.email | Email address of the Representative. | string | Required |
| business.representatives.address_line_1 | Address line 1 of the Representative's address. | string | Required |
| business.representatives.address_line_2 | Address line 2 of the Representative's address. | string | |
| business.representatives.city | City of the Representative's address. | string | Required |
| business.representatives.subdivision | Subdivision of the Representative's address. | string | Required |
| business.representatives.postal_code | Postal Code of the Representative's address. | string | Required |
| business.representatives.birth_date.year | Year of the Representative's Date of Birth. | uint64 | Required |
| business.representatives.birth_date.month | Month of the Representative's Date of Birth. | uint64 | Required |
| business.representatives.birth_date.day | Day of the Representative's Date of Birth. | uint64 | Required |
| business.representatives.ssn | Social Security Number of the Representative. | string | SSN or ITIN is Required |
| business.representatives.itin | Individual Taxpayer Identification Number of the Representative. | string | SSN or ITIN is Required |
| business.representatives.is_controller | Indicates whether the Representative has controlling authority in the Business. | boolean | Required |
| business.representatives.is_owner | Indicates whether the Representative is an owner of the Business. | boolean | Required |
| business.representatives.ownership_percentage | Indicates the ownership percentage of the Business held by the Representative. | uint64 | Required |
| business.representatives.job_title | Specifies the Representative's job title within the Business. | string | Required |
Legacy Transaction Fields
The following three fields are deprecated. Use the new Underwriting section instead. These fields are still accepted for backward compatibility when the underwriting object is not provided.
| Name | Description | Type | Required |
|---|---|---|---|
| business.average_monthly_transaction_volume | Average monthly transaction volume of the Business. | string | Deprecated Required only when underwriting is not provided |
| business.max_transaction_size | Maximum transaction size the Business can process. | uint64 | Deprecated Required only when underwriting is not provided |
| business.average_transaction_size | Average transaction size of the Business. | uint64 | Deprecated Required only when underwriting is not provided |
Underwriting
When the underwriting object is provided, the legacy fields (average_monthly_transaction_volume, max_transaction_size, average_transaction_size) are ignored. The underwriting object is the recommended approach for new integrations.
| Name | Description | Type | Required |
|---|---|---|---|
| business.underwriting.payment_methods | Payment methods the business will use. At least one value is required. Available values: card, ach. | array | Required |
| business.underwriting.geographich_reach | Geographic reach of the business. Available values: international-only, us-and-international, us-only. | string | Required |
| business.underwriting.business_presence | Type of business presence. Available values: commercial-office, home-based, mixed-presence, mobile-business, online-only, retail-storefront. | string | |
| business.underwriting.pending_litigation | Pending litigation status. See Pending Litigation values. | string | |
| business.underwriting.volume_by_customer_type.b2b | Percentage of volume from B2B customers. Must sum to 100 with b2c and p2p. | uint64 | |
| business.underwriting.volume_by_customer_type.b2c | Percentage of volume from B2C customers. Must sum to 100 with b2b and p2p. | uint64 | |
| business.underwriting.volume_by_customer_type.p2p | Percentage of volume from P2P transactions. Must sum to 100 with b2b and b2c. | uint64 | |
| business.underwriting.collect_funds.ach | ACH collect funds configuration. Required when ach is in payment_methods. | object | |
| business.underwriting.collect_funds.card | Card collect funds configuration. Required when card is in payment_methods. | object | |
| business.underwriting.send_funds.ach | ACH send funds configuration. | object | Required |
| business.underwriting.send_funds.instant_bank | Instant bank send funds configuration. | object | Required |
Collect Funds — ACH
Required when ach is included in payment_methods. Fields are nested under business.underwriting.collect_funds.ach.
| Name | Description | Type | Required |
|---|---|---|---|
| expected_transaction_activity.average_transaction_amount | Average ACH collect transaction amount. | uint64 | Required |
| expected_transaction_activity.maximum_transaction_amount | Maximum ACH collect transaction amount. | uint64 | Required |
| expected_transaction_activity.monthly_volume_range | Monthly volume range. See Monthly Volume Range values. | string | Required |
Collect Funds — Card
Required when card is included in payment_methods. Fields are nested under business.underwriting.collect_funds.card.
| Name | Description | Type | Required |
|---|---|---|---|
| expected_transaction_activity.average_transaction_amount | Average card collect transaction amount. | uint64 | Required |
| expected_transaction_activity.maximum_transaction_amount | Maximum card collect transaction amount. | uint64 | Required |
| expected_transaction_activity.monthly_volume_range | Monthly volume range. See Monthly Volume Range values. | string | Required |
| acceptance_methods.in_person | Percentage of in-person card transactions. Must sum to 100 with online and mail_or_phone. | uint64 | Required |
| acceptance_methods.online | Percentage of online card transactions. Must sum to 100 with in_person and mail_or_phone. | uint64 | Required |
| acceptance_methods.mail_or_phone | Percentage of mail/phone card transactions. Must sum to 100 with in_person and online. | uint64 | Required |
| currently_accepts_card | Whether the business currently accepts card payments. | boolean | Required |
| fulfillment_method | How orders are fulfilled. See Fulfillment Method values. Required when in_person < 80. | string | |
| fulfillment_timeframe | Typical fulfillment timeframe. See Fulfillment Timeframe values. Required when in_person < 80. | string | |
| refund_policy | Business refund policy. See Refund Policy values. Required when in_person < 80. | string |
Send Funds — ACH
Fields are nested under business.underwriting.send_funds.ach.
| Name | Description | Type | Required |
|---|---|---|---|
| expected_transaction_activity.average_transaction_amount | Average ACH send transaction amount. | uint64 | Required |
| expected_transaction_activity.maximum_transaction_amount | Maximum ACH send transaction amount. | uint64 | Required |
| expected_transaction_activity.monthly_volume_range | Monthly volume range. See Monthly Volume Range values. | string | Required |
Send Funds — Instant Bank
Fields are nested under business.underwriting.send_funds.instant_bank.
| Name | Description | Type | Required |
|---|---|---|---|
| expected_transaction_activity.average_transaction_amount | Average instant bank send transaction amount. | uint64 | Required |
| expected_transaction_activity.maximum_transaction_amount | Maximum instant bank send transaction amount. | uint64 | Required |
| expected_transaction_activity.monthly_volume_range | Monthly volume range. See Monthly Volume Range values. | string | Required |
Documents
| Name | Description | Type | Required |
|---|---|---|---|
| business.processing_statements.first_month_file_id | ID of the first processing statement file previously uploaded. See Processing Statement. | string | |
| business.processing_statements.second_month_file_id | ID of the second processing statement file previously uploaded. See Processing Statement. | string | |
| business.processing_statements.third_month_file_id | ID of the third processing statement file previously uploaded. See Processing Statement. | string | |
| business.bank_statements.first_month_file_id | ID of the first bank statement file previously uploaded. See Bank Statement. | string | |
| business.bank_statements.second_month_file_id | ID of the second bank statement file previously uploaded. See Bank Statement. | string | |
| business.bank_statements.third_month_file_id | ID of the third bank statement file previously uploaded. See Bank Statement. | string |
- Processing Statements (3 months) are required when
underwriting.collect_funds.card.currently_accepts_cardistrue. - Bank Statements (3 months) are required when processing statements are not required (i.e., the business does not currently accept card payments).
- When using the legacy fields (without the
underwritingobject), processing statements are always required.
Conditional Field Rules
The following fields become required when geographich_reach is NOT us-only OR when any monthly_volume_range across all sections is above under-10k:
business.underwriting.business_presencebusiness.underwriting.pending_litigationbusiness.underwriting.volume_by_customer_type(b2b,b2c,p2p)
The card fulfillment fields (fulfillment_method, fulfillment_timeframe, refund_policy) become required when acceptance_methods.in_person is less than 80.
Monthly Volume Range Values
| Value | Description |
|---|---|
under-10k | Under $10,000 |
10k-50k | $10,000 - $50,000 |
50k-100k | $50,000 - $100,000 |
100k-250k | $100,000 - $250,000 |
250k-500k | $250,000 - $500,000 |
500k-1m | $500,000 - $1,000,000 |
1m-5m | $1,000,000 - $5,000,000 |
over-5m | Over $5,000,000 |
Fulfillment Method Values
bill-or-debt-payment, digital-content, donation, in-person-service, local-pickup-or-delivery, other, remote-service, shipped-physical-goods, subscription-or-membership
Fulfillment Timeframe Values
immediate, other, over-30-days, pre-order, recurring-schedule, scheduled-event, within-30-days, within-7-days
Refund Policy Values
conditional-refund, custom-policy, event-based-policy, full-refund-extended-window, full-refund-within-30-days, no-refunds, partial-refund, prorated-refund, store-credit-only
Pending Litigation Values
bankruptcy-or-insolvency, consumer-protection-or-class-action, data-breach-or-privacy, employment-or-workplace-disputes, fraud-or-financial-crime, government-enforcement-or-investigation, intellectual-property, none, other, personal-injury-or-medical
Response
| Code | Description |
|---|---|
| 201 | Created |
| 202 | Created, but there was an error sending the confirmation email. Please contact support |
| 400 | Bad Request / Validation error |
| 500 | Internal Error |
Example Usage
- JavaScript
- Python
- Go
const signupFormID = 'YOUR_SIGNUP_FORM_ID';
const body = {
signup_form_id: signupFormID,
business: {
business_name: 'Example Business',
doing_business_as: 'Example',
business_type: 'llc',
description: 'E-commerce and retail services',
ein: '123456789',
industry_mcc: '5732',
phone: {
number: '2015551235',
country_code: '1'
},
email: 'info@example.com',
website: 'https://example.com',
address_line_1: '123 Main St',
address_line_2: 'Suite 400',
city: 'New York',
subdivision: 'NY',
postal_code: '10065',
underwriting: {
payment_methods: ['card', 'ach'],
geographich_reach: 'us-only',
collect_funds: {
ach: {
expected_transaction_activity: {
average_transaction_amount: 5000,
maximum_transaction_amount: 25000,
monthly_volume_range: 'under-10k'
}
},
card: {
expected_transaction_activity: {
average_transaction_amount: 200,
maximum_transaction_amount: 20000,
monthly_volume_range: 'under-10k'
},
acceptance_methods: {
in_person: 80,
online: 15,
mail_or_phone: 5
},
currently_accepts_card: true
}
},
send_funds: {
ach: {
expected_transaction_activity: {
average_transaction_amount: 3000,
maximum_transaction_amount: 15000,
monthly_volume_range: 'under-10k'
}
},
instant_bank: {
expected_transaction_activity: {
average_transaction_amount: 1000,
maximum_transaction_amount: 5000,
monthly_volume_range: 'under-10k'
}
}
}
},
representatives: [
{
first_name: 'Alice',
middle_name: '',
last_name: 'Smith',
title: 'ms',
email: 'alice.smith@example.com',
phone: {
number: '2015559876',
country_code: '1'
},
birth_date: {
year: 1985,
month: 5,
day: 14
},
ssn: '123456789',
address_line_1: '456 Park Ave',
address_line_2: '',
city: 'New York',
subdivision: 'NY',
postal_code: '10022',
is_controller: true,
is_owner: true,
ownership_percentage: 60,
job_title: 'CEO'
}
],
processing_statements: {
first_month_file_id: '{{file1_id}}',
second_month_file_id: '{{file2_id}}',
third_month_file_id: '{{file3_id}}'
}
}
};
fetch('https://api.reverepayments.dev/api/v1/revere_pay/signup_entry', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(body)
})
.then((res) => res.json())
.then((result) => console.log(result))
.catch((err) => console.error(err));
import requests
url = "https://api.reverepayments.dev/api/v1/revere_pay/signup_entry"
payload = {
"signup_form_id": "YOUR_SIGNUP_FORM_ID",
"business": {
"business_name": "Example Business",
"doing_business_as": "Example",
"business_type": "llc",
"description": "E-commerce and retail services",
"ein": "123456789",
"industry_mcc": "5732",
"phone": {
"number": "2015551235",
"country_code": "1"
},
"email": "info@example.com",
"website": "https://example.com",
"address_line_1": "123 Main St",
"address_line_2": "Suite 400",
"city": "New York",
"subdivision": "NY",
"postal_code": "10065",
"underwriting": {
"payment_methods": ["card", "ach"],
"geographich_reach": "us-only",
"collect_funds": {
"ach": {
"expected_transaction_activity": {
"average_transaction_amount": 5000,
"maximum_transaction_amount": 25000,
"monthly_volume_range": "under-10k"
}
},
"card": {
"expected_transaction_activity": {
"average_transaction_amount": 200,
"maximum_transaction_amount": 20000,
"monthly_volume_range": "under-10k"
},
"acceptance_methods": {
"in_person": 80,
"online": 15,
"mail_or_phone": 5
},
"currently_accepts_card": True
}
},
"send_funds": {
"ach": {
"expected_transaction_activity": {
"average_transaction_amount": 3000,
"maximum_transaction_amount": 15000,
"monthly_volume_range": "under-10k"
}
},
"instant_bank": {
"expected_transaction_activity": {
"average_transaction_amount": 1000,
"maximum_transaction_amount": 5000,
"monthly_volume_range": "under-10k"
}
}
}
},
"representatives": [
{
"first_name": "Alice",
"middle_name": "",
"last_name": "Smith",
"title": "ms",
"email": "alice.smith@example.com",
"phone": {
"number": "2015559876",
"country_code": "1"
},
"birth_date": {
"year": 1985,
"month": 5,
"day": 14
},
"ssn": "123456789",
"address_line_1": "456 Park Ave",
"address_line_2": "",
"city": "New York",
"subdivision": "NY",
"postal_code": "10022",
"is_controller": True,
"is_owner": True,
"ownership_percentage": 60,
"job_title": "CEO"
}
],
"processing_statements": {
"first_month_file_id": "{{file1_id}}",
"second_month_file_id": "{{file2_id}}",
"third_month_file_id": "{{file3_id}}"
}
}
}
response = requests.post(url, json=payload)
print(response.text)
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
body := `{
"signup_form_id": "YOUR_SIGNUP_FORM_ID",
"business": {
"business_name": "Example Corporation",
"doing_business_as": "Example",
"business_type": "llc",
"description": "E-commerce and retail services",
"ein": "123456789",
"industry_mcc": "5732",
"phone": {
"number": "2015551235",
"country_code": "1"
},
"email": "info@example.com",
"website": "https://example.com",
"address_line_1": "123 Main St",
"address_line_2": "Suite 400",
"city": "New York",
"subdivision": "NY",
"postal_code": "10065",
"underwriting": {
"payment_methods": ["card", "ach"],
"geographich_reach": "us-only",
"collect_funds": {
"ach": {
"expected_transaction_activity": {
"average_transaction_amount": 5000,
"maximum_transaction_amount": 25000,
"monthly_volume_range": "under-10k"
}
},
"card": {
"expected_transaction_activity": {
"average_transaction_amount": 200,
"maximum_transaction_amount": 20000,
"monthly_volume_range": "under-10k"
},
"acceptance_methods": {
"in_person": 80,
"online": 15,
"mail_or_phone": 5
},
"currently_accepts_card": true
}
},
"send_funds": {
"ach": {
"expected_transaction_activity": {
"average_transaction_amount": 3000,
"maximum_transaction_amount": 15000,
"monthly_volume_range": "under-10k"
}
},
"instant_bank": {
"expected_transaction_activity": {
"average_transaction_amount": 1000,
"maximum_transaction_amount": 5000,
"monthly_volume_range": "under-10k"
}
}
}
},
"representatives": [
{
"first_name": "Alice",
"middle_name": "",
"last_name": "Smith",
"title": "ms",
"phone": {
"number": "2015559876",
"country_code": "1"
},
"email": "alice.smith@example.com",
"address_line_1": "456 Park Ave",
"city": "New York",
"subdivision": "NY",
"postal_code": "10022",
"birth_date": {
"year": 1985,
"month": 5,
"day": 14
},
"ssn": "123456789",
"is_controller": true,
"is_owner": true,
"ownership_percentage": 60,
"job_title": "CEO"
}
],
"processing_statements": {
"first_month_file_id": "{{file1_id}}",
"second_month_file_id": "{{file2_id}}",
"third_month_file_id": "{{file3_id}}"
}
}
}`
url := "https://api.reverepayments.dev/api/v1/revere_pay/signup_entry"
req, _ := http.NewRequest("POST", url, bytes.NewBuffer([]byte(body)))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
respBody, _ := io.ReadAll(res.Body)
fmt.Println(string(respBody))
}