Create An Account
In this section, you will learn how to:
- Use the Legal Entity and Payout Method IDs in a
POST /accounts
API request - Find your submerchant's Account ID in the
id
parameter of the API response
POST /accounts
which will collect additional submerchant data.Unsupported MCC and Account Types
Warning
Not all Merchant Category Codes (MCC) and account types are supported for Full Liability Submitter (FLS) submerchants. See the table below for a list of unsupported MCCs and account types.
Unsupported MCCs for FLS | WePay Prohibited Account Types |
---|---|
Non-Profits:
|
|
Required Account Fields
Click to view all required Payout Method fields
Field | Requirement |
---|---|
Api-Version header | Use 3.1 |
legal_entity_id | required |
name transaction division / business name | required |
description TD description/ business description | required |
convenience_fee_amount | required |
transaction_type | only the value internet is currently supported |
Fields nested in the industry object | |
category_detail | required |
merchant_category_code | required |
Fields nested in the onboarding_location object (to represent the account address) | |
city | required |
country | required |
line1 | required |
line2 | optional |
postal_code | required |
region | required |
Fields nested in the accepted_methods_of_payment.countries.US objectAt least 1 method of payment (e.g. AmEx, Visa, etc) is required | |
visa.card_not_present.credit | To enable Visa, this parameter must be set to true Note that the debit option is not currently supported; the value must be false if passed |
master_card.card_not_present.credit | To enable MasterCard, this parameter must be set to true Note that the debit option is not currently supported; the value must be false if passed |
diners_club.card_not_present.credit | To enable Diners Club, this parameter must be set to true Note that the debit option is not currently supported; the value must be false if passed |
jcb.card_not_present.credit | To enable JCB, this parameter must be set to true Note that the debit option is not currently supported; the value must be false if passed |
discover.card_not_present.credit | To enable Discover, this parameter must be set to true Note that the debit option is not currently supported; the value must be false if passed |
american_express.card_not_present.credit | To enable AmericanExpress, this parameter must be set to true Note that the debit option is not currently supported; the value must be false if passed |
american_express.configurations.transaction_code | Required for conveyed ; defaults to settled if not provided |
american_express.configurations.se_number | Conditionally required when the value set for transaction_code is conveyed |
american_express.configurations.seller_id | Optional |
electronic_check.card_not_present | Requires true to enable ECheck |
electronic_check.configurations.company_name | Conditionally required if ECheck is being enabled |
electronic_check.configurations.description | Conditionally required if ECheck is being enabled |
Fields nested in the payout.currencies.USD object | |
payout_method_id | Required Identify the merchant's primary payout method. Send the payout method ID that you intend to send sales payouts to. If either refunds or adjustments payouts are excluded from this request, they will also be sent to this payout method. |
period | Required |
Fields nested in the payout.currencies.USD.payout_purpose object | |
sales_payout.payout_method_id | Required |
sales_payout.period | Required |
fees_payout.payout_method_id | Required if setting a different payout method for fees |
fees_payout.period | Required if setting a different payout method for fees |
adjustment_payout.payout_method_id | Required if setting a different payout method for adjustments |
adjustment_payout.period | Required if setting a different payout method for adjustments |
refunds_payout.payout_method_id | Required if setting a different payout method for refunds |
refunds_payout.period | Required if setting a different payout method for refunds |
Use the following headers in the API request:
curl -X POST \
--url 'https://stage-api.wepay.com/accounts' \
-H 'App-Id: {App-Id}'\
-H 'App-Token: {App-Token}'\
-H 'Accept: application/json'\
-H 'Api-Version: 3.1'\
-H 'Content-Type: application/json' \
--data-raw ``
With the following JSON body:
{
"legal_entity_id": "{id-from-step-1}",
"name": "sole Account",
"description": "sole account with citizen bank",
"convenience_fee_amount": 1337,
"industry": {
"category_detail": "Heating, Plumbing, and Air Conditioning Contractors",
"merchant_category_code": "1711"
},
"onboarding_location": {
"line1": "8584 notdone Street",
"city": "San Francisco",
"postal_code": "94101",
"region": "CA",
"country": "US"
},
"transaction_type": "internet",
"payout": {
"currencies": {
"USD": {
"payout_method_id": "00000000-0000-0000-0000-0000013762ce",
//The merchant's primary payout method. Send the payout method ID that you intend to send sales payouts to. If either refunds or adjustments payouts are excluded from this request, they will also be sent to this.
"period": "daily",
"payout_purpose": {
"sales_payout":
{
"payout_method_id": "00000000-0000-0000-0000-0000013762ce",
//Payout submerchants' credits from payments, this is the primary payout method for the merchant.
"period": "weekly"
},
"fees_payout":
{
"payout_method_id": "00000000-0000-0000-0000-0000013762cf",
//The ID for Partner bank account where processing fees will be deposited. This has to be unique from sales, refunds and adjustments payouts, as fees are collected by your, the partner, and not the merchant. This value must be unique and cannot be missing. It is a mandatory field and the onboarding will fail if the conditions are not met.
"period": "monthly"
}
,
"adjustment_payout":
{
"payout_method_id": "00000000-0000-0000-0000-0000013762ce",
//Submerchants can have credits from adjustments sent to this payout method. If the field is blank then it will default to the provided Sales payout method. If you don't want this field to default to the Sales payout method, then explicitly pass a value to this field.
"period": "daily"
},
"refunds_payout":
{
"payout_method_id": "00000000-0000-0000-0000-0000013762ce",
//Submerchants can have credits from refunds sent to this payout method. If the field is blank then it will default to the Sales payout method. If you don't want this field to default to the Sales payout method, then explicitly pass a value to this field.
"period": "daily"
}
}
}
}
},
"accepted_method_of_payments": {
"countries": {
"US": {
"visa": {
"card_not_present": {
"credit": true, //Currently, credit under card_not_present must to be set to true for this Method of Payment to be selected
"debit": false //Currently, debit is not supported even though it is available in the API. If passed, the value must be "false"
}
},
"master_card": {
"card_not_present": {
"credit": true, //Currently, credit under card_not_present must to be set to true for this Method of Payment to be selected
"debit": false //Currently, debit is not supported even though it is available in the API. If passed, the value must be "false"
}
},
"diners_club": {
"card_not_present": {
"credit": true, //Currently, credit under card_not_present must to be set to true for this Method of Payment to be selected
"debit": false //Currently, debit is not supported even though it is available in the API. If passed, the value must be "false"
}
},
"jcb": {
"card_not_present": {
"credit": true, //Currently, credit under card_not_present must to be set to true for this Method of Payment to be selected
"debit": false //Currently, debit is not supported even though it is available in the API. If passed, the value must be "false"
}
},
"american_express": {
"card_not_present": {
"credit": true, //Currently, credit under card_not_present must to be set to true for this Method of Payment to be selected
"debit": false //Currently, debit is not supported even though it is available in the API. If passed, the value must be "false"
},
"configurations": {
"transaction_code": "conveyed", //NOTE: The transaction_code value must always be "conveyed"
"se_number": "2420586430" //Merchant's SE number
}
},
"discover": {
"card_not_present": {
"credit": true, //Currently, credit under card_not_present must to be set to true for this Method of Payment to be selected
"debit": false //Currently, debit is not supported even though it is available in the API. If passed, the value must be "false"
}
},
"electronic_check": {
"card_not_present": true, //ECheck is only available for web transactions, so this value must be set to true
"configurations": { //These configurations will be displayed on the payer's bank statement along with charge details
"company_name": "ipay",
"description": "icantpay"
}
}
}
}
}
}
id
parameter, which will be the WePay Account ID for use in the API. The submerchant ID (MID) will return on the
merchant_id
parameter of the Account response synchronously if there are no empty fields. Note that this field may synchronously return as null
if there is missing information, but will asynchronously be added to the account. Subscribe to the API Notification topic accounts.updated
to receive that asynchronous update.