The /account API calls
The account object represents a payment account for accepting payments. Use the following calls to create, view, and modify account objects on WePay:
- /account
- /account/find
- /account/create
- /account/modify
- /account/delete
- /account/get_update_uri
- /account/get_reserve_details
- /account/settlement_setup
Structures
- Country Options Structure
- Settlement Method Structure
- Send Check To Address Structure
- KYC Prefill Info Structure
Account States
The account object has the following states and the following possible state transitions. Your application can receive callback notifications when the account changes state:
State Definition
action required | The account is not active and requires some action to be taken by the account owner. |
pending | The account was created using a temporary access token and needs to be confirmed by the account owner. |
active | The account is active and no further action is required. |
disabled | The account has been disabled by WePay and can no longer accept payments. An account will become disabled exactly 30 days after the first payment if no Know Your Customer (KYC) or settlement information is on file. WePay may also disable the account for security or regulatory reasons. |
deleted | The account has been deleted. |
Version: v2 2019-04-03
POST Endpoint
https://wepayapi.com/v2/account
/account
Use this call to lookup the details of a payment account on WePay. The payment account must belong to the user associated with the access token used to make the call.
Arguments
Parameter | Required | Type | Description |
account_id | Yes | Integer (64 bits) | The unique ID of the account you want to look up. |
Example
{
"account_id": 12345
}
Response
Response | Type | Description |
account_id | Integer (64 bits) | The unique ID of the account. |
name | String (255 chars) | The name of the account. |
state | String (255 chars) | The state of the account.
Possible values: action_required , pending , active , disabled , and deleted .
|
description | String (65535 chars) | The account description. This information is used by the WePay Risk and Support teams. The description should provide a clear explanation of the purpose and use of the account. |
owner_user_id | Integer (64 bits) | The unique ID of the user who is the current financial owner of this account. |
reference_id | String (255 chars) | The unique reference ID of the account (this is set by the application in the /account/create or /account/modify call). If not present, then this value is not set for the account. |
callback_uri | String (2083 chars) | The URI that will receive IPNs for this account. You will receive an IPN whenever the account is verified or deleted. If not present, then this value is not set for the account. |
type | String (255 chars) | The account type.
Possible values: nonprofit , business , and personal .
|
create_time | Integer (64 bits) | The Unix timestamp (UTC) when the account was created. |
balances | Array | Array of account balances for each currency. See the structures page for more information. |
statuses | Array | Array of incoming and outgoing payments status for each currency. See the structures page for more information. |
action_reasons | Array | Array of action strings explaining all the actions that are required to make
this account active. It will be empty if no action is required.
Possible values: bank_account , kyc , and document .
|
disabled_reasons | Array | Array of strings explaining all reasons for why an account was disabled. It will be empty if the account is enabled. Possible values:
|
disablement_time | Integer (64 bits) | For accounts that have not provided Know Your Customer (KYC) and settlement information, this is the Unix timestamp (UTC) when the account will be disabled. If null then the account is valid and not scheduled to be disabled.
|
country | String (2 chars) | The account's country of origin 2-letter ISO code
Possible values: US , CA .
|
currencies | Array | Array of supported currency strings for this account. Only one currency is allowed per account at this time.
Possible values: USD , CAD . |
rbit_ids | Array | Array of rbits ids associated with the account. |
fee_schedule | Array | The account's fee schedule value. Has three child nodes:
|
supported_card_types | Array | Array of supported card type strings for this account.
Possible values: visa , mastercard , american_express , discover , jcb , and diners_club .
|
support_contact_number | International phone number structure | The merchant's public-facing support contact number. If set, this phone number will be present on the payer's credit card statement. |
image_uri | String (255 chars) | The URI for an image that you want to use for the accounts icon. This image will be used in the co-branded checkout process. If null then this value is not set for the account. |
gaq_domains | Array | An array of Google Analytics domains associated with the account. See the analytics tutorial for more information. |
theme_object | Theme Response Structure | The theme structure (a JSON object, not a JSON serialized string) you want to be used for the account's flows and emails. If not present, then this value has not be set for the account. |
referrer_type | String (255 chars) | How this account was referred to your platform. Possible values include: chase_inside_sales , chase_self_serve , and api .
Default: api |
country_options | Object | Indicates whether the given account has opted in to accept debit cards, |
Example of an Active Account
{
"account_id": 12345,
"name": "Example account",
"state": "active",
"description": "this account is just an example.",
"owner_user_id": 539291,
"reference_id": "123abc",
"type": "personal",
"create_time": 1367958263,
"disablement_time": null,
"country": "US",
"currencies": [
"USD"
],
"balances": [
{
"currency": "USD",
"balance": 390.5,
"incoming_pending_amount": 635.3,
"outgoing_pending_amount": 210.0,
"reserved_amount": 0,
"withdrawal_period": "daily",
"withdrawal_type": "ach",
"withdrawal_next_time": 1370112217,
"withdrawal_bank_name": "WellsFargo XXXXX3102"
}
],
"statuses": [
{
"currency": "USD",
"incoming_payments_status": "ok",
"outgoing_payments_status": "ok",
"account_review_status": "not_requested"
}
],
"image_uri": "https://stage.wepay.com/img/logo.png",
"action_reasons": [
],
"supported_card_types": [
"visa",
"mastercard",
"american_express",
"discover",
"jcb",
"diners_club"
],
"disabled_reasons": [
],
"fee_schedule": [
{
"slot": 9,
"description": "2.9% + $0.30",
"currency": "USD"
}
],
"support_contact_number": null,
"referrer_type": "api",
"country_options": {
"debit_opt_in": null
}
}
Example of an Disabled Account due to No Settlement Path
{
"account_id": 12345,
"name": "Example account",
"state": "disabled",
"description": "this account is just an example.",
"owner_user_id": 539291,
"reference_id": "123abc",
"type": "personal",
"create_time": 1457548586,
"disablement_time": 1466097386,
"country": "US",
"currencies": [
"USD"
],
"action_reasons": [
],
"disabled_reasons": [
"no_settlement_path"
],
"image_uri": null,
"supported_card_types": [
"visa",
"mastercard",
"american_express",
"discover",
"jcb",
"diners_club"
],
"gaq_domains": [
""
],
"balances": [
{
"balance": 19425,
"currency": "USD",
"incoming_pending_amount": 0,
"outgoing_pending_amount": 0,
"reserved_amount": 0,
"withdrawal_bank_name": null,
"withdrawal_next_time": null,
"withdrawal_period": null,
"withdrawal_type": null
}
],
"statuses": [
{
"currency": "USD",
"incoming_payments_status": "paused",
"outgoing_payments_status": "paused",
"account_review_status": "not_requested"
}
],
"support_contact_number": null,
"referrer_type": "api",
"country_options": {
"debit_opt_in": null
}
}
/account/find
Use this call to search the accounts of the user associated with the access token used to make the call. You can search by name
or reference_id
, and the response will be an array of all the matching accounts. If both name
and reference_id
are blank, this will return an array of all of the user’s accounts. Each element of the array in the response will include the same data as returned from the /account call.
Arguments
Parameter | Required | Type | Description |
name | No | String (255 chars) | The name of the account for which you are searching. |
reference_id | No | String (255 chars) | The reference ID of the account for which you are searching (set by the app in in /account/create or /account/modify). |
sort_order | No | String (255 chars) | Sort the results of the search by time created. Use desc for most recent to least recent. Use asc for least recent to most recent.
Default: desc |
start | No | Integer (64 bits) | The start position for your search. For example, if start is 24 and limit is 50, the call returns 50 results. The first result would be the 24th search result. In total, the API call returns results 24-73.
Default: 0 |
limit | No | Integer | The maximum number of returned entries. The maximum allowed is 50 results.
Default: 50
|
Example
{
"name": "Example Acccount",
"reference_id": "123abc"
}
Response
Response | Type | Description |
account_id | Integer (64 bits) | The unique ID of the account. |
name | String (255 chars) | The name of the account. |
state | String (255 chars) | The state of the account.
Possible values: action_required , pending , active , disabled , and deleted .
|
description | String (65535 chars) | The account description. This information is used by the WePay Risk and Support teams. The description should provide a clear explanation of the purpose and use of the account. |
owner_user_id | Integer (64 bits) | The unique ID of the user who is the current financial owner of this account. |
reference_id | String (255 chars) | The unique reference ID of the account (this is set by the application in the /account/create or /account/modify call). If not present, then this value is not set for the account. |
callback_uri | String (2083 chars) | The URI that will receive IPNs for this account. You will receive an IPN whenever the account is verified or deleted. If not present, then this value is not set for the account. |
type | String (255 chars) | The account type.
Possible values: nonprofit , business , and personal .
|
create_time | Integer (64 bits) | The Unix timestamp (UTC) when the account was created. |
balances | Array | Array of account balances for each currency. See the structures page for more information. |
statuses | Array | Array of incoming and outgoing payments status for each currency. See the structures page for more information. |
action_reasons | Array | Array of action strings explaining all the actions that are required to make
this account active. It will be empty if no action is required.
Possible values: bank_account , kyc , and document .
|
disabled_reasons | Array | Array of strings explaining all reasons for why an account was disabled. It will be empty if the account is enabled. Possible values:
|
disablement_time | Integer (64 bits) | For accounts that have not provided Know Your Customer (KYC) and settlement information, this is the Unix timestamp (UTC) when the account will be disabled. If null then the account is valid and not scheduled to be disabled.
|
country | String (2 chars) | The account's country of origin 2-letter ISO code
Possible values: US , CA .
|
currencies | Array | Array of supported currency strings for this account. Only one currency is allowed per account at this time.
Possible values: USD , CAD . |
rbit_ids | Array | Array of rbits ids associated with the account. |
fee_schedule | Array | The account's fee schedule value. Has three child nodes:
|
supported_card_types | Array | Array of supported card type strings for this account.
Possible values: visa , mastercard , american_express , discover , jcb , and diners_club .
|
support_contact_number | International phone number structure | The merchant's public-facing support contact number. If set, this phone number will be present on the payer's credit card statement. |
image_uri | String (255 chars) | The URI for an image that you want to use for the accounts icon. This image will be used in the co-branded checkout process. If null then this value is not set for the account. |
gaq_domains | Array | An array of Google Analytics domains associated with the account. See the analytics tutorial for more information. |
theme_object | Theme Response Structure | The theme structure (a JSON object, not a JSON serialized string) you want to be used for the account's flows and emails. If not present, then this value has not be set for the account. |
referrer_type | String (255 chars) | How this account was referred to your platform. Possible values include: chase_inside_sales , chase_self_serve , and api .
Default: api |
country_options | Object | Indicates whether the given account has opted in to accept debit cards, |
Example
[
{
"account_id": 12345,
"name": "Example account",
"state": "active",
"description": "this account is just an example.",
"owner_user_id": 539291,
"reference_id": "123abc",
"type": "personal",
"create_time": 1367958263,
"disablement_time": null,
"country": "US",
"currencies": [
"USD"
],
"balances": [
{
"currency": "USD",
"balance": 390.5,
"incoming_pending_amount": 635.3,
"outgoing_pending_amount": 210.0,
"reserved_amount": 0,
"withdrawal_period": "daily",
"withdrawal_type": "ach",
"withdrawal_next_time": 1370112217,
"withdrawal_bank_name": "WellsFargo XXXXX3102"
}
],
"statuses": [
{
"currency": "USD",
"incoming_payments_status": "ok",
"outgoing_payments_status": "paused",
"account_review_status": "pending"
}
],
"action_reasons": [
],
"disabled_reasons": [
],
"supported_card_types": [
"visa",
"mastercard"
],
"image_uri": null,
"fee_schedule": null,
"callback_uri": null,
"theme_object": null,
"support_contact_number": null,
"referrer_type": "api",
"country_options": {
"debit_opt_in": null
}
}
]
/account/create
Use this call to create a new payment account for the user associated with the access token used to make this call. This call returns the same response as the /account call.
Note
Supplying rbits helps improve your experience and the experience of your users. You may be contractually required to include rbit information in your requests (despite being optional at the API level). Please review our Risk Certification guide
Arguments
Parameter | Required | Type | Description |
name | Yes | String (255 chars) | The name for the account being created. For security reasons, the word wepay cannot be in the account name. Note: Account names cannot contain control characters or non-printable characters, like emojis. |
description | Yes | String (65535 chars) | The description of the account you want to create. Describe the account in terms of: goods or services paid for using this account, types of payees, purpose of the account, etc. |
reference_id | No | String (255 chars) | The reference ID of the account. It can be any string, but must be unique for the account. |
type | No | String (255 chars) | The type of account you are creating.
Possible values: nonprofit , business , and personal .
Note: This parameter is only used on the account temporarily -- until the merchant provides their own information. It does not impact KYC user interfaces. If your platform does not provide a value for this parameter, WePay will choose a default based on your application settings. |
callback_uri | No | String (2083 chars) | The URI that will receive IPNs for this account. If you set this parameter, you will receive an IPN whenever the account is verified or deleted. Otherwise, no notifications will be sent. See the Instant Payment Notifications page for more information. Note: Your platform may test using ports in staging but ports are not allowed in production. |
mcc | No | String (4 chars) | The Merchant Category Code (MCC) indicating the merchant's type of business. See the MCC reference page for more information. Note: This parameter is only used on the account temporarily -- until the merchant provides their own information. It does not impact KYC user interfaces. If your platform does not provide a value for this parameter, WePay will choose a default based on your application settings. |
country | No | String (2 chars) | The account's country of origin 2-letter ISO code.
Possible values: US , CA .
Default: US |
currencies | No | Array | Array of supported currency strings for this account. WePay currently supports only one currency per account.
Possible values: USD , CAD .
Default: USD
|
rbits | No | Array of Rbit Structures | Array of rbit structures associated with the account. |
country_options | No | Country Options Structure | Used for Canadian accounts only.
Default: null |
fee_schedule_slot | No | Integer (64 bits) | The custom fee schedule value to use for the merchant. Passing 0 will remove the custom fee schedule. |
support_contact_number | No | International phone number structure | The merchant's public-facing support contact number. If set, this phone number will be present on the payer's credit card statement. |
theme_object | No | Theme Request Structure | The theme structure (a JSON object, not a JSON serialized string) you want to be used for the account's flows and emails |
image_uri | No | String (2083 chars) | The URI for an image that you want to use for the accounts icon. This image will be used in the co-branded checkout process. |
gaq_domains | No | Array | An array of Google Analytics domains associated with the account. See the Google Analytics tutorial for more details. |
Example
{
"name": "Example Account",
"description": "This is just an example WePay account.",
"reference_id": "abc123",
"country": "US",
"currencies": [
"USD"
]
}
Example with an inline rbit
{
"name": "foo bar",
"description": "bar foo",
"reference_id": "abc123",
"country": "US",
"currencies": [
"USD"
],
"rbits": [
{
"receive_time": 1367958263,
"type": "address",
"source": "partner_database",
"properties": {
"address": {
"address1": "20 Main Street",
"city": "Sunnyvale",
"zip": "94085",
"state": "CA",
"country": "US"
}
}
}
]
}
Response
Response | Type | Description |
account_id | Integer (64 bits) | The unique ID of the account. |
name | String (255 chars) | The name of the account. |
state | String (255 chars) | The state of the account.
Possible values: action_required , pending , active , disabled , and deleted .
|
description | String (65535 chars) | The account description. This information is used by the WePay Risk and Support teams. The description should provide a clear explanation of the purpose and use of the account. |
owner_user_id | Integer (64 bits) | The unique ID of the user who is the current financial owner of this account. |
reference_id | String (255 chars) | The unique reference ID of the account (this is set by the application in the /account/create or /account/modify call). If not present, then this value is not set for the account. |
callback_uri | String (2083 chars) | The URI that will receive IPNs for this account. You will receive an IPN whenever the account is verified or deleted. If not present, then this value is not set for the account. |
type | String (255 chars) | The account type.
Possible values: nonprofit , business , and personal .
|
create_time | Integer (64 bits) | The Unix timestamp (UTC) when the account was created. |
balances | Array | Array of account balances for each currency. See the structures page for more information. |
statuses | Array | Array of incoming and outgoing payments status for each currency. See the structures page for more information. |
action_reasons | Array | Array of action strings explaining all the actions that are required to make
this account active. It will be empty if no action is required.
Possible values: bank_account , kyc , and document .
|
disabled_reasons | Array | Array of strings explaining all reasons for why an account was disabled. It will be empty if the account is enabled. Possible values:
|
disablement_time | Integer (64 bits) | For accounts that have not provided Know Your Customer (KYC) and settlement information, this is the Unix timestamp (UTC) when the account will be disabled. If null then the account is valid and not scheduled to be disabled.
|
country | String (2 chars) | The account's country of origin 2-letter ISO code
Possible values: US , CA .
|
currencies | Array | Array of supported currency strings for this account. Only one currency is allowed per account at this time.
Possible values: USD , CAD . |
rbit_ids | Array | Array of rbits ids associated with the account. |
fee_schedule | Array | The account's fee schedule value. Has three child nodes:
|
supported_card_types | Array | Array of supported card type strings for this account.
Possible values: visa , mastercard , american_express , discover , jcb , and diners_club .
|
support_contact_number | International phone number structure | The merchant's public-facing support contact number. If set, this phone number will be present on the payer's credit card statement. |
image_uri | String (255 chars) | The URI for an image that you want to use for the accounts icon. This image will be used in the co-branded checkout process. If null then this value is not set for the account. |
gaq_domains | Array | An array of Google Analytics domains associated with the account. See the analytics tutorial for more information. |
theme_object | Theme Response Structure | The theme structure (a JSON object, not a JSON serialized string) you want to be used for the account's flows and emails. If not present, then this value has not be set for the account. |
referrer_type | String (255 chars) | How this account was referred to your platform. Possible values include: chase_inside_sales , chase_self_serve , and api .
Default: api |
country_options | Object | Indicates whether the given account has opted in to accept debit cards, |
Example
{
"account_id": 3015357,
"name": "Example Account",
"state": "action_required",
"description": "This is just an example WePay account.",
"owner_user_id": 254815262,
"type": "personal",
"create_time": 1478291595,
"disablement_time": null,
"country": "US",
"currencies": [
"USD"
],
"action_reasons": [
"kyc",
"bank_account"
],
"disabled_reasons": [
],
"image_uri": null,
"supported_card_types": [
"visa",
"mastercard",
"american_express",
"discover",
"jcb",
"diners_club"
],
"gaq_domains": [
""
],
"balances": [
{
"balance": 0,
"currency": "USD",
"incoming_pending_amount": 0,
"outgoing_pending_amount": 0,
"reserved_amount": 0,
"withdrawal_bank_name": null,
"withdrawal_next_time": null,
"withdrawal_period": null,
"withdrawal_type": null
}
],
"statuses": [
{
"currency": "USD",
"incoming_payments_status": "ok",
"outgoing_payments_status": "paused",
"account_review_status": "not_requested"
}
],
"support_phone_number": null,
"referrer_type": "api",
"country_options": {
"debit_opt_in": null
}
}
/account/modify
Use this call to update the specified properties of the account. This call returns the same response as the /account call.
Arguments
Parameter | Required | Type | Description |
---|---|---|---|
account_id | Yes | Integer (64 bits) | The unique ID of the account you want to modify. |
name | No | String (255 chars) | The name for the account. For security reasons, the word wepay cannot be in the account name. |
description | No | String (65535 chars) | The description for the account. |
reference_id | No | String (255 chars) | The reference ID for the account. Can be any string, but must be unique for the account. |
callback_uri | No | String (2083 chars) | The URI that will receive IPNs for this account. You will receive an IPN whenever the account is verified or deleted. See the Instant Payment Notifications reference page for more information. Note: Your platform may test using ports in staging but ports are not allowed in production. |
rbits | No | Array of Rbit Structures | Array of rbit structures associated with the account. |
country_options | No | Country Options Structure | Used for Canadian accounts only.
Default: null |
fee_schedule_slot | No | Integer (64 bits) | The custom fee schedule value to use for the merchant. Passing 0 will remove the custom fee schedule. |
support_contact_number | No | International phone number structure | The merchant's public-facing support contact number. If set, this phone number will be present on the payer's credit card statement. |
image_uri | No | String (2083 chars) | The URI for an image that you want to use for the accounts icon. This image will be used in the co-branded checkout process. |
gaq_domains | No | Array | The array of Google Analytics domains to be associated with the account. An empty array will remove all the Google Analytics domains previously associated with the account. See the Google Analytics tutorial for more details. |
theme_object | No | Theme Request Structure | The theme structure (a JSON object, not a JSON serialized string) you want to be used for the account's flows and emails. |
Example
{
"account_id": 12345,
"name": "Example Account",
"description": "This is just an example WePay account. Modify the text.",
"reference_id": "abc123"
}
Response
Response | Type | Description |
account_id | Integer (64 bits) | The unique ID of the account. |
name | String (255 chars) | The name of the account. |
state | String (255 chars) | The state of the account.
Possible values: action_required , pending , active , disabled , and deleted .
|
description | String (65535 chars) | The account description. This information is used by the WePay Risk and Support teams. The description should provide a clear explanation of the purpose and use of the account. |
owner_user_id | Integer (64 bits) | The unique ID of the user who is the current financial owner of this account. |
reference_id | String (255 chars) | The unique reference ID of the account (this is set by the application in the /account/create or /account/modify call). If not present, then this value is not set for the account. |
callback_uri | String (2083 chars) | The URI that will receive IPNs for this account. You will receive an IPN whenever the account is verified or deleted. If not present, then this value is not set for the account. |
type | String (255 chars) | The account type.
Possible values: nonprofit , business , and personal .
|
create_time | Integer (64 bits) | The Unix timestamp (UTC) when the account was created. |
balances | Array | Array of account balances for each currency. See the structures page for more information. |
statuses | Array | Array of incoming and outgoing payments status for each currency. See the structures page for more information. |
action_reasons | Array | Array of action strings explaining all the actions that are required to make
this account active. It will be empty if no action is required.
Possible values: bank_account , kyc , and document .
|
disabled_reasons | Array | Array of strings explaining all reasons for why an account was disabled. It will be empty if the account is enabled. Possible values:
|
disablement_time | Integer (64 bits) | For accounts that have not provided Know Your Customer (KYC) and settlement information, this is the Unix timestamp (UTC) when the account will be disabled. If null then the account is valid and not scheduled to be disabled.
|
country | String (2 chars) | The account's country of origin 2-letter ISO code
Possible values: US , CA .
|
currencies | Array | Array of supported currency strings for this account. Only one currency is allowed per account at this time.
Possible values: USD , CAD . |
rbit_ids | Array | Array of rbits ids associated with the account. |
fee_schedule | Array | The account's fee schedule value. Has three child nodes:
|
supported_card_types | Array | Array of supported card type strings for this account.
Possible values: visa , mastercard , american_express , discover , jcb , and diners_club .
|
support_contact_number | International phone number structure | The merchant's public-facing support contact number. If set, this phone number will be present on the payer's credit card statement. |
image_uri | String (255 chars) | The URI for an image that you want to use for the accounts icon. This image will be used in the co-branded checkout process. If null then this value is not set for the account. |
gaq_domains | Array | An array of Google Analytics domains associated with the account. See the analytics tutorial for more information. |
theme_object | Theme Response Structure | The theme structure (a JSON object, not a JSON serialized string) you want to be used for the account's flows and emails. If not present, then this value has not be set for the account. |
referrer_type | String (255 chars) | How this account was referred to your platform. Possible values include: chase_inside_sales , chase_self_serve , and api .
Default: api |
country_options | Object | Indicates whether the given account has opted in to accept debit cards, |
Example of an Active Account
{
"account_id": 12345,
"name": "Example account",
"state": "active",
"description": "this account is just an example.",
"owner_user_id": 539291,
"reference_id": "123abc",
"type": "personal",
"create_time": 1367958263,
"disablement_time": null,
"country": "US",
"currencies": [
"USD"
],
"balances": [
{
"currency": "USD",
"balance": 390.5,
"incoming_pending_amount": 635.3,
"outgoing_pending_amount": 210.0,
"reserved_amount": 0,
"withdrawal_period": "daily",
"withdrawal_type": "ach",
"withdrawal_next_time": 1370112217,
"withdrawal_bank_name": "WellsFargo XXXXX3102"
}
],
"statuses": [
{
"currency": "USD",
"incoming_payments_status": "ok",
"outgoing_payments_status": "ok",
"account_review_status": "not_requested"
}
],
"image_uri": "https://stage.wepay.com/img/logo.png",
"action_reasons": [
],
"supported_card_types": [
"visa",
"mastercard",
"american_express",
"discover",
"jcb",
"diners_club"
],
"disabled_reasons": [
],
"fee_schedule": [
{
"slot": 9,
"description": "2.9% + $0.30",
"currency": "USD"
}
],
"support_contact_number": null,
"referrer_type": "api",
"country_options": {
"debit_opt_in": null
}
}
Example of an Disabled Account due to No Settlement Path
{
"account_id": 12345,
"name": "Example account",
"state": "disabled",
"description": "this account is just an example.",
"owner_user_id": 539291,
"reference_id": "123abc",
"type": "personal",
"create_time": 1457548586,
"disablement_time": 1466097386,
"country": "US",
"currencies": [
"USD"
],
"action_reasons": [
],
"disabled_reasons": [
"no_settlement_path"
],
"image_uri": null,
"supported_card_types": [
"visa",
"mastercard",
"american_express",
"discover",
"jcb",
"diners_club"
],
"gaq_domains": [
""
],
"balances": [
{
"balance": 19425,
"currency": "USD",
"incoming_pending_amount": 0,
"outgoing_pending_amount": 0,
"reserved_amount": 0,
"withdrawal_bank_name": null,
"withdrawal_next_time": null,
"withdrawal_period": null,
"withdrawal_type": null
}
],
"statuses": [
{
"currency": "USD",
"incoming_payments_status": "paused",
"outgoing_payments_status": "paused",
"account_review_status": "not_requested"
}
],
"support_contact_number": null,
"referrer_type": "api",
"country_options": {
"debit_opt_in": null
}
}
/account/delete
Use this call delete an account. The user associated with the access token used must have permission to delete the account. An account may not be deleted if it has a balance or pending payments. Once the account is deleted, it will not appear in the results of an /account/find call, nor will you be able to un-delete the account.
Arguments
Parameter | Required | Type | Description |
account_id | Yes | Integer (64 bits) | The unique ID of the account you want to delete. |
reason | No | String (255 chars) | Reason for deleting the account. |
Example
{
"account_id": 12345
}
Response
Response | Type | Description |
account_id | Integer (64 bits) | The unique ID of the account that was successfully deleted. |
state | String (255 chars) | The state of the account. |
Example
{
"account_id": 12345,
"state": "deleted"
}
/account/get_update_uri
Use this call to add or update all incomplete items for an account such as Know Your Customer (KYC) or settlement info. It returns a URL that a user can visit to update information for their account.
Arguments
Parameter | Required | Type | Description |
account_id | Yes | Integer (64 bits) | The unique ID of the account you want to add or update info for. |
mode | No | String (255 chars) | What mode the process will be displayed in. The options are iframe or regular . Choose iframe if you would like to frame the process on your site.
Default: regular |
redirect_uri | No | String (2083 chars) | The URI to which the user is be redirected to after completing the Know Your Customer (KYC) or settlement setup information input process.
Default: null
Note: WePay does not allow underscores in subdomains, and using an underscore will violate the matching domain requirement. |
prefill_info | No | KYC Prefill Info Structure | Prefill the Know Your Customer (KYC) form with information that you already have about the merchant. |
Example
{
"account_id": 12345,
"mode": "iframe"
}
Response
Response | Type | Description |
account_id | Integer (64 bits) | The ID of the account that is updated by the URI. |
uri | String (2083 chars) | The URI to add or update info for the specified account ID. Do not store the returned URI on your side as it can change. |
Example
{
"account_id": 12345,
"uri": "http://stage.wepay.com/api/account_update_uri/12345"
}
/account/get_reserve_details
Use this call to return information about reserves and the release schedule for a particular account.
Warning
The /account/get_reserve_details call is being deprecated and its use is not recommended.
Arguments
Parameter | Required | Type | Description |
account_id | Yes | Integer (64 bits) | The unique ID of the account you want to view reserve details for. |
currency | No | String (255 chars) | The currency for the reserves.
Default: USD |
Example
{
"account_id": 12345
}
Response
Response | Type | Description |
account_id | Integer (64 bits) | The ID of the account you added the bank account to. |
currency | String (255 chars) | The currency for the reserves. |
reserved_amount | Decimal (64 bits) | The actual amount of money that is reserved and is not available for withdrawal. |
withdrawals_schedule | Array | An array of time-amount pairs up to the next 10 withdrawals based on current balance, the reserves, and withdrawals schedules. The array will be empty if withdrawals are not yet configured or if there is no balance. |
Example
{
"account_id": 12345,
"currency": "USD",
"reserved_amount": 390.5,
"withdrawals_schedule": [
{
"time": 1386096217,
"amount": 390.5
}
]
}
/account/settlement_setup
Use this call to define how WePay settles funds to a merchant. Know Your Customer (KYC) information must be complete before making this call. Partners need to determine if this user requires multifactor authentication (MFA) to change settlement information. If so, they must request that WePay send the MFA challenge using the user/mfa/send_challenge call, then provide a user interface to obtain the code from the user before making this call.
Arguments
Parameter | Required | Type | Description |
account_id | Yes | String (255 chars) | The account ID for which an auto withdrawal is to be setup. |
settlement_method | Yes | Settlement Method Structure | A JSON structure, containing exactly one of these: settlement_bank_id as setup via /settlement_bank/create, or send_check_to_address which is the address to which recurring checks are sent.
|
frequency | Yes | enum | How often funds are sent.
Possible values: daily , weekly , and monthly .
Note: daily is not allowed for the send_check_to_address settlement method.
|
Example - Settlement Method Bank
{
"account_id": 1234555,
"settlement_method": {
"settlement_bank_id": 12345
},
"frequency": "daily"
}
Example - Settlement Method Check
{
"account_id": 1234555,
"settlement_method": {
"send_check_to_address": {
"address1": "380 Portage Ave",
"address2": "Suite 200",
"city": "Palo Alto",
"region": "CA",
"postal_code": "94603",
"country": "US"
}
},
"frequency": "monthly"
}
Response
Response | Type | Description |
method | String (255 chars) | Indicates the method of payment.
Possible values: ach and check . |
frequency | String (255 chars) | Indicates how often the withdrawal is made.
Possible values: daily , weekly , and monthly . |
Example
{
"method": "ach",
"frequency": "daily"
}
Settlement Method Structure
Contains information about the bank to which funds are sent after withdrawal from a merchant’s account. One of settlement_bank_id or send_check_to_address must be set.
Fields
Field | Required | Type | Description |
settlement_bank_id | No | Integer (64 bits) | Primary settlement bank ID for auto withdrawal. |
send_check_to_address | No | Send Check To Address Structure | Address information about where to send a check for auto withdrawal. |
Example
{
"settlement_method": {
"settlement_bank_id": 122344567
}
}
Send Check To Address Structure
Contains destination address information for a settlement check.
Fields
Field | Required | Type | Description |
address1 | Yes | String (255 chars) | The street address where the check is to be sent. |
address2 | No | String (255 chars) | Additional address information. |
city | Yes | String (255 chars) | The city portion of the address where the check is to be sent. |
region | Yes | String (255 chars) | The state, province, or postal region where the check is to be sent. Must be from 0 to 30 characters in length and must consist of uppercase letters. Conformance to ISO 3166-2 is preferred but not required. |
postal_code | Yes | String (255 chars) | The postal code for the check address. |
country | Yes | String (255 chars) | The country where the check is to be sent. |
example
{
"address1": "123 Main Street",
"address2": "Apartment 2B",
"city": "Littletown",
"region": "PA",
"country": "US",
"postal_code": "12345"
}
KYC Prefill Info Structure
Contains information about a merchant that can be used to prefill fields in the Know Your Customer (KYC) form.
Fields
Field | Required | Type | Description |
name | No | Name Structure | The legal name of the account owner. |
No | String (255 chars) | The email address of the account owner. | |
phone | No | KYC Phone Structure | The phone number of the account owner. |
entity_phone | No | KYC Phone Structure | The phone number of the entity. Note: This is used for businesses and organizations, not individuals. |
address | No | KYC Address Structure | The full address of the account owner. |
entity_address | No | KYC Address Structure | The full address of the entity. Note: This is used for businesses and organizations, not individuals. |
date_of_birth | No | KYC Date Structure | The date of birth of the account owner. |
entity_name | No | String (255 chars) | Name of the entity completing KYC.Note: This is used for businesses and organizations, not individuals. |
url | No | String (2083 chars) | URL that identifies the entity completing KYC.Note: This is used for businesses and organizations, not individuals. |
description | No | String (255 chars) | Description of the entity completing KYC.Note: This is used for businesses and organizations, not individuals. |
Example
{
"name": {
"first": "Kevin",
"last": "Tester",
"middle": "M"
},
"email": "kevin@example.com",
"phone": {
"country_code": "+1",
"phone_number": "5556667777"
},
"entity_phone": {
"country_code": "+1",
"phone_number": "6668950375"
},
"address": {
"address1": "123 Main street",
"postal_code": "12345",
"country": "US"
},
"entity_address": {
"address1": "540 Fade street",
"postal_code": "54321",
"country": "US"
},
"date_of_birth": {
"year": 1942,
"month": 1,
"day": 1
},
"entity_name": "Test legal entity",
"url": "http://www.somelegalentity.com",
"description": "This is a test description for test legal entity"
}
Country Options Structure
Enable debit card processing for Canadian based merchants.
See the Canadian user reference for more details.
Note
This should only be used for Canadian based merchants. It must be explicitly set to True
in order for the merchant to accept payments from debit cards.
Arguments
Field | Required | Type | Description |
debit_opt_in | No | Boolean |
True if you want to enable debit card processing for the merchant. False otherwise.
Default: False
|
Example
{
"debit_opt_in": true
}
Response
Field | Type | Description |
debit_opt_in | Boolean | Indicates whether the given account has opted in to accept debit cards. For US accounts, the response will contain a literal null . |
Example
{
"debit_opt_in": true
}