From 314b99877c56e686765eee98007d7b95e0ce03f3 Mon Sep 17 00:00:00 2001 From: devinmarieb Date: Fri, 29 Mar 2024 12:44:59 -0400 Subject: [PATCH 1/2] Update node links --- docs/output/Capabilities.md | 292 -------------- docs/output/_index.md | 356 ---------------- docs/output/accounts.md | 658 ------------------------------ docs/output/authentication.md | 122 ------ docs/output/avatars.md | 50 --- docs/output/bank-accounts.md | 266 ------------ docs/output/cards.md | 292 -------------- docs/output/enrichment.md | 237 ----------- docs/output/institutions.md | 241 ----------- docs/output/payment-methods.md | 132 ------ docs/output/representatives.md | 327 --------------- docs/output/transfers.md | 718 --------------------------------- docs/output/wallets.md | 246 ----------- 13 files changed, 3937 deletions(-) delete mode 100644 docs/output/Capabilities.md delete mode 100644 docs/output/_index.md delete mode 100644 docs/output/accounts.md delete mode 100644 docs/output/authentication.md delete mode 100644 docs/output/avatars.md delete mode 100644 docs/output/bank-accounts.md delete mode 100644 docs/output/cards.md delete mode 100644 docs/output/enrichment.md delete mode 100644 docs/output/institutions.md delete mode 100644 docs/output/payment-methods.md delete mode 100644 docs/output/representatives.md delete mode 100644 docs/output/transfers.md delete mode 100644 docs/output/wallets.md diff --git a/docs/output/Capabilities.md b/docs/output/Capabilities.md deleted file mode 100644 index 212237a..0000000 --- a/docs/output/Capabilities.md +++ /dev/null @@ -1,292 +0,0 @@ ---- -title: "Capabilities" -weight: 50 ---- -Capabilities determine what a Moov account can do. Each capability has specific information requirements, depending on risk and compliance standards associated with different account activities. For more context, read our [capabilities](/guides/accounts/capabilities) guide. - - -## RequestCapabilities - - -Request a capability to be added to an account. -The `CAPABILITIES_WRITE` scope enum is required when making a request from the browser. - -```javascript -capabilities.requestCapabilities(accountID, capabilities) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request capabilities | -| capabilities | Array.<[CAPABILITIES](#capabilities)> | One or more capability to request | -{{}} - - - -**Returns** - -`Promise.>` - - - -## Get - - -Retrieve a capability of an account -The `CAPABILITIES_READ` scope enum is required when making a request from the browser. - -```javascript -capabilities.get(accountID, capability) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request capabilities | -| capability | [CAPABILITIES](#capabilities) | Capability to retrieve | -{{}} - - - -**Returns** - -`Promise.` - - - -## List - - -List capabilities on an account -The `CAPABILITIES_READ` scope enum is required when making a request from the browser. - -```javascript -capabilities.list(accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request capabilities | -{{}} - - - -**Returns** - -`Promise.>` - - - -## Disable - - -Disable a capability of an account -The `CAPABILITIES_WRITE` scope enum is required when making a request from the browser. - -```javascript -capabilities.disable(accountID, capability) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request capabilities | -| capability | [CAPABILITIES](#capabilities) | Capability to retrieve | -{{}} - - - -**Returns** - -`Promise.` - - - - - - -## Types -### Capability - -Describes a Moov capability associated with an account. - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| capability | [CAPABILITIES](#capabilities) | Type of capability | -| accountID | `string` | Account identifier | -| status | [CAPABILITY_STATUS](#capability_status) | The status of the capability requested for an account | -| requirements | Array.<[Requirement](#requirement)> | Represents individual and business data necessary to facilitate the enabling of a capability for an account | -| disabledReason | `string` | If status is disabled, the reason this capability was disabled | -| createdOn | `Date` | Date capability was created | -| updatedOn | `Date` | Date capability was last updated | -| disabledOn | `Date` | Optional date capability was disabled | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "capability": "transfers", - "accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9", - "status": "enabled", - "requirements": { - "currentlyDue": [ - "account.tos-acceptance" - ], - "errors": [ - { - "requirement": "account.tos-acceptance", - "errorCode": "invalid-value" - } - ] - }, - "disabledReason": "string", - "createdOn": "2019-08-24T14:15:22Z", - "updatedOn": "2019-08-24T14:15:22Z", - "disabledOn": "2019-08-24T14:15:22Z" -} -``` - {{}}{{}} - - - - -### Requirement - -Represents individual and business data necessary to facilitate the enabling of a capability for an account. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | currentlyDue | Array.<[CAPABILITY_REQUIREMENT](#capability_requirement)>| List of required documents and data | - | errors | Array.<[RequirementError](#requirementerror)>| List of missing requirements | - - - -### RequirementError - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | requirement | Array.<[CAPABILITY_REQUIREMENT](#capability_requirement)>| The unique ID of the missing requirement | - | errorCode | Array.<[REQUIREMENT_ERROR_CODE](#requirement_error_code)>| List of relevant error codes (for example, `invalid-value`) | - - - - -## Enums -### CAPABILITIES - -Available capabilities - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| TRANSFERS | Account contains minimum requirements to participate in a transfer | -| SEND_FUNDS | Account can be source of a payout transfer | -| COLLECT_FUNDS | Account can be destination of an ACH debit transfer | -| WALLET | Account can top up balance or use as a source for another transfer | -| 1099 | Account has necessary information for 1099-NEC reporting. If requirement not met before $600 in payouts, transfers is disabled. | -{{}} - -### CAPABILITY_STATUS - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| ENABLED | Capability is enabled and ready for use | -| DISABLED | Capability has been disabled | -| PENDING | Capability has been requested and is pending approval | -{{}} - -### CAPABILITY_REQUIREMENT - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| ACCOUNT_TOS_ACCEPTANCE | Terms of service status | -| INDIVIDUAL_MOBILE | Individual account's mobile number | -| INDIVIDUAL_EMAIL | Individual account's email | -| INDIVIDUAL_EMAIL_OR_MOBILE | Individual account's email or mobile number | -| INDIVIDUAL_FIRSTNAME | Individual account holder's first name | -| INDIVIDUAL_LASTNAME | Individual account holder's last name | -| INDIVIDUAL_ADDRESS | Individual account's address | -| INDIVIDUAL_SSN_LAST4 | Individual account holder's last four of Social Security Number | -| INDIVIDUAL_SSN | Individual account holder's full Social Security Number | -| INDIVIDUAL_BIRTHDATE | Individual account holder's birth date | -| BUSINESS_LEGALNAME | Business's legal name | -| BUSINESS_DESCRIPTION_OR_WEBSITE | Business's description or website | -| BUSINESS_ENTITY_TYPE | Business's entity type | -| BUSINESS_DBA | Business's Doing Business As name | -| BUSINESS_EIN | Business's Employer Identification Number | -| BUSINESS_ADDRESS | Business's address | -| BUSINESS_PHONE | Business's phone number | -| BUSINESS_ADMINS | Business administrators | -| BUSINESS_CONTROLLERS | Business controllers | -| BUSINESS_OWNERS | Business owners | -| BUSINESS_CLASSIFICATION | Business classification | -| BUSINESS_INDUSTRY_CODE_MCC | Business's industry code or merchant category code | -| BANK_ACCOUNTS_NAME | Business's bank account name | -| BANK_ACCOUNTS_ROUTING_NUMBER | Business's bank account routing number | -| BANK_ACCOUNTS_ACCOUNT_NUMBER | Business's bank account number | -| REPRESENTATIVE_MOBILE | Business representative's mobile number | -| REPRESENTATIVE_EMAIL | Business representative's email | -| REPRESENTATIVE_FIRSTNAME | Business representative's first name | -| REPRESENTATIVE_LASTNAME | Business representative's last name | -| REPRESENTATIVE_ADDRESS | Business representative's address | -| REPRESENTATIVE_SSN_LAST4 | Business representative's last four of Social Security Number | -| REPRESENTATIVE_SSN | Business representative's full Social Security Number | -| REPRESENTATIVE_BIRTHDATE | Business representative's birth date | -| REPRESENTATIVE_JOB_TITLE | Business representative's job title | -| REPRESENTATIVE_IS_CONTROLLER | Business representative's controller status | -| REPRESENTATIVE_IS_OWNER | Business representative's owner status | -| REPRESENTATIVE_IS_OWNERSHIP | Business representative's ownership % | -| DOCUMENT | Documents for capability enablement | -{{}} - -### REQUIREMENT_ERROR_CODE - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| INVALID_VALUE | Invalid value | -| FAILED_AUTOMATIC_VERIFICATION | Automatic verification failed | -| FAILED_OTHER | Other failure reason | -| INVALID_ADDRESS | Invalid address | -| ADDRESS_RESTRICTED | Address restricted | -| TAX_ID_MISMATCH | Tax ID mismatch | -| DOCUMENT_ID_MISMATCH | Document ID mismatch | -| DOCUMENT_DATE_OF_BIRTH_MISMATCH | Date of birth mismatch | -| DOCUMENT_NAME_MISMATCH | Name mismatch | -| DOCUMENT_ADDRESS_MISMATCH | Address mismatch | -| DOCUMENT_NUMBER_MISMATCH | Number mismatch | -| DOCUMENT_INCOMPLETE | Incomplete document | -| DOCUMENT_FAILED_RISK | Failed risk assessment | -| DOCUMENT_ILLEGIBLE | Illegible document | -| DOCUMENT_UNSUPPORTED | Unsupported document type | -| DOCUMENT_NOT_UPLOADED | Document did not upload | -| DOCUMENT_CORRUPT | Corrupt document | -| DOCUMENT_EXPIRED | Expired document | -{{}} - diff --git a/docs/output/_index.md b/docs/output/_index.md deleted file mode 100644 index 3ad6b34..0000000 --- a/docs/output/_index.md +++ /dev/null @@ -1,356 +0,0 @@ ---- -title: "Node SDK" -weight: 10 ---- - -Learn how to download and install Moov's server-side Node SDK. - -## Installation -You can download and install the Node SDK from [npm](https://www.npmjs.com/package/@moovio/node). -``` -npm i @moovio/node -``` - -Then import it into your project. -```javascript -import { Moov } from "@moovio/node"; -``` - -## Moov - - -Initializes a new instance of the Moov API client. - -```javascript -new Moov(credentials, gotOptionsOrInstance) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| credentials | `object` | API key credentials | -| credentials.accountID | `string` | Facilitator account ID | -| credentials.publicKey | `string` | Public key value from API key | -| credentials.secretKey | `string` | Secret key value from API key | -| credentials.domain | `string` | One of the domains from API key | -| gotOptionsOrInstance | `object` | Customized Got options or instance. See [docs](https://github.com/sindresorhus/got). | -{{}} - - - - -Get the information for the `credentials` parameter from the Moov -Dashboard. - -Moov uses the [Got](https://github.com/sindresorhus/got) HTTP client -library. If you need to access or customize the request-response pipeline, -then provide customized options or an instance in the `gotOptionsOrInstance` parameter. - -**Examples** - -```javascript -const moov = new Moov({ - accountID: "...", - publicKey: "...", - secretKey: "...", - domain: "...", -}); -``` - - - - -### Accounts - -```javascript -moov.accounts -``` - -Read more on [accounts](accounts) in the Moov Node SDK. - -Gets the Accounts API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.accounts.create(...); -} catch (err) { - // ... -} -``` - - -### Avatars - -```javascript -moov.avatars -``` - -Read more on [avatars](avatars) in the Moov Node SDK. - -Gets the Avatars API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.avatars.get(...); -} catch (err) { - // ... -} -``` - - -### BankAccounts - -```javascript -moov.bankAccounts -``` - -Read more on [bankAccounts](bank-accounts) in the Moov Node SDK. - -Gets the Bank Accounts API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.bankAccounts.link(...); -} catch (err) { - // ... -} -``` - - -### Capabilities - -```javascript -moov.capabilities -``` - -Read more on [capabilities](capabilities) in the Moov Node SDK. - -Gets the Capabilities API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.capabilities.requestCapabilities(...); -} catch (err) { - // ... -} -``` - - -### Cards - -```javascript -moov.cards -``` - -Read more on [cards](cards) in the Moov Node SDK. - -Gets the Cards API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.cards.list(...); -} catch (err) { - // ... -} -``` - - -### EnrichedAddresses - -```javascript -moov.enrichedAddresses -``` - -Read more on [enrichedAddresses](enriched-addresses) in the Moov Node SDK. - -Gets the Enriched Address API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.enrichedAddresses.get(...); -} catch (err) { - // ... -} -``` - - -### EnrichedProfiles - -```javascript -moov.enrichedProfiles -``` - -Read more on [enrichedProfiles](enriched-profiles) in the Moov Node SDK. - -Gets the Enriched Profile API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.enrichedProfiles.get(...); -} catch (err) { - // ... -} -``` - - -### PaymentMethods - -```javascript -moov.paymentMethods -``` - -Read more on [paymentMethods](payment-methods) in the Moov Node SDK. - -Gets the Payment Methods API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.paymentMethods.get(...); -} catch (err) { - // ... -} -``` - - -### Institutions - -```javascript -moov.institutions -``` - -Read more on [institutions](institutions) in the Moov Node SDK. - -Gets the Institutions API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.institutions.getACHInstitution(...); -} catch (err) { - // ... -} -``` - - -### Representatives - -```javascript -moov.representatives -``` - -Read more on [representatives](representatives) in the Moov Node SDK. - -Gets the Representatives API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.representatives.create(...); -} catch (err) { - // ... -} -``` - - -### Transfers - -```javascript -moov.transfers -``` - -Read more on [transfers](transfers) in the Moov Node SDK. - -Gets the Transfers API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.transfers.create(...); -} catch (err) { - // ... -} -``` - - -### Wallets - -```javascript -moov.wallets -``` - -Read more on [wallets](wallets) in the Moov Node SDK. - -Gets the Wallets API. - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.wallets.get(...); -} catch (err) { - // ... -} -``` - - - - - - - diff --git a/docs/output/accounts.md b/docs/output/accounts.md deleted file mode 100644 index 913ce26..0000000 --- a/docs/output/accounts.md +++ /dev/null @@ -1,658 +0,0 @@ ---- -title: "Accounts" -weight: 30 ---- -Accounts represent a legal entity (either a business or an individual) in Moov. You can create an account for yourself or set up accounts for others. You can retrieve an account to get details on the business or individual account holder, such as an email address or employer identification number (EIN). For more context, read our guides on [Moov accounts](/guides/accounts). - - -## Create - - -Create a new connected account. -The `ACCOUNTS_CREATE` scope enum is required when making a request from the browser. - -```javascript -accounts.create(account) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| account | [AccountCreate](#accountcreate) | New account details | -{{}} - - - -**Returns** - -`Promise.` - - - -## List - - -Retrieves details for the list of accounts. -The `ACCOUNTS_READ` scope enum is required when making a request from the browser. - -```javascript -accounts.list(accountID, criteria) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account to query | -| criteria | [AccountListCriteria](#accountlistcriteria) | Optional criteria to limit the list returned. | -{{}} - - - -**Returns** - -`Promise.>` - - - -## Get - - -Retrieves details for the account with the specified ID. -The `PROFILE_READ` scope enum is required when making a request from the browser. - -```javascript -accounts.get(connectedAccountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| connectedAccountID | `string` | User account to query | -{{}} - - - -**Returns** - -`Promise.` - - - -## Update - - -Updates an existing account. Requires a complete Account object. -The `PROFILE_WRITE` scope enum is required when making a request from the browser. - -```javascript -accounts.update(account) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| account | [Account](#account) | Account to update | -{{}} - - - -**Returns** - -`Promise.` - - - -## Patch - - -Updates an existing account. Does not require a complete Account object, -but the `accountID` property is required. -The `PROFILE_WRITE` scope enum is required when making a request from the browser. - -```javascript -accounts.patch(account) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| account | [Account](#account) | Account to update | -{{}} - - - -**Returns** - -`Promise.` - - - -## GetCountries - - -Retrieve the specified countries of operation for an account. -The `PROFILE_READ` scope enum is required when making a request from the browser. - -```javascript -accounts.getCountries(accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account to query | -{{}} - - - -**Returns** - -`Promise.` - - - -## AssignCountries - - -Assign the countries of operation for an account. This endpoint will always overwrite the previously assigned values. -The `PROFILE_WRITE` scope enum is required when making a request from the browser. - -```javascript -accounts.assignCountries(accountID, countries) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account to query | -| countries | [Countries](#countries) | Countries to add to the account | -{{}} - - - -**Returns** - -`Promise.` - - - - - - -## Types -### Account - -Describes a Moov account associated with an individual or a business. - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account identifier | -| accountType | `individual`, `business` | Type of entity represented by this account | -| displayName | `string` | Name of individual or business | -| profile | [Profile](#profile) | Details for individual or business | -| metadata | `object` | Arbitrary key-value pairs | -| foreignID | `string` | Optional identification or alias | -| verification | [AccountVerification](#accountverification) | Describes identity verification status and relevant identity verification documents | -| customerSupport | [CustomerSupport](#customersupport), `null` | Displayed on credit card transactions (business only) | -| settings | [AccountSettings](#accountsettings), `null` | Account settings | -| createdOn | `string` | Date account was created | -| updatedOn | `string` | Date account was last updated | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "accountType": "business", - "profile": { - "business": { - "legalBusinessName": "Whole Body Fitness LLC", - "doingBusinessAs": "Whole Body Fitness", - "businessType": "llc", - "address": { - "addressLine1": "123 Main Street", - "addressLine2": "Apt 302", - "city": "Boulder", - "stateOrProvince": "CO", - "postalCode": "80301", - "country": "US" - }, - "phone": { - "number": "8185551212", - "countryCode": "1" - }, - "email": "amanda@classbooker.dev", - "website": "www.wholebodyfitnessgym.com", - "description": "Local fitness center paying out instructors", - "taxID": { - "ein": { - "number": "123-45-6789" - } - }, - "industryCodes": { - "naics": "713940", - "sic": "7991", - "mcc": "7997" - } - } - }, - "metadata": { - "property1": "string", - "property2": "string" - }, - "termsOfService": { - "token": "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4" - }, - "foreignID": "4528aba-b9a1-11eb-8529-0242ac13003", - "customerSupport": { - "phone": { - "number": "8185551212", - "countryCode": "1" - }, - "email": "amanda@classbooker.dev", - "address": { - "addressLine1": "123 Main Street", - "addressLine2": "Apt 302", - "city": "Boulder", - "stateOrProvince": "CO", - "postalCode": "80301", - "country": "US" - }, - "website": "www.wholebodyfitnessgym.com" - }, - "settings": { - "cardPayment": { - "statementDescriptor": "Whole Body Fitness" - } - } -} -``` - {{}}{{}} - - - - -### AccountCreate - - - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| accountType | `individual`, `business` | Type of entity represented by this account | -| profile | [Profile](#profile) | Details for individual or business | -| metadata | `object` | Arbitrary key-value pairs | -| termsOfService | [TermsOfServiceToken](#termsofservicetoken), `null` | An encrypted value used to record acceptance of Moov's Terms of Service | -| foreignID | `string` | Optional identification or alias | -| customerSupport | [CustomerSupport](#customersupport), `null` | Displayed on credit card transactions (business only) | -| settings | [AccountSettings](#accountsettings), `null` | Account settings | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "mode": "production", - "accountType": "business", - "profile": { - "individual": { - "name": { - "firstName": "Amanda", - "middleName": "Amanda", - "lastName": "Yang", - "suffix": "Jr" - }, - "phone": { - "number": "8185551212", - "countryCode": "1" - }, - "email": "amanda@classbooker.dev", - "address": { - "addressLine1": "123 Main Street", - "addressLine2": "Apt 302", - "city": "Boulder", - "stateOrProvince": "CO", - "postalCode": "80301", - "country": "US" - }, - "birthDate": { - "day": 9, - "month": 11, - "year": 1989 - }, - "governmentID": { - "ssn": { - "full": "123-45-6789", - "lastFour": "6789" - }, - "itin": { - "full": "123-45-6789", - "lastFour": "6789" - } - } - }, - "business": { - "legalBusinessName": "Whole Body Fitness LLC", - "doingBusinessAs": "Whole Body Fitness", - "businessType": "llc", - "address": { - "addressLine1": "123 Main Street", - "addressLine2": "Apt 302", - "city": "Boulder", - "stateOrProvince": "CO", - "postalCode": "80301", - "country": "US" - }, - "phone": { - "number": "8185551212", - "countryCode": "1" - }, - "email": "amanda@classbooker.dev", - "website": "www.wholebodyfitnessgym.com", - "description": "Local fitness center paying out instructors", - "taxID": { - "ein": { - "number": "123-45-6789" - } - }, - "industryCodes": { - "naics": "713940", - "sic": "7991", - "mcc": "7997" - } - } - }, - "metadata": { - "property1": "string", - "property2": "string" - }, - "termsOfService": { - "token": "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4" - }, - "foreignID": "4528aba-b9a1-11eb-8529-0242ac13003", - "customerSupport": { - "phone": { - "number": "8185551212", - "countryCode": "1" - }, - "email": "amanda@classbooker.dev", - "address": { - "addressLine1": "123 Main Street", - "addressLine2": "Apt 302", - "city": "Boulder", - "stateOrProvince": "CO", - "postalCode": "80301", - "country": "US" - }, - "website": "www.wholebodyfitnessgym.com" - }, - "settings": { - "cardPayment": { - "statementDescriptor": "Whole Body Fitness" - } - } -} -``` - {{}}{{}} - - - - -### TermsOfServiceToken - -A token that can then be used to accept Moov's Terms of Service. Must be generated from a web browser. See the [Moovjs](/moovjs/accounts/accounts/#platform-terms-of-service-agreement) documentation for more details. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | token | `string`| An encrypted value used to record acceptance of Moov's Terms of Service | - - - -### Name - -A person's name. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | firstName | `string`| A person's first name | - | middleName | `string`| A person's middle name | - | lastName | `string`| A person's last name | - | suffix | `string`| A person's suffix | - - - -### Profile - -Profile for a Moov acocunt. May be business or individual. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | business | [BusinessProfile](#businessprofile)| A business account | - | individual | [IndividualProfile](#individualprofile)| An individual account | - - - -### BusinessProfile - -Describes a business account. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | legalBusinessName | `string`| Business's legal name | - | doingBusinessAs | `string`| Business's trade name (if different than the legal name) | - | businessType | `soleProprietorship`, `unincorporatedAssociation`, `trust`, `publicCorporation`, `privateCorporation`, `privateCorporation`, `llc`, `partnership`, `unincorporatedNonProfit`, `incorporatedNonProfit`| The legal registered type of the business | - | address | [Address](#address)| Business's address | - | phone | [Phone](#phone)| Business's phone number | - | email | `string`| Business's email | - | website | `string`| Business's website | - | description | `string`| Description of the business | - | taxIDProvided | `boolean`| `true` if business's tax ID has been provided | - | representatives | Array.<[Representative](#representative)>| | - | ownersProvided | `boolean`| `true` if business owner(s) have been provided | - | industryCodes | [IndustryCodes](#industrycodes)| Business's industry code (for example, `mcc`) | - - - -### IndividualProfile - -Describes the individual associated with a non-business account. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | name | [Name](#name)| Individual's name | - | phone | [Phone](#phone)| Individual's phone number | - | email | `string`| Individual's email address | - | address | [Address](#address)| Individual's address | - | birthDateProvided | `boolean`| `true` if individual's birth date has been provided | - | governmentIDProvided | `boolean`| `true` if individual's government-issued ID has been provided | - - - -### Phone - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | number | `string`| Phone number | - | countryCode | `string`| 1 digit country code | - - - -### IndustryCodes - -Standard industry codes for businesses. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | naics | `string`| North American Industry Classification System | - | sic | `string`| Standard Industry Classification | - | mcc | `string`| Merchant Category Codes | - - - -### Representative - -Describes an individual who represents a business account. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | name | [Name](#name)| Representative's first and last name | - | phone | [Phone](#phone)| Representative's phone number | - | email | `string`| Representative's email address | - | address | [Address](#address)| Representative's address | - | birthDateProvided | `boolean`| `true` if individual's birth date has been provided | - | governmentIDProvided | `boolean`| `true` if individual's government-issued ID has been provided | - | responsibilities | Array.<[Responsibility](#responsibility)>| | - | createdOn | `string`| Date representative was recorded | - | updatedOn | `string`| Date representative was last updated | - | disabledOn | `string`| Date representative was removed from business | - - - -### Responsibility - -Describes the responsibilities associated with a business representative. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | isController | `boolean`| `true` if representative has significant management responsibilities | - | isOwner | `boolean`| `true` if representative owns ≥25% of the business | - | ownershipPercentage | `number`| % of business representative owns (required if `isOwner` is `true`) | - | jobTitle | `string`| Job title of representative (for example, CEO) | - - - -### AccountVerification - -Describes the verification state of an account - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | verificationStatus | `unverified`, `pending`, `resubmit`, `review`, `verified`, `failed`| The status of an identity verification for a profile | - - - -### CustomerSupport - -Describes customer support contact information for a business account. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | phone | [Phone](#phone)| Customer support phone number | - | email | `string`| Customer support email | - | address | [Address](#address)| Customer support address | - | website | `string`| Customer support website | - - - -### AccountSettings - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | cardPayment | [CardPaymentSettings](#cardpaymentsettings)| Card payment settings (business only) | - - - -### CardPaymentSettings - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | statementDescriptor | `string`| Description to display on credit card transactions | - - - -### Countries - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | countries | `Array.`| Countries of operation for an account | - - - -### AccountListCriteria - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | name | [Name](#name)| If provided, this query will attempt to find matches (including partial) against the following Account and Profile fields: Account `displayName`, Individual Profile `firstName`, `middleName`, `lastName`, and `suffix`, and Business Profile `legalBusinessName`, and `doingBusinessAs` | - | email | `string`| Filter connected accounts by email address. It is not necessary to provided the full email address as partial matches will also be returned. | - | type | `individual`, `business`| Filter connected accounts by AccountType. If the `type` parameter is used in combination with name, only the corresponding type's `name` fields will be searched. For example, if `type=business` and `name=moov`, the search will attempt to find matches against the display name and Business Profile name fields (`legalBusinessName`, and `doingBusinessAs`). | - | foreignID | `string`| Serves as an optional alias from a foreign/external system which can be used to reference this resource | - | count | `number`| Optional parameter to limit the number of results in the query | - | skip | `number`| The number of items to offset before starting to collect the result set | - - - -### Address - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | addressLine1 | `string`| Street address | - | addressLine2 | `string`| Unit number | - | city | `string`| 25 characters or less | - | stateOrProvince | `string`| 2 characters | - | postalCode | `string`| 5 characters | - | country | `string`| 2 characters | - - - - - diff --git a/docs/output/authentication.md b/docs/output/authentication.md deleted file mode 100644 index 528a6d0..0000000 --- a/docs/output/authentication.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: "Authentication" -weight: 20 ---- - -Every Moov API request requires a valid OAuth token. Our authentication flow follows the OAuth 2.0 standard. When making requests from the browser, you'll also need to request scope enums when generating a token. If a scope enum is required, it will be listed with the example. - - -## GenerateToken - - -Generates an OAuth token required by Moov API requests. For more on our authentication protocol, read our [quick start guide](/guides/quick-start/#create-an-access-token). - -```javascript -moov.generateToken(scopes, accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| scopes | Array.<[SCOPES](#scopes)> | One or more permissions to request | -| accountID | `string` | Account on which to request permissions, default is your account ID | -{{}} - - - -**Returns** - -`Promise.` - -You only need call this function when generating tokens for [Moov.js](/moovjs) and -[Moov Drops](/moovjs/drops). The other functions in this library generate tokens for you -automatically. - -**Examples** - -```javascript -const moov = new Moov(...); -const token = await moov.generateToken([ - SCOPES.ACCOUNTS_CREATE, - SCOPES.PING -]); -``` - - -## Ping - - -Pings the Moov servers to check for connectivity. -Read more about [/ping](/api/#tag/Ping). - -```javascript -moov.ping() -``` - - - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - await moov.ping(); - // Ping succeeded -} catch (err) { - // Ping failed -} -``` - - - -## Types -### Token - -OAuth2 token returned by `Moov.generateToken()`. Use `Token.token` in Moov.js -and client-side code to make calls to the Moov API. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | token | `string`| String token required by Moov API requests | - | expiresOn | `Date`| Date and time when the token expires | - | refreshToken | `string`| String used to refresh this token | - - - - -## Enums -### SCOPES - -For client-side integration, you'll need to request scopes when generating an OAuth token. See available scopes below: - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| ACCOUNTS_CREATE | Allows a new Moov account to be created | -| ACCOUNTS_READ | List connected accounts -- see also PROFILE_READ | -| BANK_ACCOUNTS_READ | Access to view a linked bank account to a Moov account | -| BANK_ACCOUNTS_WRITE | Access to add a linked bank account to a Moov account | -| CARDS_READ | Access to view a linked card on a Moov account | -| CARDS_WRITE | Access add a linked card to a Moov account | -| CAPABILITIES_READ | Access to view capabilities, determining what actions the account can do | -| CAPABILITIES_WRITE | Access to request capabilities, determining what actions the account can do | -| DOCUMENTS_READ | Access to view documents (like I-9s, W-4s) associated with a Moov account | -| DOCUMENTS_WRITE | Access to upload documents (like I-9s, W-4s) associated with a Moov account | -| PAYMENT_METHODS_READ | Access to view payment methods for the account specified | -| PROFILE_ENRICHMENT_READ | Access to view a Moov account’s profile image | -| PROFILE_READ | Access to view details associated with a Moov account -- see also ACCOUNTS_READ | -| PROFILE_WRITE | Access to edit details associated with a Moov account | -| REPRESENTATIVE_READ | Access to view details on business representatives for a Moov account | -| REPRESENTATIVE_WRITE | Access to add details on business representatives for a Moov account | -| TRANSFERS_READ | Access to view transfers | -| TRANSFERS_WRITE | Access to move money by creating transfers | -| WALLETS_READ | Access to view the balance on an account’s Moov wallet | -| FED_READ | Allows a developer to use the institutions lookup service to look up a bank name by routing number | -| PING | Ping Moov servers to test for connectivity | -{{}} - diff --git a/docs/output/avatars.md b/docs/output/avatars.md deleted file mode 100644 index 34d18ae..0000000 --- a/docs/output/avatars.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Avatars" -weight: 130 ---- -You can retrieve an account's profile image. This is especially useful if you'd like to use the profile image for a corresponding account in your own product. - - -## Get - - -Gets a binary representation of an avatar. -The `PROFILE_ENRICHMENT_READ` scope enum is required when making a request from the browser. - -```javascript -avatars.get(uniqueId) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| uniqueId | `string` | Any unique ID associated with an account such as AccountID, RepresentativeID, Routing Number, or User ID | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const avatar = await moov.avatars.get("..."); -} catch (err) { - // ... -} -``` - - - - - - - - diff --git a/docs/output/bank-accounts.md b/docs/output/bank-accounts.md deleted file mode 100644 index 08257c8..0000000 --- a/docs/output/bank-accounts.md +++ /dev/null @@ -1,266 +0,0 @@ ---- -title: "Bank accounts" -weight: 60 ---- -To transfer money with Moov, you’ll need to link a bank account to your Moov account, then verify that account. You can link a bank account to a Moov account by adding the bank account number and routing number to the account object. We require micro-deposit verification to reduce the risk of fraud or unauthorized activity. You can verify a bank account by initiating micro-deposits, sending two small credit transfers to the bank account you want to confirm. Alternatively, you can link and verify a bank account in one step through an instant account verification token from a third party provider like Plaid. For more context, read our [bank accounts](/guides/sources/bank-accounts/) guide. - - -## Link - - -Link a bank account to a Moov account -The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. - -```javascript -bankaccounts.link(accountID, bankAccount, plaidToken, mxAuthorizationCode) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to add the bank account | -| bankAccount | [BankAccountAdd](#bankaccountadd) | Optional bank account details | -| plaidToken | `string` | Optional Plaid processor token | -| mxAuthorizationCode | `string` | Optional Plaid processor authorization code | -{{}} - - - -**Returns** - -`Promise.` - - - -## Get - - -Retrieve bank account details (i.e. routing number or account type) associated with a specific Moov account. -The `BANK_ACCOUNTS_READ` scope enum is required when making a request from the browser. - -```javascript -bankaccounts.get(accountID, bankAccountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request bank account | -| bankAccountID | `string` | ID of the bank account to retrieve | -{{}} - - - -**Returns** - -`Promise.` - - - -## List - - -List all the bank accounts associated with a particular Moov account. -The `BANK_ACCOUNTS_READ` scope enum is required when making a request from the browser. - -```javascript -bankaccounts.list(accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request bank account | -{{}} - - - -**Returns** - -`Promise.>` - - - -## Disable - - -Discontinue using a specified bank account linked to a Moov account. -The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. - -```javascript -bankaccounts.disable(accountID, bankAccountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request bank account | -| bankAccountID | `string` | ID of the bank account to disable | -{{}} - - - -**Returns** - -`Promise.` - - - -## InitMicroDeposits - - -Initiate a micro deposit for a bank account linked to a Moov account. -The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. - -```javascript -bankaccounts.initMicroDeposits(accountID, bankAccountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request bank account | -| bankAccountID | `string` | ID of the bank account to disable | -{{}} - - - -**Returns** - -`Promise.` - - - -## CompleteMicroDeposits - - -Complete the micro-deposit validation process by passing the amounts of the two transfers. -The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. - -```javascript -bankaccounts.completeMicroDeposits(accountID, bankAccountID, amounts) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request bank account | -| bankAccountID | `string` | ID of the bank account to disable | -| amounts | `Array.` | Array of two positive integers, in cents, equal to the values of the micro-deposits sent to the bank account. | -{{}} - - - -**Returns** - -`Promise.` - - - - - - -## Types -### BankAccount - -Describes a Bank Account. - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| bankAccountID | `string` | Bank Account identifier | -| fingerprint | `string` | Fingerprint of Bank Account | -| status | [BANK_ACCOUNT_STATUS](#bank_account_status) | The bank account status | -| holderName | `string` | Name of the bank account holder | -| holderType | [BANK_ACCOUNT_HOLDER_TYPE](#bank_account_holder_type) | The type of holder on a funding source | -| bankName | `string` | Name of the bank | -| bankAccountType | [BANK_ACCOUNT_TYPE](#bank_account_type) | The bank account type | -| routingNumber | `string` | Bank account routing number | -| lastFourAccountNumber | `string` | Last four digits of the bank account number | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "bankAccountID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", - "status": "new", - "holderName": "Jules Jackson", - "holderType": "individual", - "bankName": "Chase Bank", - "bankAccountType": "checking", - "routingNumber": "string", - "lastFourAccountNumber": "7000" -} -``` - {{}}{{}} - - - - -### BankAccountAdd - -Describes a Bank Account to be added. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | holderName | `string`| Name of the bank account holder | - | holderType | [BANK_ACCOUNT_HOLDER_TYPE](#bank_account_holder_type)| The type of holder on a funding source | - | routingNumber | `string`| Bank account routing number | - | accountNumber | `string`| The bank account number | - | bankAccountType | [BANK_ACCOUNT_TYPE](#bank_account_type)| The bank account type | - - - - -## Enums -### BANK_ACCOUNT_STATUS - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| NEW | Bank Account is created and waiting on verification. | -| VERIFIED | Bank Account is verified and ready for use. | -| VERIFICATION_FAILED | Bank Account verification failed. | -| PENDING | Bank Account is pending approval. | -| ERRORED | Bank Account is in an errored state. | -{{}} - -### BANK_ACCOUNT_HOLDER_TYPE - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| INDIVIDUAL | Bank Account holder is a type of individual. | -| BUSINESS | Bank Account holder is a type of business. | -{{}} - -### BANK_ACCOUNT_TYPE - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| CHECKING | Bank Account is a type of checking. | -| SAVINGS | Bank Account is a type of savings. | -| UNKNOWN | Bank Account is a type of unknown. | -{{}} - diff --git a/docs/output/cards.md b/docs/output/cards.md deleted file mode 100644 index 56b6245..0000000 --- a/docs/output/cards.md +++ /dev/null @@ -1,292 +0,0 @@ ---- -title: "Cards" -weight: 70 ---- - -You can link credit or debit cards to Moov accounts. You can use a card as a source for making transfers, which charges the card. - - -## Get - - -Retrieves details for the card with the specified ID. -The `CARDS_READ` scope enum is required when making a request from the browser. - -```javascript -cards.get(accountID, cardID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account to query | -| cardID | `string` | Card to query | -{{}} - - - -**Returns** - -`Promise.` - - - -## List - - -Lists all the cards associated with a particular Moov account. -The `CARDS_READ` scope enum is required when making a request from the browser. - -```javascript -cards.list(accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account to query | -{{}} - - - -**Returns** - -`Promise.>` - - - -## Link - - -Links a card to a Moov account. Only use this endpoint if you have provided Moov with a -copy of your PCI attestation of compliance. -The `CARDS_WRITE` scope enum is required when making a request from the browser. - -```javascript -cards.link(accountID, card) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account to link | -| card | [LinkCard](#linkcard) | Card information | -{{}} - - - -**Returns** - -`Promise.` - - - -## Disable - - -Disables a card with the specified ID. -The `CARDS_WRITE` scope enum is required when making a request from the browser. - -```javascript -cards.disable(accountID, cardID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account to query | -| cardID | `string` | Card to query | -{{}} - - - -**Returns** - -`Promise.` - - - - - - -## Types -### CardExpiration - -Card account expiration date - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | month | `string`| 2 character month | - | year | `string`| 2 character year | - - - -### LinkCard - -Card information collected for acquisition. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | cardNumber | `string`| All digits of the card | - | expiration | [CardExpiration](#cardexpiration)| Card expiration date | - | cardCvv | `string`| 3-4 digit card verification value | - | holderName | `string`| Full name of the card holder | - | billingAddress | [CardBillingAddress](#cardbillingaddress)| The billing address of the card | - - - -### CardBillingAddress - -Card billing address - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | addressLine1 | `string`| string <= 32 characters | - | addressLine2 | `string`| string <= 32 characters | - | city | `string`| string <= 24 characters | - | stateOrProvince | `string`| string <= 2 characters | - | postalCode | `string`| string <= 5 characters | - | country | `string`| string <= 2 characters | - - - -### CardVerficationStatuses - -Card verification statuses - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | cvv | [CARD_VERIFICATION_STATUS](#card_verification_status)| Verification status of the CVV | - | addressLine1 | [CARD_VERIFICATION_STATUS](#card_verification_status)| Verification status of addressLine1 | - | postalCode | [CARD_VERIFICATION_STATUS](#card_verification_status)| Verification status of the postalCode | - - - -### Card - -Describes a Card account. - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| cardID | `string` | Card account identifier | -| fingerprint | `string` | string <= 100 characters that is a unique fingerprint of a card | -| brand | [CARD_BRAND](#card_brand) | The card brand | -| cardType | [CARD_TYPE](#card_type) | The type of the card | -| lastFourCardNumber | `string` | Last four digits of the card | -| bin | `string` | The BIN number of the card | -| expiration | [CardExpiration](#cardexpiration) | The expiration info of the card | -| holderName | `string` | The name of the card holder | -| billingAddress | [CardBillingAddress](#cardbillingaddress) | The billing address of the card | -| cardVerfication | [CardVerficationStatuses](#cardverficationstatuses) | The results of submitting cardholder data to a card network for verification | -| issuer | `string` | The name of the issuer | -| issuerCountry | `string` | The country of the issuer | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "cardID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", - "brand": "American Express", - "cardType": "debit", - "lastFourCardNumber": "1234", - "bin": "123456", - "expiration": { - "month": "01", - "year": "21" - }, - "holderName": "Jules Jackson", - "billingAddress": { - "addressLine1": "123 Main Street", - "addressLine2": "Apt 302", - "city": "Boulder", - "stateOrProvince": "CO", - "postalCode": "80301", - "country": "US" - }, - "cardVerification": { - "cvv": "match", - "addressLine1": "match", - "postalCode": "match" - }, - "issuer": "GRINGOTTS BANK", - "issuerCountry": "US" -} -``` - {{}}{{}} - - - - -### CardDetails - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | dynamicDescriptor | `string`| An optional override of the default card statement descriptor for a single transfer | - | merchantInitiatedType | `recurring`, `unscheduled`, `null`| Enum: [recurring unscheduled] Describes how the card transaction was initiated | - - - - -## Enums -### CARD_BRAND - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| AMEX | American Express | -| DISCOVER | Discover | -| MC | MasterCard | -| VISA | Visa | -{{}} - -### CARD_TYPE - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| DEBIT | Debit card | -| CREDIT | Credit card | -| PREPAID | Prepaid card | -| UNKNOWN | Unknown type | -{{}} - -### CARD_VERIFICATION_STATUS - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| NO_MATCH | No Match | -| MATCH | Match | -| NOT_CHECKED | Not Checked | -| UNAVAILABLE | Unavailable | -{{}} - diff --git a/docs/output/enrichment.md b/docs/output/enrichment.md deleted file mode 100644 index 7a59096..0000000 --- a/docs/output/enrichment.md +++ /dev/null @@ -1,237 +0,0 @@ ---- -title: "Enrichment" -weight: 120 ---- - -Access different enrichment data such as address suggestions or profile data. Our profile enrichment service is offered in collaboration with Clearbit. - - -## Get - - -Gets enriched address suggestions. -The `PROFILE_ENRICHMENT_READ` scope enum is required when making a request from the browser. - -```javascript -enrichedaddresses.get(criteria) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| criteria | [EnrichedAddressGetCriteria](#enrichedaddressgetcriteria) | Criteria for available search parameters | -{{}} - - - -**Returns** - -`Promise.>` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const suggestedAddresses = moov.enrichedAddresses.get({ - search: "123 Fake St", - includeCities: "Springfield" - // ... - }); -} catch (err) { - // ... -} -``` - - - - -## Get - - -Gets enriched profile data. -The `PROFILE_ENRICHMENT_READ` scope enum is required when making a request from the browser. - -```javascript -enrichedprofiles.get(email) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| email | `string` | Email address associated with the profile. | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const enrichedProfile = moov.enrichedProfiles.get("employee@business.com"); -} catch (err) { - // .. -} -``` - - - - - -## Types -### EnrichedAddress - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | addressLine1 | `string`| Street address | - | addressLine2 | `string`| Unit number | - | city | `string`| 25 characters or less | - | stateOrProvince | `string`| 2 characters | - | postalCode | `string`| 5 characters | - | entries | `number`| The number of addresses matching the search criteria | - - - -### EnrichedAddressGetCriteria - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | search | `string`| Partial or complete address to search | - | maxResults | `number`| Optional Maximum number of results to return | - | includeCities | `string`| Optional - Limits results to a list of given cities (example, "chicago;honolulu;portland") | - | includeStates | `string`| Optional - Limits results to a list of given states (example, "illinois;hawaii;oregon") | - | includeZipcodes | `string`| Optional - Limits results to a list of given ZIP codes (example, "60412;96818;97209") | - | excludeStates | `string`| Optional - Exclude list of states from results. No include parameters may be used with this parameter. Example: "AZ;WA;SC" | - | preferCities | `string`| Optional- Display results with the listed cities at the top (example, "denver;aurora;omaha") | - | preferStates | `string`| Optional - Display results with the listed states at the top (example, "CO;MN;WI") | - | preferZipcodes | `string`| Optional - Display results with the listed ZIP codes at the top (example, "60412;96818;97209") | - | preferRatio | `number`| Optional - Specifies the percentage of address suggestions that should be preferred and will appear at the top of the results | - | preferGeolocation | `none`, `city`| Optional - If omitted or set to city it uses the sender's IP address to determine location, then automatically adds the city and state to the preferCities value (example: "city"). This parameter takes precedence over other include or exclude parameters meaning that if it is not set to none you may see addresses from areas you do not wish to see. | - | selected | `string`| Optional - Useful for narrowing results with `addressLine2` suggestions such as Apt. Denotes an apartment building with multiple residences (example, "Apt"). | - | source | `all`, `postal`| Optional - Include results from alternate data sources. Allowed values are `all` (non-postal addresses) or `postal` (postal addresses only). | - - - -### EnrichedProfile - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | individual | [EnrichedIndividualProfile](#enrichedindividualprofile)| Describes a person | - | business | [EnrichedBusinessProfile](#enrichedbusinessprofile)| Describes a company | - - - -### EnrichedBusinessProfile - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | legalBusinessName | `string`| Business's legal name | - | address | [EnrichedProfileAddress](#enrichedprofileaddress)| Business's address | - | email | `string`| Business's email | - | phone | [EnrichedProfilePhone](#enrichedprofilephone)| Business's phone | - | industryCodes | [EnrichedProfileIndustry](#enrichedprofileindustry)| Describes industry specific identifiers | - | website | `string`| Business's website | - - - -### EnrichedIndividualProfile - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | name | [EnrichedProfileName](#enrichedprofilename)| Individual's name | - | email | `string`| Individual's email | - | address | [EnrichedProfileAddress](#enrichedprofileaddress)| Individual's address | - - - -### EnrichedProfileAddress - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | addressLine1 | `string`| Street address | - | addressLine2 | `string`| Unit number | - | city | `string`| 25 characters or less | - | stateOrProvince | `string`| 2 characters | - | postalCode | `string`| 5 characters | - | country | `string`| 2 characters | - - - -### EnrichedProfileIndustry - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | naics | `string`| North American Industry Classification System | - | sic | `string`| Standard Industrial Classification | - - - -### EnrichedProfileName - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | firstName | `string`| First name | - | middleName | `string`| Middle name | - | lastName | `string`| Last name | - | suffix | `string`| Suffix | - - - -### EnrichedProfilePhone - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | number | `string`| Phone number | - | countryCode | `string`| Country code | - - - - - diff --git a/docs/output/institutions.md b/docs/output/institutions.md deleted file mode 100644 index 2b518c3..0000000 --- a/docs/output/institutions.md +++ /dev/null @@ -1,241 +0,0 @@ ---- -title: "Institutions" -weight: 110 ---- -Lookup ACH and wire participating financial institutions. We recommend using this endpoint when an end-user enters a routing number to confirm their bank or credit union. - - -## GetACHInstitution - - -Get information on a financial institution for ACH -The `FED_READ` scope enum is required when making a request from the browser. - -```javascript -institutions.getACHInstitution(criteria) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| criteria | [ACHInstitutionSearchCriteria](#achinstitutionsearchcriteria) | Criteria for available search parameters | -{{}} - - - -**Returns** - -`Promise.` - - - -## GetWireInstitution - - -Get information on a financial institution for WIRE -The `FED_READ` scope enum is required when making a request from the browser. - -```javascript -institutions.getWireInstitution(criteria) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| criteria | [ACHInstitutionSearchCriteria](#achinstitutionsearchcriteria) | Criteria for available search parameters | -{{}} - - - -**Returns** - -`Promise.` - - - -## GetInstitution - - -Get information on a financial institution -The `FED_READ` scope enum is required when making a request from the browser. - -```javascript -institutions.getInstitution(criteria, rail) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| criteria | [ACHInstitutionSearchCriteria](#achinstitutionsearchcriteria) | Criteria for available search parameters | -| rail | `string` | The specific rail to check on, 'ach' or 'wire'. | -{{}} - - - -**Returns** - -`Promise.` - - - - - - -## Types -### ACHInstitution - -ACH Institution holds a FedACH dir routing record as defined by Fed ACH Format. - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| routingNumber | `string` | Routing number for an ACH institution | -| officeCode | `string` | Main/Head Office or Branch. O=main B=branch | -| servicingFRBNumber | `string` | Servicing Fed's main office routing number | -| recordTypeCode | `string` | RecordTypeCode The code indicating the ABA number to be used to route or send ACH items to the RDFI - 0 = Institution is a Federal Reserve Bank - 1 = Send items to customer routing number - 2 = Send items to customer using new routing number field | -| revised | `string` | Revised Date of last revision: YYYYMMDD, or blank | -| newRoutingNumber | `string` | Institution's new routing number resulting from a merger or renumber | -| customerName | `string` | Customer's name | -| phoneNumber | `string` | Phone number | -| statusCode | `string` | Code is based on the customers receiver code | -| viewCode | `string` | ViewCode is current view | -| location | [ACHInstitutionLocation](#achinstitutionlocation) | Location is the delivery address | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "routingNumber": "123456789", - "officeCode": "0", - "servicingFRBNumber": "123456789", - "recordTypeCode": "1", - "revised": "041921", - "newRoutingNumber": "987654321", - "customerName": "Main Street Bank", - "phoneNumber": "123-456-7789", - "statusCode": "1", - "viewCode": "1", - "location": { - "address": "123 Main Street", - "city": "Boulder", - "state": "Colorado", - "postalCode": "80301", - "postalCodeExtension": "0000" - } -} -``` - {{}}{{}} - - - - -### ACHInstitutionLocation - -ACH Institution Location object. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | address | `string`| Up to 32 characters | - | city | `string`| Up to 24 characters | - | state | `string`| Up to 24 characters | - | postalCode | `string`| Up to 5 characters | - | postalCodeExtension | `string`| Up to 4 characters | - - - -### ACHInstitutionSearchCriteria - -ACH Institution search criteria - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | name | `string`| Optional financial institution name to search | - | routingNumber | `string`| Optional routing number for a financial institution to search | - | count | `string`| Optional parameter to limit the amount of results in the query | - | skip | `string`| Optional The number of items to offset before starting to collect the result set | - - - -### WireInstitution - -Wire Institution holds a FedWIRE dir routing record as defined by Fed WIRE Format - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| routingNumber | `string` | Routing number for an Wire institution | -| telegraphicName | `string` | The short name of financial institution | -| customerName | `string` | Customer's name | -| location | [WireInstitutionLocation](#wireinstitutionlocation) | Location is the delivery address | -| fundsTransferStatus | `string` | Designates funds transfer status - Y - Eligible - N - Ineligible | -| fundsSettlementOnlyStatus | `string` | Designates funds settlement only status - S - Settlement-Only | -| bookEntrySecuritiesTransferStatus | `string` | Designates book entry securities transfer status | -| date | `string` | Date of last revision: YYYYMMDD, or blank | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "routingNumber": "123456789", - "telegraphicName": "MN STR BNK", - "customerName": "Main Street Bank", - "location": { - "city": "Boulder", - "state": "Colorado" - }, - "fundsTransferStatus": "Y", - "fundsSettlementOnlyStatus": " ", - "bookEntrySecuritiesTransferStatus": "Y", - "date": "20000222" -} -``` - {{}}{{}} - - - - -### WireInstitutionLocation - -Wire Institution Location object. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | city | `string`| Up to 24 characters | - | state | `string`| Up to 24 characters | - - - -### InstitutionParticipants - -ACH and Wire Institution participants - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | achParticipants | Array.<[ACHInstitution](#achinstitution)>| Array of ACH institutions | - | wireParticipants | Array.<[WireInstitution](#wireinstitution)>| Array of Wire institutions | - - - - - diff --git a/docs/output/payment-methods.md b/docs/output/payment-methods.md deleted file mode 100644 index e678af7..0000000 --- a/docs/output/payment-methods.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: "Payment methods" -weight: 80 ---- -Payments methods represent all of the ways an account can move funds to another Moov account. Payment methods are generated programmatically when a card or bank account is added or the status is updated. For example, `ach-debit-fund` will be added as a payment method once the bank account is verified. For more context, read our [payment methods](/guides/money-movement/payment-methods/) guide. - - -## Get - - -Get the specified payment method associated with a Moov account. -The `PAYMENT_METHODS_READ` scope enum is required when making a request from the browser. - -```javascript -paymentmethods.get(accountID, paymentMethodID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request bank account | -| paymentMethodID | `string` | ID of the payment method to retrieve. Can be one of `walletID`, `cardID`, or `bankAccountID`. | -{{}} - - - -**Returns** - -`Promise.` - - - -## List - - -Retrieve all of the payment methods associated with a Moov account. -The `PAYMENT_METHODS_READ` scope enum is required when making a request from the browser. - -```javascript -paymentmethods.list(accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request bank account | -{{}} - - - -**Returns** - -`Promise.>` - - - - - - -## Types -### WalletPaymentType - -Wallet Payment Type - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | walletID | `string`| Wallet identifier | - - - -### PaymentMethod - -Describes a Payment Method. - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| paymentMethodID | `string` | Payment Method identifier | -| paymentMethodType | [PAYMENT_METHODS_TYPE](#payment_methods_type) | Fingerprint of Bank Account | -| wallet | [WalletPaymentType](#walletpaymenttype) | Optional wallet object when payment method type is 'moov-wallet'. | -| bankAccount | [BankAccount](#bankaccount) | Optional bank account object when payment method type is one of 'ach-debit-fund', 'ach-debit-collect', ach-credit-standard', or 'ach-credit-same-day'. | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "paymentMethodType": "ach-debit-fund", - "bankAccount": { - "bankAccountID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", - "status": "new", - "holderName": "Jules Jackson", - "holderType": "individual", - "bankName": "Chase Bank", - "bankAccountType": "checking", - "routingNumber": "string", - "lastFourAccountNumber": "7000" - } -} -``` - {{}}{{}} - - - - - -## Enums -### PAYMENT_METHODS_TYPE - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| MOOV_WALLET | Moov Wallet Payment Type | -| ACH_DEBIT_FUND | ACH Debt Fund Payment Type | -| ACH_DEBIT_COLLECT | ACH Debt Collect Payment Type | -| ACH_CREDIT_STANDARD | ACH Credit Standard Payment Type | -| ACH_CREDIT_SAME_DAY | ACH Credit Same Day Payment Type | -| CARD | Card Payment Type | -{{}} - diff --git a/docs/output/representatives.md b/docs/output/representatives.md deleted file mode 100644 index 1fda5de..0000000 --- a/docs/output/representatives.md +++ /dev/null @@ -1,327 +0,0 @@ ---- -title: "Representatives" -weight: 40 ---- -We require all business accounts to have valid information for at least one representative. Moov accounts must have verified business representatives before a business account can send funds, collect money from other accounts, or store funds in a wallet. - - -## Create - - -Create representative -The `REPRESENTATIVE_WRITE` scope enum is required when making a request from the browser. - -```javascript -representatives.create(accountID, representative) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to add representative | -| representative | [RepresentativeCreateUpdate](#representativecreateupdate) | Representative to add | -{{}} - - - -**Returns** - -`Promise.` - - - -## List - - -List representatives -The `REPRESENTATIVE_READ` scope enum is required when making a request from the browser. - -```javascript -representatives.list(accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to add representative | -{{}} - - - -**Returns** - -`Promise.>` - - - -## Get - - -Retrieve a specific representative associated with a given Moov account. -The `REPRESENTATIVE_READ` scope enum is required when making a request from the browser. - -```javascript -representatives.get(accountID, representativeID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to add representative | -| representativeID | `string` | Identifier of representative to retrieve | -{{}} - - - -**Returns** - -`Promise.` - - - -## Delete - - -Deletes a business representative associated with a Moov account. -The `REPRESENTATIVE_WRITE` scope enum is required when making a request from the browser. - -```javascript -representatives.delete(accountID, representativeID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to add representative | -| representativeID | `string` | Identifier of representative to retrieve | -{{}} - - - -**Returns** - -`Promise.` - - - -## Update - - -Update a specific representative. -The `REPRESENTATIVE_WRITE` scope enum is required when making a request from the browser. - -```javascript -representatives.update(accountID, representativeID, representative) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to add representative | -| representativeID | `string` | Identifier of representative to retrieve | -| representative | [RepresentativeCreateUpdate](#representativecreateupdate) | Representative to add | -{{}} - - - -**Returns** - -`Promise.` - - - - - - -## Types -### Representative - -Describes an individual who represents the business. - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| representativeID | `string` | Representative identifier | -| name | [RepresentativeName](#representativename) | Name for an individual | -| phone | [RepresentativePhone](#representativephone) | Phone for an individual | -| email | `string` | Email Address. string <= 255 characters | -| address | [RepresentativeAddress](#representativeaddress) | Address for an individual. | -| birthDateProvided | `boolean` | Indicates whether this Representative's birth date has been provided | -| governmentIDProvided | `boolean` | Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this Representative | -| responsibilities | [RepresentativeResponsibilities](#representativeresponsibilities) | Describes the job responsibilities of an individual | -| createdOn | `Date` | Date Representative was created | -| updatedOn | `Date` | Date Representative was last updated | -| disabledOn | `Date` | Optional date Representative was disabled | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "representativeID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "name": { - "firstName": "Amanda", - "middleName": "Amanda", - "lastName": "Yang", - "suffix": "Jr" - }, - "phone": { - "number": "8185551212", - "countryCode": "1" - }, - "email": "amanda@classbooker.dev", - "address": { - "addressLine1": "123 Main Street", - "addressLine2": "Apt 302", - "city": "Boulder", - "stateOrProvince": "CO", - "postalCode": "80301", - "country": "US" - }, - "birthDateProvided": false, - "governmentIDProvided": false, - "responsibilities": { - "isController": false, - "isOwner": true, - "ownershipPercentage": 38, - "jobTitle": "CEO" - }, - "createdOn": "2019-08-24T14:15:22Z", - "updatedOn": "2019-08-24T14:15:22Z", - "disabledOn": "2019-08-24T14:15:22Z" -} -``` - {{}}{{}} - - - - -### RepresentativeName - -Representative name - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | firstName | `string`| Name this person was given. This is usually the same as first name. string <= 64 characters | - | middleName | `string`| Name this person was given. This is usually the same as middle name. string <= 64 characters | - | lastName | `string`| Family name of this person. This is usually the same as last name. string <= 64 characters | - | suffix | `string`| Suffix of a given name. string <= 20 characters | - - - -### RepresentativePhone - -Representative phone - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | number | `string`| string <= 10 characters | - | countryCode | `string`| string <= 1 characters | - - - -### RepresentativeAddress - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | addressLine1 | `string`| string <= 32 characters | - | addressLine2 | `string`| string <= 32 characters | - | city | `string`| string <= 24 characters | - | stateOrProvince | `string`| string <= 2 characters | - | postalCode | `string`| string <= 5 characters | - | country | `string`| string <= 2 characters | - - - -### RepresentativeResponsibilities - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | isController | `boolean`| Indicates whether this individual has significant management responsibilities within the business | - | isOwner | `boolean`| Indiciates whether this individual has an ownership stake of at least 25% in the business | - | ownershipPercentage | `number`| The percentage of ownership this individual has in the business (required if `isOwner` is `true`) | - | jobTitle | `string`| string <= 64 characters | - - - -### RepresentativeBirthDate - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | day | `number`| 1 or 2 digit day of birth | - | month | `number`| 1 or 2 digit month of birth | - | year | `number`| 4 digit year of birth | - - - -### GovernmentID - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | full | `string`| string <= 64 characters | - | lastFour | `string`| string <= 4 characters | - - - -### RepresentativeGovernmentID - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | ssn | [GovernmentID](#governmentid)| Social Security Number | - | itin | [GovernmentID](#governmentid)| Individual Taxpayer Identification Number | - - - -### RepresentativeCreateUpdate - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | name | [RepresentativeName](#representativename)| Name for an individual | - | phone | [RepresentativePhone](#representativephone)| Phone for an individual | - | email | `string`| Email Address. string <= 255 characters | - | address | [RepresentativeAddress](#representativeaddress)| Address for an individual | - | birthDate | [RepresentativeBirthDate](#representativebirthdate)| Birth date for an individual | - | governmentID | [RepresentativeGovernmentID](#representativegovernmentid)| Social Security Number, or Individual Taxpayer Identification Number | - | responsibilities | [RepresentativeResponsibilities](#representativeresponsibilities)| Describes the job responsibilities of an individual | - - - - - diff --git a/docs/output/transfers.md b/docs/output/transfers.md deleted file mode 100644 index d5d3f66..0000000 --- a/docs/output/transfers.md +++ /dev/null @@ -1,718 +0,0 @@ ---- -title: "Transfers" -weight: 90 ---- - -A transfer is the movement of money between Moov accounts, from source to destination. Provided you have linked a bank account which has been verified, you can initiate a transfer to another Moov account. For more context, read our [transfers](/guides/money-movement) guide. - - -## Create - - -Creates a transfer to move money from a source to a destination. -The `TRANSFERS_WRITE` scope enum is required when making a request from the browser. - -```javascript -transfers.create(transfer, idempotencyKey) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| transfer | [TransferCreate](#transfercreate) | Subset of the Transfer object | -| idempotencyKey | `string` | Optional UUID to prevent duplicate transfers | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const transfer = { - source: { paymentMethodID: "..." }, - destination: { paymentMethodID: "..." }, - amount: { - value: 3215, // $32.15 - currency: "USD" - }, - facilitatorFee: { - total: 8, // $0.08 - }, - description: "Yoga class" - }; - const { transferID } = moov.transfers.create(transfer); -} catch (err) { - // ... -} -``` - - -## List - - -Lists transfers that match the given criteria. -The `TRANSFERS_READ` scope enum is required when making a request from the browser. - -```javascript -transfers.list(criteria) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| criteria | [TransferListCriteria](#transferlistcriteria) | Optional properties by which to query and filter a transfer list | -{{}} - - - -**Returns** - -`Promise.>` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const criteria = { - accountIDs: ["...", "...", ...], - status: "pending", - startDateTime: new Date("1/1/2022").toISOString(), // inclusive - endDateTime: new Date("2/1/2022").toISOString(), // exclusive - count: 15, - skip: 15, // start on page 2 - }; - const results = await moov.transfers.list(criteria); -} catch (err) { - // ... -} -``` - - -## Get - - -Gets the details of a transfer. -The `TRANSFERS_READ` scope enum is required when making a request from the browser. - -```javascript -transfers.get(transferID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| transferID | `string` | Transfer identifier | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const transfer = await moov.transfers.get("..."); -} catch (err) { - // ... -} -``` - - -## UpdateMetadata - - -Update the metadata on a transfer. -The `TRANSFERS_WRITE` scope enum is required when making a request from the browser. - -```javascript -transfers.updateMetadata(transferID, metadata) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| transferID | `string` | Transfer identifier | -| metadata | `object` | Arbitrary key-value pairs | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const transfer = await moov.transfers.updateMetadata( - "...", - { key: "value" } - ); -} catch (err) { - // ... -} -``` - - -## GetTransferOptions - - -Gets the available payment options for a transfer. -The `TRANSFERS_READ` scope enum is required when making a request from the browser. - -```javascript -transfers.getTransferOptions(transferOptionsCriteria) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| transferOptionsCriteria | [TransferOptionsCriteria](#transferoptionscriteria) | Criteria for available payment options | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const options = moov.transfers.getTransferOptions({ - source: { - accountID: "...", - paymentMethodID: "..." - }, - destination: { - accountID: "...", - paymentMethodID: "..." - }, - amount: { - value: 43350, // $433.50 - currency: "USD" - } - }); -} catch (err) { - // ... -} -``` - - -## Refund - - -Initiate a refund for a card transfer. -The `TRANSFERS_WRITE` scope enum is required when making a request from the browser. - -```javascript -transfers.refund(transferID, idempotencyKey) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| transferID | `string` | Transfer identifier | -| idempotencyKey | `string` | Optional UUID to prevent duplicate refunds | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const { transferID } = moov.transfers.refund( - "...", - { amount: 200 } // omit if creating a refund for the full amount - ); -} catch (err) { - // ... -} -``` - - -## ListRefunds - - -List refunds for a card transfer. -The `TRANSFERS_READ` scope enum is required when making a request from the browser. - -```javascript -transfers.listRefunds(transferID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| transferID | `string` | Transfer identifier | -{{}} - - - -**Returns** - -`Promise.>` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const refunds = moov.transfers.listRefunds("..."); -} catch (err) { - // ... -} -``` - - -## GetRefund - - -Get details of a specific refund. -The `TRANSFERS_READ` scope enum is required when making a request from the browser. - -```javascript -transfers.getRefund(transferID, refundID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| transferID | `string` | Transfer identifier | -| refundID | `string` | Refund identifier | -{{}} - - - -**Returns** - -`Promise.` - - - -**Examples** - -```javascript -const moov = new Moov(...); -try { - const refund = moov.transfers.getRefund("..."); -} catch (err) { - // ... -} -``` - - - - - -## Types -### CardDetails - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | dynamicDescriptor | `string`| An optional override of the default card statement descriptor for a single transfer | - | transactionSource | `first-recurring`, `recurring`, `unscheduled`, `null`| Enum: [first-recurring recurring unscheduled] Describes how the card transaction was initiated | - - - -### PaymentMethodAccount - -High-level account information associated with a payment method. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | accountID | `string`| Payment method identifier | - | email | `string`| Email associated with the payment method | - | displayName | `string`| Display name associated with the payment method | - - - -### BankAccount - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | bankAccountID | `string`| Bank Account identifier | - | fingerprint | `string`| Fingerprint of the bank account | - | status | `new`, `verified`, `verificationFailed`, `pending`, `errored`| Bank account status | - | holderName | `string`| Name of the account holder | - | holderType | `individual`, `business`| Type of holder on a funding source | - | bankName | `string`| Name of the bank | - | bankAccountType | `checking`, `savings`, `unknown`| | - | routingNumber | `string`| Bank account routing number | - | lastFourAccountNumber | `string`| Last four digits of the bank account number | - - - -### Wallet - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | walletID | `string`| Wallet identifier | - - - -### CardExpiration - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | month | `string`| 2 characters | - | year | `string`| 2 characters | - - - -### CardVerification - -The results of submitting cardholder data to a card network for verification. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | cvv | `noMatch`, `match`, `notChecked`, `unavailable`| Card Verification Value status | - | addressLine1 | `noMatch`, `match`, `notChecked`, `unavailable`| Address status | - | postalCode | `noMatch`, `match`, `notChecked`, `unavailable`| Postal code status | - - - -### Card - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | cardID | `string`| Card identifier | - | fingerprint | `string`| Fingerprint of the card | - | brand | `American Express`, `Discover`, `MasterCard`, `Visa`| Card brand | - | cardType | `debit`, `credit`, `prepaid`, `unknown`| Card type | - | lastFourCardNumber | `string`| Last four digits of the card number | - | bin | `string`| Bank Identification Number | - | expiration | [CardExpiration](#cardexpiration)| The card's expiration date | - | holderName | `string`| The cardholder's name | - | billingAddress | [Address](#address)| The billing address associated with the card | - | cardVerification | [CardVerification](#cardverification)| The results of submitting cardholder data to a card network for verification | - - - -### ACHCode - -Models the reason for an ACH return or correction. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | code | `string`| Ach return code (for example, R01) | - | reason | `string`| The network's reason for the return or correction (for example, insufficient funds) | - | description | `string`| Explanation of the return code and reason | - - - -### ACHDetails - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | status | `initiated`, `originated`, `corrected`, `returned`, `completed`| ACH rail status | - | traceNumber | `string`| Tracking number that can be used by payment recipient to trace the payment with their external financial institution | - | return | [ACHCode](#achcode)| ACH return information per Nacha specification | - | correction | [ACHCode](#achcode)| ACH notification of change information per Nacha specification | - - - -### PaymentMethod - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | paymentMethodID | `string`| Payment method identifier | - | paymentMethodType | `moov-wallet`, `ach-debit-fund`, `ach-debit-collect`, `ach-credit-standard`, `ach-credit-same-day`, `rtp-credit`, `card-payment`| Allowed payment method types | - | account | [PaymentMethodAccount](#paymentmethodaccount)| Account information associated with the payment method | - | bankAccount | [BankAccount](#bankaccount)| Optional bank account object when payment method type is one of `ach-debit-fund`, `ach-debit-collect`, `ach-credit-standard`, or `ach-credit-same-day` | - | card | [Card](#card)| Optional card object when payment method type is one of `card-payment` or `apple-pay` | - | wallet | [Wallet](#wallet)| Optional wallet object when payment method type is `moov-wallet` | - | achDetails | [ACHDetails](#achdetails)| Information about ACH transfers and status details | - | cardDetails | [CardDetails](#carddetails)| Statement descriptor and recurring flag for card payments | - - - -### Amount - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | value | `number`| Integer quantity in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | - | currency | `string`| 3 letter ISO 4217 currency code | - - - -### Refund - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | refundID | `string`| Refund identifier | - | createdOn | `string`| Date-time the refund was created on | - | updatedOn | `string`| Date-time the refund was updated on | - | status | `created`, `pending`, `completed`, `failed`| Refund status | - | amount | [Amount](#amount)| Refund amount | - - - -### Transfer - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | transferID | `string`| Transfer identifier | - | createdAt | `string`| Deprecated (now createdOn) | - | createdOn | `string`| Date-time the transfer was created on | - | status | `created`, `pending`, `completed`, `failed`, `reversed`| Transfer status | - | source | [PaymentMethod](#paymentmethod)| `paymentMethodID` or `transferID` | - | destination | [PaymentMethod](#paymentmethod)| `paymentMethodID` | - | amount | [Amount](#amount)| Transfer amount | - | description | `string`| Transfer description (128 characters max) | - | metadata | `object`| Arbitrary key-value pairs | - | refundedAmount | [Amount](#amount)| The total refunded amount | - | refunds | Array.<[Refund](#refund)>| Array of refunds associated with the transfer | - | facilitatorFee | `object`| Total or markup fee | - | moovFee | `number`| Integer quantity of Moov fee in USD, so $0.11 would be 11 | - | moovFeeDecimal | `string`| The precise fee charged - supports up to 9 decimals | - - - -### TransferCreate - - - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| source | [PaymentMethod](#paymentmethod) | `paymentMethodID` or `transferID` | -| destination | [PaymentMethod](#paymentmethod) | `paymentMethodID` | -| amount | [Amount](#amount) | Transfer amount represented by an integer value and its currency | -| facilitatorFee | `object` | Total or markup fee | -| description | `string` | Transfer description (128 characters max) | -| metadata | `object` | Arbitrary key-value pairs | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "source": { - "transferID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "cardDetails": {} - }, - "destination": { - "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43" - }, - "amount": { - "currency": "USD", - "value": 1204 - }, - "facilitatorFee": { - "total": 0, - }, - "description": "Pay Instructor for May 15 Class", - "metadata": { - "property1": "string", - "property2": "string" - } -} -``` - {{}}{{}} - - - - -### TransferResponse - - - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| transferID | `string` | Transfer identifier | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "transferID": "e23de6dd-5168-4e1d-894d-807fa691dc80" -} -``` - {{}}{{}} - - - - -### TransferListCriteria - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | accountIDs | `Array.`| Optional list of account IDs to filter sources and destinations | - | status | `string`| Optional transfer status by which to filter the transfers | - | startDateTime | `string`| Optional date-time which inclusively filters all transfers created after this starting date-time | - | endDateTime | `string`| Optional date-time which exclusively filters all transfers created before this date-time | - | count | `number`| Optional parameter to limit the number of results in the query | - | skip | `number`| Optional number of items to offset before starting to collect the result set | - - - -### TransferOptionsCriteria - -Criteria for finding available payment types for a transfer. - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | source | `object`| `accountID` or `paymentMethodID` | - | source.accountID | `string`| `accountID` associated with the transfer source | - | source.paymentMethodID | `string`| `paymentMethodID` associated with the transfer source | - | destination | `object`| `accountID` or `paymentMethodID` | - | destination.accountID | `string`| `accountID` associated with the transfer destination | - | destination.paymentMethodID | `string`| `paymentMethodID` associated with the transfer destination | - | amount | [Amount](#amount)| Transfer amount represented by an integer value and its currency | - - - -### TransferOptions - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | paymentMethodID | `string`| `paymentMethodID` associated with a transfer | - | paymentMethodType | `moov-wallet`, `ach-debit-fund`, `ach-debit-collect`, `ach-credit-standard`, `ach-credit-same-day`, `rtp-credit`, `card-payment`| | - | wallet | [Wallet](#wallet)| Populated when `paymentMethodType` is `moov-wallet` | - | bankAccount | [BankAccount](#bankaccount)| Populated when `paymentMethodType` is one of the ACH or FTP variations | - | card | [Card](#card)| Populated when `paymentMethodType` is `card-payment` | - - - -### AvailableTransferOptions - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | sourceOptions | Array.<[TransferOptions](#transferoptions)>| Array of available payment methods for the source of a transfer | - | destinationOptions | Array.<[TransferOptions](#transferoptions)>| Array of available payment methods for the destination of a transfer | - - - -### Refund - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | refundID | `string`| Refund identifier | - | createdOn | `string`| Date-time the refund was created on | - | updatedOn | `string`| Date-time the refund was updated on | - | status | `created`, `pending`, `completed`, `failed`| Refund status | - | amount | [Amount](#amount)| Refund amount | - - - - - diff --git a/docs/output/wallets.md b/docs/output/wallets.md deleted file mode 100644 index 4b35228..0000000 --- a/docs/output/wallets.md +++ /dev/null @@ -1,246 +0,0 @@ ---- -title: "Wallets" -weight: 100 ---- - -Every Moov account automatically comes with a Moov wallet, which serves as a funding source as you accumulate funds. -At this time, wallets can't be manually created, deleted or modified. They are read-only and are automatically created when a Moov account is associated with an application. For more context, read our [wallets](/guides/sources/wallets/) guide. - - -## Get - - -Get information on a specific Moov wallet (e.g., the available balance). -The `WALLETS_READ` scope enum is required when making a request from the browser. - -```javascript -wallets.get(accountID, walletID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request wallet | -| walletID | `string` | The ID for the wallet associated with an account | -{{}} - - - -**Returns** - -`Promise.` - - - -## List - - -List the wallets associated with a Moov account. -The `WALLETS_READ` scope enum is required when making a request from the browser. - -```javascript -wallets.list(accountID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | Account on which to request wallets | -{{}} - - - -**Returns** - -`Promise.>` - - - -## GetTransaction - - -Get the details of a wallet transaction. -The `WALLETS_READ` scope enum is required when making a request from the browser. - -```javascript -wallets.getTransaction(accountID, walletID, transactionID) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | UUID v4 | -| walletID | `string` | UUID v4 | -| transactionID | `string` | UUID v4 | -{{}} - - - -**Returns** - -`Promise.` - - - -## ListTransactions - - -List the transactions in a wallet. -The `WALLETS_READ` scope enum is required when making a request from the browser. - -```javascript -wallets.listTransactions(accountID, walletID, criteria) -``` - -**Parameters** -{{< table >}} -| Name | Type | Description | -| ---- | ---- | ----------- | -| accountID | `string` | UUID v4 | -| walletID | `string` | UUID v4 | -| criteria | [WalletTransactionListCriteria](#wallettransactionlistcriteria) | Filtering criteria to limit the results returned. | -{{}} - - - -**Returns** - -`Promise.>` - - - - - - -## Types -### Wallet - -Describes a Moov Wallet - -**Properties** - - -{{< tabs>}} - {{< tab title="Details">}} - {{< table >}} -| Property | Type | Description | -| ---- | ---- | ----------- | -| walletID | `string` | UUID v4 | -| availableBalance | [Amount](#amount) | Balance based on all completed transactions against the wallet. | -{{}} - {{< /tab>}} -{{< tab title="Example">}} -```javascript -{ - "walletID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", - "availableBalance": { - "currency": "USD", - "value": 1204 // $12.04 - } -} -``` - {{}}{{}} - - - - -### WalletTransaction - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | walletID | `string`| UUID v4 | - | transactionID | `string`| UUID v4 | - | transactionType | [WALLET_TRANSACTION_TYPE](#wallet_transaction_type)| wallet transaction type. | - | sourceType | [WALLET_TRANSACTION_SOURCE_TYPE](#wallet_transaction_source_type)| where the transaction originated. | - | sourceID | `string`| ID of the source Moov object to which this transaction is related. Can be one of [walletID](/api/sources/wallets/list/), [cardID](/api/sources/cards/list/), or [bankAccountID](/api/sources/bank-accounts/list/). | - | status | [WALLET_TRANSACTION_STATUS](#wallet_transaction_status)| wallet transaction status. | - | memo | `string`| Detailed description of the transaction. | - | createdOn | `string`| Date transaction was created. | - | completedOn | `string`| Date transaction was completed. | - | currency | `string`| 3-letter ISO 4217 currency code. | - | grossAmount | `integer`| The total transaction amount. The amount is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | - | fee | `integer`| Total fees paid for the transaction. The amount is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | - | netAmount | `integer`| Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. The amount is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | - | availableBalance | `integer`| The wallet's total available balance after recording a completed transaction. The value is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | - - - -### WalletTransactionListCriteria - - - -**Properties** - -| Property | Type | Description | -| ---- | ---- | ----------- | - | transactionType | [WALLET_TRANSACTION_TYPE](#wallet_transaction_type)| Only return transactions of this type. | - | sourceType | [WALLET_TRANSACTION_SOURCE_TYPE](#wallet_transaction_source_type)| Only return transactions of this source type. | - | sourceID | `string`| Only return transactions that were part of this transfer ID. | - | status | [WALLET_TRANSACTION_STATUS](#wallet_transaction_status)| Only return transactions in this state. | - | createdStartDateTime | `string`| Only return transactions created on or after this datetime. | - | createdEndDateTime | `string`| Only return transactions created before this datetime. | - | completedStartDateTime | `string`| Only return transactions completed on or after this datetime. | - | completedEndDateTime | `string`| Only return transactions completed before this datetime. | - | count | `number`| Maximum number of transactions to return in results | - | skip | `number`| Number of transactions to skip before collection results | - - - - -## Enums -### WALLET_TRANSACTION_TYPE - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| ACH_REVERSAL | When an ach payment is returned, funds are either returned or taken from the wallet balance. | -| CARD_PAYMENT | A payment that was made from a card. | -| CASH_OUT | Transfer of funds out of a wallet to the account’s bank. | -| DISPUTE | When a customer disputes a charge, the disputed amount is debited from the wallet. | -| DISPUTE_REVERSAL | If a dispute is won by a merchant, funds will be credited back to their wallet. | -| FACILITATOR_FEE | Fee earned on a transfer. | -| ISSUING_REFUND | A refund on a purchase from a Moov issued card. | -| ISSUING_TRANSACTION | An authorized purchase from a Moov issued card. | -| ISSUING_TRANSACTION_ADJUSTMENT | If an authorized purchase is captured for more or less than the original authorization amount, an adjustment will be made to reflect the difference. | -| ISSUING_AUTH_RELEASE | Any funds that were not captured from an authorized purchase from a Moov issued card will be released. | -| PAYMENT | An ACH payment from a bank to the account’s wallet. | -| PAYOUT | A payment from a wallet to another accounts bank. | -| REFUND | When a refund is initiated, the requested refund amount is debited from the wallet. | -| REFUND_FAILURE | To account for refund failures, a credit will be made back into the wallet. | -| TOP_UP | Transfer of funds into a wallet from the account’s bank. | -| WALLET_TRANSFER | Funds that move between Moov wallets. | -{{}} - -### WALLET_TRANSACTION_SOURCE_TYPE - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| TRANSFER | Transaction was part of a transfer. | -| DISPUTE | Transaction was part of a dispute. | -| ISSUING_TRANSACTION | Transaction was part of an issuing transaction. | -{{}} - -### WALLET_TRANSACTION_STATUS - - - -{{< table >}} -| Value | Description | -| ----- | ----------- | -| PENDING | Transaction has not completed. | -| COMPLETED | Transaction has completed. | -| FAILED | Transaction failed. | -{{}} - From 87e8b5ac6fd4e85b0a4a1440c7bd6a7ece91b5d3 Mon Sep 17 00:00:00 2001 From: devinmarieb Date: Tue, 7 May 2024 12:49:32 -0400 Subject: [PATCH 2/2] Remove account verification status --- docs/output/_index.md | 356 ++++++++++++++++ docs/output/accounts.md | 645 +++++++++++++++++++++++++++++ docs/output/authentication.md | 122 ++++++ docs/output/avatars.md | 50 +++ docs/output/bank-accounts.md | 266 ++++++++++++ docs/output/capabilities.md | 292 ++++++++++++++ docs/output/cards.md | 292 ++++++++++++++ docs/output/enrichment.md | 237 +++++++++++ docs/output/institutions.md | 241 +++++++++++ docs/output/payment-methods.md | 132 ++++++ docs/output/representatives.md | 327 +++++++++++++++ docs/output/transfers.md | 718 +++++++++++++++++++++++++++++++++ docs/output/wallets.md | 246 +++++++++++ lib/accounts.js | 8 - lib/types/accounts.d.ts | 20 - 15 files changed, 3924 insertions(+), 28 deletions(-) create mode 100644 docs/output/_index.md create mode 100644 docs/output/accounts.md create mode 100644 docs/output/authentication.md create mode 100644 docs/output/avatars.md create mode 100644 docs/output/bank-accounts.md create mode 100644 docs/output/capabilities.md create mode 100644 docs/output/cards.md create mode 100644 docs/output/enrichment.md create mode 100644 docs/output/institutions.md create mode 100644 docs/output/payment-methods.md create mode 100644 docs/output/representatives.md create mode 100644 docs/output/transfers.md create mode 100644 docs/output/wallets.md diff --git a/docs/output/_index.md b/docs/output/_index.md new file mode 100644 index 0000000..3ad6b34 --- /dev/null +++ b/docs/output/_index.md @@ -0,0 +1,356 @@ +--- +title: "Node SDK" +weight: 10 +--- + +Learn how to download and install Moov's server-side Node SDK. + +## Installation +You can download and install the Node SDK from [npm](https://www.npmjs.com/package/@moovio/node). +``` +npm i @moovio/node +``` + +Then import it into your project. +```javascript +import { Moov } from "@moovio/node"; +``` + +## Moov + + +Initializes a new instance of the Moov API client. + +```javascript +new Moov(credentials, gotOptionsOrInstance) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| credentials | `object` | API key credentials | +| credentials.accountID | `string` | Facilitator account ID | +| credentials.publicKey | `string` | Public key value from API key | +| credentials.secretKey | `string` | Secret key value from API key | +| credentials.domain | `string` | One of the domains from API key | +| gotOptionsOrInstance | `object` | Customized Got options or instance. See [docs](https://github.com/sindresorhus/got). | +{{}} + + + + +Get the information for the `credentials` parameter from the Moov +Dashboard. + +Moov uses the [Got](https://github.com/sindresorhus/got) HTTP client +library. If you need to access or customize the request-response pipeline, +then provide customized options or an instance in the `gotOptionsOrInstance` parameter. + +**Examples** + +```javascript +const moov = new Moov({ + accountID: "...", + publicKey: "...", + secretKey: "...", + domain: "...", +}); +``` + + + + +### Accounts + +```javascript +moov.accounts +``` + +Read more on [accounts](accounts) in the Moov Node SDK. + +Gets the Accounts API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.accounts.create(...); +} catch (err) { + // ... +} +``` + + +### Avatars + +```javascript +moov.avatars +``` + +Read more on [avatars](avatars) in the Moov Node SDK. + +Gets the Avatars API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.avatars.get(...); +} catch (err) { + // ... +} +``` + + +### BankAccounts + +```javascript +moov.bankAccounts +``` + +Read more on [bankAccounts](bank-accounts) in the Moov Node SDK. + +Gets the Bank Accounts API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.bankAccounts.link(...); +} catch (err) { + // ... +} +``` + + +### Capabilities + +```javascript +moov.capabilities +``` + +Read more on [capabilities](capabilities) in the Moov Node SDK. + +Gets the Capabilities API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.capabilities.requestCapabilities(...); +} catch (err) { + // ... +} +``` + + +### Cards + +```javascript +moov.cards +``` + +Read more on [cards](cards) in the Moov Node SDK. + +Gets the Cards API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.cards.list(...); +} catch (err) { + // ... +} +``` + + +### EnrichedAddresses + +```javascript +moov.enrichedAddresses +``` + +Read more on [enrichedAddresses](enriched-addresses) in the Moov Node SDK. + +Gets the Enriched Address API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.enrichedAddresses.get(...); +} catch (err) { + // ... +} +``` + + +### EnrichedProfiles + +```javascript +moov.enrichedProfiles +``` + +Read more on [enrichedProfiles](enriched-profiles) in the Moov Node SDK. + +Gets the Enriched Profile API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.enrichedProfiles.get(...); +} catch (err) { + // ... +} +``` + + +### PaymentMethods + +```javascript +moov.paymentMethods +``` + +Read more on [paymentMethods](payment-methods) in the Moov Node SDK. + +Gets the Payment Methods API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.paymentMethods.get(...); +} catch (err) { + // ... +} +``` + + +### Institutions + +```javascript +moov.institutions +``` + +Read more on [institutions](institutions) in the Moov Node SDK. + +Gets the Institutions API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.institutions.getACHInstitution(...); +} catch (err) { + // ... +} +``` + + +### Representatives + +```javascript +moov.representatives +``` + +Read more on [representatives](representatives) in the Moov Node SDK. + +Gets the Representatives API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.representatives.create(...); +} catch (err) { + // ... +} +``` + + +### Transfers + +```javascript +moov.transfers +``` + +Read more on [transfers](transfers) in the Moov Node SDK. + +Gets the Transfers API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.transfers.create(...); +} catch (err) { + // ... +} +``` + + +### Wallets + +```javascript +moov.wallets +``` + +Read more on [wallets](wallets) in the Moov Node SDK. + +Gets the Wallets API. + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.wallets.get(...); +} catch (err) { + // ... +} +``` + + + + + + + diff --git a/docs/output/accounts.md b/docs/output/accounts.md new file mode 100644 index 0000000..1cf8d45 --- /dev/null +++ b/docs/output/accounts.md @@ -0,0 +1,645 @@ +--- +title: "Accounts" +weight: 30 +--- +Accounts represent a legal entity (either a business or an individual) in Moov. You can create an account for yourself or set up accounts for others. You can retrieve an account to get details on the business or individual account holder, such as an email address or employer identification number (EIN). For more context, read our guides on [Moov accounts](/guides/accounts). + + +## Create + + +Create a new connected account. +The `ACCOUNTS_CREATE` scope enum is required when making a request from the browser. + +```javascript +accounts.create(account) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| account | [AccountCreate](#accountcreate) | New account details | +{{}} + + + +**Returns** + +`Promise.` + + + +## List + + +Retrieves details for the list of accounts. +The `ACCOUNTS_READ` scope enum is required when making a request from the browser. + +```javascript +accounts.list(accountID, criteria) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account to query | +| criteria | [AccountListCriteria](#accountlistcriteria) | Optional criteria to limit the list returned. | +{{}} + + + +**Returns** + +`Promise.>` + + + +## Get + + +Retrieves details for the account with the specified ID. +The `PROFILE_READ` scope enum is required when making a request from the browser. + +```javascript +accounts.get(connectedAccountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| connectedAccountID | `string` | User account to query | +{{}} + + + +**Returns** + +`Promise.` + + + +## Update + + +Updates an existing account. Requires a complete Account object. +The `PROFILE_WRITE` scope enum is required when making a request from the browser. + +```javascript +accounts.update(account) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| account | [Account](#account) | Account to update | +{{}} + + + +**Returns** + +`Promise.` + + + +## Patch + + +Updates an existing account. Does not require a complete Account object, +but the `accountID` property is required. +The `PROFILE_WRITE` scope enum is required when making a request from the browser. + +```javascript +accounts.patch(account) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| account | [Account](#account) | Account to update | +{{}} + + + +**Returns** + +`Promise.` + + + +## GetCountries + + +Retrieve the specified countries of operation for an account. +The `PROFILE_READ` scope enum is required when making a request from the browser. + +```javascript +accounts.getCountries(accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account to query | +{{}} + + + +**Returns** + +`Promise.` + + + +## AssignCountries + + +Assign the countries of operation for an account. This endpoint will always overwrite the previously assigned values. +The `PROFILE_WRITE` scope enum is required when making a request from the browser. + +```javascript +accounts.assignCountries(accountID, countries) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account to query | +| countries | [Countries](#countries) | Countries to add to the account | +{{}} + + + +**Returns** + +`Promise.` + + + + + + +## Types +### Account + +Describes a Moov account associated with an individual or a business. + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account identifier | +| accountType | `individual`, `business` | Type of entity represented by this account | +| displayName | `string` | Name of individual or business | +| profile | [Profile](#profile) | Details for individual or business | +| metadata | `object` | Arbitrary key-value pairs | +| foreignID | `string` | Optional identification or alias | +| customerSupport | [CustomerSupport](#customersupport), `null` | Displayed on credit card transactions (business only) | +| settings | [AccountSettings](#accountsettings), `null` | Account settings | +| createdOn | `string` | Date account was created | +| updatedOn | `string` | Date account was last updated | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "accountType": "business", + "profile": { + "business": { + "legalBusinessName": "Whole Body Fitness LLC", + "doingBusinessAs": "Whole Body Fitness", + "businessType": "llc", + "address": { + "addressLine1": "123 Main Street", + "addressLine2": "Apt 302", + "city": "Boulder", + "stateOrProvince": "CO", + "postalCode": "80301", + "country": "US" + }, + "phone": { + "number": "8185551212", + "countryCode": "1" + }, + "email": "amanda@classbooker.dev", + "website": "www.wholebodyfitnessgym.com", + "description": "Local fitness center paying out instructors", + "taxID": { + "ein": { + "number": "123-45-6789" + } + }, + "industryCodes": { + "naics": "713940", + "sic": "7991", + "mcc": "7997" + } + } + }, + "metadata": { + "property1": "string", + "property2": "string" + }, + "termsOfService": { + "token": "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4" + }, + "foreignID": "4528aba-b9a1-11eb-8529-0242ac13003", + "customerSupport": { + "phone": { + "number": "8185551212", + "countryCode": "1" + }, + "email": "amanda@classbooker.dev", + "address": { + "addressLine1": "123 Main Street", + "addressLine2": "Apt 302", + "city": "Boulder", + "stateOrProvince": "CO", + "postalCode": "80301", + "country": "US" + }, + "website": "www.wholebodyfitnessgym.com" + }, + "settings": { + "cardPayment": { + "statementDescriptor": "Whole Body Fitness" + } + } +} +``` + {{}}{{}} + + + + +### AccountCreate + + + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| accountType | `individual`, `business` | Type of entity represented by this account | +| profile | [Profile](#profile) | Details for individual or business | +| metadata | `object` | Arbitrary key-value pairs | +| termsOfService | [TermsOfServiceToken](#termsofservicetoken), `null` | An encrypted value used to record acceptance of Moov's Terms of Service | +| foreignID | `string` | Optional identification or alias | +| customerSupport | [CustomerSupport](#customersupport), `null` | Displayed on credit card transactions (business only) | +| settings | [AccountSettings](#accountsettings), `null` | Account settings | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "mode": "production", + "accountType": "business", + "profile": { + "individual": { + "name": { + "firstName": "Amanda", + "middleName": "Amanda", + "lastName": "Yang", + "suffix": "Jr" + }, + "phone": { + "number": "8185551212", + "countryCode": "1" + }, + "email": "amanda@classbooker.dev", + "address": { + "addressLine1": "123 Main Street", + "addressLine2": "Apt 302", + "city": "Boulder", + "stateOrProvince": "CO", + "postalCode": "80301", + "country": "US" + }, + "birthDate": { + "day": 9, + "month": 11, + "year": 1989 + }, + "governmentID": { + "ssn": { + "full": "123-45-6789", + "lastFour": "6789" + }, + "itin": { + "full": "123-45-6789", + "lastFour": "6789" + } + } + }, + "business": { + "legalBusinessName": "Whole Body Fitness LLC", + "doingBusinessAs": "Whole Body Fitness", + "businessType": "llc", + "address": { + "addressLine1": "123 Main Street", + "addressLine2": "Apt 302", + "city": "Boulder", + "stateOrProvince": "CO", + "postalCode": "80301", + "country": "US" + }, + "phone": { + "number": "8185551212", + "countryCode": "1" + }, + "email": "amanda@classbooker.dev", + "website": "www.wholebodyfitnessgym.com", + "description": "Local fitness center paying out instructors", + "taxID": { + "ein": { + "number": "123-45-6789" + } + }, + "industryCodes": { + "naics": "713940", + "sic": "7991", + "mcc": "7997" + } + } + }, + "metadata": { + "property1": "string", + "property2": "string" + }, + "termsOfService": { + "token": "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4" + }, + "foreignID": "4528aba-b9a1-11eb-8529-0242ac13003", + "customerSupport": { + "phone": { + "number": "8185551212", + "countryCode": "1" + }, + "email": "amanda@classbooker.dev", + "address": { + "addressLine1": "123 Main Street", + "addressLine2": "Apt 302", + "city": "Boulder", + "stateOrProvince": "CO", + "postalCode": "80301", + "country": "US" + }, + "website": "www.wholebodyfitnessgym.com" + }, + "settings": { + "cardPayment": { + "statementDescriptor": "Whole Body Fitness" + } + } +} +``` + {{}}{{}} + + + + +### TermsOfServiceToken + +A token that can then be used to accept Moov's Terms of Service. Must be generated from a web browser. See the [Moovjs](/moovjs/accounts/accounts/#platform-terms-of-service-agreement) documentation for more details. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | token | `string`| An encrypted value used to record acceptance of Moov's Terms of Service | + + + +### Name + +A person's name. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | firstName | `string`| A person's first name | + | middleName | `string`| A person's middle name | + | lastName | `string`| A person's last name | + | suffix | `string`| A person's suffix | + + + +### Profile + +Profile for a Moov acocunt. May be business or individual. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | business | [BusinessProfile](#businessprofile)| A business account | + | individual | [IndividualProfile](#individualprofile)| An individual account | + + + +### BusinessProfile + +Describes a business account. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | legalBusinessName | `string`| Business's legal name | + | doingBusinessAs | `string`| Business's trade name (if different than the legal name) | + | businessType | `soleProprietorship`, `unincorporatedAssociation`, `trust`, `publicCorporation`, `privateCorporation`, `privateCorporation`, `llc`, `partnership`, `unincorporatedNonProfit`, `incorporatedNonProfit`| The legal registered type of the business | + | address | [Address](#address)| Business's address | + | phone | [Phone](#phone)| Business's phone number | + | email | `string`| Business's email | + | website | `string`| Business's website | + | description | `string`| Description of the business | + | taxIDProvided | `boolean`| `true` if business's tax ID has been provided | + | representatives | Array.<[Representative](#representative)>| | + | ownersProvided | `boolean`| `true` if business owner(s) have been provided | + | industryCodes | [IndustryCodes](#industrycodes)| Business's industry code (for example, `mcc`) | + + + +### IndividualProfile + +Describes the individual associated with a non-business account. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | name | [Name](#name)| Individual's name | + | phone | [Phone](#phone)| Individual's phone number | + | email | `string`| Individual's email address | + | address | [Address](#address)| Individual's address | + | birthDateProvided | `boolean`| `true` if individual's birth date has been provided | + | governmentIDProvided | `boolean`| `true` if individual's government-issued ID has been provided | + + + +### Phone + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | number | `string`| Phone number | + | countryCode | `string`| 1 digit country code | + + + +### IndustryCodes + +Standard industry codes for businesses. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | naics | `string`| North American Industry Classification System | + | sic | `string`| Standard Industry Classification | + | mcc | `string`| Merchant Category Codes | + + + +### Representative + +Describes an individual who represents a business account. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | name | [Name](#name)| Representative's first and last name | + | phone | [Phone](#phone)| Representative's phone number | + | email | `string`| Representative's email address | + | address | [Address](#address)| Representative's address | + | birthDateProvided | `boolean`| `true` if individual's birth date has been provided | + | governmentIDProvided | `boolean`| `true` if individual's government-issued ID has been provided | + | responsibilities | Array.<[Responsibility](#responsibility)>| | + | createdOn | `string`| Date representative was recorded | + | updatedOn | `string`| Date representative was last updated | + | disabledOn | `string`| Date representative was removed from business | + + + +### Responsibility + +Describes the responsibilities associated with a business representative. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | isController | `boolean`| `true` if representative has significant management responsibilities | + | isOwner | `boolean`| `true` if representative owns ≥25% of the business | + | ownershipPercentage | `number`| % of business representative owns (required if `isOwner` is `true`) | + | jobTitle | `string`| Job title of representative (for example, CEO) | + + + +### CustomerSupport + +Describes customer support contact information for a business account. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | phone | [Phone](#phone)| Customer support phone number | + | email | `string`| Customer support email | + | address | [Address](#address)| Customer support address | + | website | `string`| Customer support website | + + + +### AccountSettings + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | cardPayment | [CardPaymentSettings](#cardpaymentsettings)| Card payment settings (business only) | + + + +### CardPaymentSettings + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | statementDescriptor | `string`| Description to display on credit card transactions | + + + +### Countries + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | countries | `Array.`| Countries of operation for an account | + + + +### AccountListCriteria + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | name | [Name](#name)| If provided, this query will attempt to find matches (including partial) against the following Account and Profile fields: Account `displayName`, Individual Profile `firstName`, `middleName`, `lastName`, and `suffix`, and Business Profile `legalBusinessName`, and `doingBusinessAs` | + | email | `string`| Filter connected accounts by email address. It is not necessary to provided the full email address as partial matches will also be returned. | + | type | `individual`, `business`| Filter connected accounts by AccountType. If the `type` parameter is used in combination with name, only the corresponding type's `name` fields will be searched. For example, if `type=business` and `name=moov`, the search will attempt to find matches against the display name and Business Profile name fields (`legalBusinessName`, and `doingBusinessAs`). | + | foreignID | `string`| Serves as an optional alias from a foreign/external system which can be used to reference this resource | + | count | `number`| Optional parameter to limit the number of results in the query | + | skip | `number`| The number of items to offset before starting to collect the result set | + + + +### Address + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | addressLine1 | `string`| Street address | + | addressLine2 | `string`| Unit number | + | city | `string`| 25 characters or less | + | stateOrProvince | `string`| 2 characters | + | postalCode | `string`| 5 characters | + | country | `string`| 2 characters | + + + + + diff --git a/docs/output/authentication.md b/docs/output/authentication.md new file mode 100644 index 0000000..528a6d0 --- /dev/null +++ b/docs/output/authentication.md @@ -0,0 +1,122 @@ +--- +title: "Authentication" +weight: 20 +--- + +Every Moov API request requires a valid OAuth token. Our authentication flow follows the OAuth 2.0 standard. When making requests from the browser, you'll also need to request scope enums when generating a token. If a scope enum is required, it will be listed with the example. + + +## GenerateToken + + +Generates an OAuth token required by Moov API requests. For more on our authentication protocol, read our [quick start guide](/guides/quick-start/#create-an-access-token). + +```javascript +moov.generateToken(scopes, accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| scopes | Array.<[SCOPES](#scopes)> | One or more permissions to request | +| accountID | `string` | Account on which to request permissions, default is your account ID | +{{}} + + + +**Returns** + +`Promise.` + +You only need call this function when generating tokens for [Moov.js](/moovjs) and +[Moov Drops](/moovjs/drops). The other functions in this library generate tokens for you +automatically. + +**Examples** + +```javascript +const moov = new Moov(...); +const token = await moov.generateToken([ + SCOPES.ACCOUNTS_CREATE, + SCOPES.PING +]); +``` + + +## Ping + + +Pings the Moov servers to check for connectivity. +Read more about [/ping](/api/#tag/Ping). + +```javascript +moov.ping() +``` + + + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + await moov.ping(); + // Ping succeeded +} catch (err) { + // Ping failed +} +``` + + + +## Types +### Token + +OAuth2 token returned by `Moov.generateToken()`. Use `Token.token` in Moov.js +and client-side code to make calls to the Moov API. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | token | `string`| String token required by Moov API requests | + | expiresOn | `Date`| Date and time when the token expires | + | refreshToken | `string`| String used to refresh this token | + + + + +## Enums +### SCOPES + +For client-side integration, you'll need to request scopes when generating an OAuth token. See available scopes below: + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| ACCOUNTS_CREATE | Allows a new Moov account to be created | +| ACCOUNTS_READ | List connected accounts -- see also PROFILE_READ | +| BANK_ACCOUNTS_READ | Access to view a linked bank account to a Moov account | +| BANK_ACCOUNTS_WRITE | Access to add a linked bank account to a Moov account | +| CARDS_READ | Access to view a linked card on a Moov account | +| CARDS_WRITE | Access add a linked card to a Moov account | +| CAPABILITIES_READ | Access to view capabilities, determining what actions the account can do | +| CAPABILITIES_WRITE | Access to request capabilities, determining what actions the account can do | +| DOCUMENTS_READ | Access to view documents (like I-9s, W-4s) associated with a Moov account | +| DOCUMENTS_WRITE | Access to upload documents (like I-9s, W-4s) associated with a Moov account | +| PAYMENT_METHODS_READ | Access to view payment methods for the account specified | +| PROFILE_ENRICHMENT_READ | Access to view a Moov account’s profile image | +| PROFILE_READ | Access to view details associated with a Moov account -- see also ACCOUNTS_READ | +| PROFILE_WRITE | Access to edit details associated with a Moov account | +| REPRESENTATIVE_READ | Access to view details on business representatives for a Moov account | +| REPRESENTATIVE_WRITE | Access to add details on business representatives for a Moov account | +| TRANSFERS_READ | Access to view transfers | +| TRANSFERS_WRITE | Access to move money by creating transfers | +| WALLETS_READ | Access to view the balance on an account’s Moov wallet | +| FED_READ | Allows a developer to use the institutions lookup service to look up a bank name by routing number | +| PING | Ping Moov servers to test for connectivity | +{{}} + diff --git a/docs/output/avatars.md b/docs/output/avatars.md new file mode 100644 index 0000000..34d18ae --- /dev/null +++ b/docs/output/avatars.md @@ -0,0 +1,50 @@ +--- +title: "Avatars" +weight: 130 +--- +You can retrieve an account's profile image. This is especially useful if you'd like to use the profile image for a corresponding account in your own product. + + +## Get + + +Gets a binary representation of an avatar. +The `PROFILE_ENRICHMENT_READ` scope enum is required when making a request from the browser. + +```javascript +avatars.get(uniqueId) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| uniqueId | `string` | Any unique ID associated with an account such as AccountID, RepresentativeID, Routing Number, or User ID | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const avatar = await moov.avatars.get("..."); +} catch (err) { + // ... +} +``` + + + + + + + + diff --git a/docs/output/bank-accounts.md b/docs/output/bank-accounts.md new file mode 100644 index 0000000..08257c8 --- /dev/null +++ b/docs/output/bank-accounts.md @@ -0,0 +1,266 @@ +--- +title: "Bank accounts" +weight: 60 +--- +To transfer money with Moov, you’ll need to link a bank account to your Moov account, then verify that account. You can link a bank account to a Moov account by adding the bank account number and routing number to the account object. We require micro-deposit verification to reduce the risk of fraud or unauthorized activity. You can verify a bank account by initiating micro-deposits, sending two small credit transfers to the bank account you want to confirm. Alternatively, you can link and verify a bank account in one step through an instant account verification token from a third party provider like Plaid. For more context, read our [bank accounts](/guides/sources/bank-accounts/) guide. + + +## Link + + +Link a bank account to a Moov account +The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. + +```javascript +bankaccounts.link(accountID, bankAccount, plaidToken, mxAuthorizationCode) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to add the bank account | +| bankAccount | [BankAccountAdd](#bankaccountadd) | Optional bank account details | +| plaidToken | `string` | Optional Plaid processor token | +| mxAuthorizationCode | `string` | Optional Plaid processor authorization code | +{{}} + + + +**Returns** + +`Promise.` + + + +## Get + + +Retrieve bank account details (i.e. routing number or account type) associated with a specific Moov account. +The `BANK_ACCOUNTS_READ` scope enum is required when making a request from the browser. + +```javascript +bankaccounts.get(accountID, bankAccountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request bank account | +| bankAccountID | `string` | ID of the bank account to retrieve | +{{}} + + + +**Returns** + +`Promise.` + + + +## List + + +List all the bank accounts associated with a particular Moov account. +The `BANK_ACCOUNTS_READ` scope enum is required when making a request from the browser. + +```javascript +bankaccounts.list(accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request bank account | +{{}} + + + +**Returns** + +`Promise.>` + + + +## Disable + + +Discontinue using a specified bank account linked to a Moov account. +The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. + +```javascript +bankaccounts.disable(accountID, bankAccountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request bank account | +| bankAccountID | `string` | ID of the bank account to disable | +{{}} + + + +**Returns** + +`Promise.` + + + +## InitMicroDeposits + + +Initiate a micro deposit for a bank account linked to a Moov account. +The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. + +```javascript +bankaccounts.initMicroDeposits(accountID, bankAccountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request bank account | +| bankAccountID | `string` | ID of the bank account to disable | +{{}} + + + +**Returns** + +`Promise.` + + + +## CompleteMicroDeposits + + +Complete the micro-deposit validation process by passing the amounts of the two transfers. +The `BANK_ACCOUNTS_WRITE` scope enum is required when making a request from the browser. + +```javascript +bankaccounts.completeMicroDeposits(accountID, bankAccountID, amounts) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request bank account | +| bankAccountID | `string` | ID of the bank account to disable | +| amounts | `Array.` | Array of two positive integers, in cents, equal to the values of the micro-deposits sent to the bank account. | +{{}} + + + +**Returns** + +`Promise.` + + + + + + +## Types +### BankAccount + +Describes a Bank Account. + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| bankAccountID | `string` | Bank Account identifier | +| fingerprint | `string` | Fingerprint of Bank Account | +| status | [BANK_ACCOUNT_STATUS](#bank_account_status) | The bank account status | +| holderName | `string` | Name of the bank account holder | +| holderType | [BANK_ACCOUNT_HOLDER_TYPE](#bank_account_holder_type) | The type of holder on a funding source | +| bankName | `string` | Name of the bank | +| bankAccountType | [BANK_ACCOUNT_TYPE](#bank_account_type) | The bank account type | +| routingNumber | `string` | Bank account routing number | +| lastFourAccountNumber | `string` | Last four digits of the bank account number | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "bankAccountID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", + "status": "new", + "holderName": "Jules Jackson", + "holderType": "individual", + "bankName": "Chase Bank", + "bankAccountType": "checking", + "routingNumber": "string", + "lastFourAccountNumber": "7000" +} +``` + {{}}{{}} + + + + +### BankAccountAdd + +Describes a Bank Account to be added. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | holderName | `string`| Name of the bank account holder | + | holderType | [BANK_ACCOUNT_HOLDER_TYPE](#bank_account_holder_type)| The type of holder on a funding source | + | routingNumber | `string`| Bank account routing number | + | accountNumber | `string`| The bank account number | + | bankAccountType | [BANK_ACCOUNT_TYPE](#bank_account_type)| The bank account type | + + + + +## Enums +### BANK_ACCOUNT_STATUS + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| NEW | Bank Account is created and waiting on verification. | +| VERIFIED | Bank Account is verified and ready for use. | +| VERIFICATION_FAILED | Bank Account verification failed. | +| PENDING | Bank Account is pending approval. | +| ERRORED | Bank Account is in an errored state. | +{{}} + +### BANK_ACCOUNT_HOLDER_TYPE + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| INDIVIDUAL | Bank Account holder is a type of individual. | +| BUSINESS | Bank Account holder is a type of business. | +{{}} + +### BANK_ACCOUNT_TYPE + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| CHECKING | Bank Account is a type of checking. | +| SAVINGS | Bank Account is a type of savings. | +| UNKNOWN | Bank Account is a type of unknown. | +{{}} + diff --git a/docs/output/capabilities.md b/docs/output/capabilities.md new file mode 100644 index 0000000..212237a --- /dev/null +++ b/docs/output/capabilities.md @@ -0,0 +1,292 @@ +--- +title: "Capabilities" +weight: 50 +--- +Capabilities determine what a Moov account can do. Each capability has specific information requirements, depending on risk and compliance standards associated with different account activities. For more context, read our [capabilities](/guides/accounts/capabilities) guide. + + +## RequestCapabilities + + +Request a capability to be added to an account. +The `CAPABILITIES_WRITE` scope enum is required when making a request from the browser. + +```javascript +capabilities.requestCapabilities(accountID, capabilities) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request capabilities | +| capabilities | Array.<[CAPABILITIES](#capabilities)> | One or more capability to request | +{{}} + + + +**Returns** + +`Promise.>` + + + +## Get + + +Retrieve a capability of an account +The `CAPABILITIES_READ` scope enum is required when making a request from the browser. + +```javascript +capabilities.get(accountID, capability) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request capabilities | +| capability | [CAPABILITIES](#capabilities) | Capability to retrieve | +{{}} + + + +**Returns** + +`Promise.` + + + +## List + + +List capabilities on an account +The `CAPABILITIES_READ` scope enum is required when making a request from the browser. + +```javascript +capabilities.list(accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request capabilities | +{{}} + + + +**Returns** + +`Promise.>` + + + +## Disable + + +Disable a capability of an account +The `CAPABILITIES_WRITE` scope enum is required when making a request from the browser. + +```javascript +capabilities.disable(accountID, capability) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request capabilities | +| capability | [CAPABILITIES](#capabilities) | Capability to retrieve | +{{}} + + + +**Returns** + +`Promise.` + + + + + + +## Types +### Capability + +Describes a Moov capability associated with an account. + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| capability | [CAPABILITIES](#capabilities) | Type of capability | +| accountID | `string` | Account identifier | +| status | [CAPABILITY_STATUS](#capability_status) | The status of the capability requested for an account | +| requirements | Array.<[Requirement](#requirement)> | Represents individual and business data necessary to facilitate the enabling of a capability for an account | +| disabledReason | `string` | If status is disabled, the reason this capability was disabled | +| createdOn | `Date` | Date capability was created | +| updatedOn | `Date` | Date capability was last updated | +| disabledOn | `Date` | Optional date capability was disabled | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "capability": "transfers", + "accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9", + "status": "enabled", + "requirements": { + "currentlyDue": [ + "account.tos-acceptance" + ], + "errors": [ + { + "requirement": "account.tos-acceptance", + "errorCode": "invalid-value" + } + ] + }, + "disabledReason": "string", + "createdOn": "2019-08-24T14:15:22Z", + "updatedOn": "2019-08-24T14:15:22Z", + "disabledOn": "2019-08-24T14:15:22Z" +} +``` + {{}}{{}} + + + + +### Requirement + +Represents individual and business data necessary to facilitate the enabling of a capability for an account. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | currentlyDue | Array.<[CAPABILITY_REQUIREMENT](#capability_requirement)>| List of required documents and data | + | errors | Array.<[RequirementError](#requirementerror)>| List of missing requirements | + + + +### RequirementError + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | requirement | Array.<[CAPABILITY_REQUIREMENT](#capability_requirement)>| The unique ID of the missing requirement | + | errorCode | Array.<[REQUIREMENT_ERROR_CODE](#requirement_error_code)>| List of relevant error codes (for example, `invalid-value`) | + + + + +## Enums +### CAPABILITIES + +Available capabilities + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| TRANSFERS | Account contains minimum requirements to participate in a transfer | +| SEND_FUNDS | Account can be source of a payout transfer | +| COLLECT_FUNDS | Account can be destination of an ACH debit transfer | +| WALLET | Account can top up balance or use as a source for another transfer | +| 1099 | Account has necessary information for 1099-NEC reporting. If requirement not met before $600 in payouts, transfers is disabled. | +{{}} + +### CAPABILITY_STATUS + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| ENABLED | Capability is enabled and ready for use | +| DISABLED | Capability has been disabled | +| PENDING | Capability has been requested and is pending approval | +{{}} + +### CAPABILITY_REQUIREMENT + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| ACCOUNT_TOS_ACCEPTANCE | Terms of service status | +| INDIVIDUAL_MOBILE | Individual account's mobile number | +| INDIVIDUAL_EMAIL | Individual account's email | +| INDIVIDUAL_EMAIL_OR_MOBILE | Individual account's email or mobile number | +| INDIVIDUAL_FIRSTNAME | Individual account holder's first name | +| INDIVIDUAL_LASTNAME | Individual account holder's last name | +| INDIVIDUAL_ADDRESS | Individual account's address | +| INDIVIDUAL_SSN_LAST4 | Individual account holder's last four of Social Security Number | +| INDIVIDUAL_SSN | Individual account holder's full Social Security Number | +| INDIVIDUAL_BIRTHDATE | Individual account holder's birth date | +| BUSINESS_LEGALNAME | Business's legal name | +| BUSINESS_DESCRIPTION_OR_WEBSITE | Business's description or website | +| BUSINESS_ENTITY_TYPE | Business's entity type | +| BUSINESS_DBA | Business's Doing Business As name | +| BUSINESS_EIN | Business's Employer Identification Number | +| BUSINESS_ADDRESS | Business's address | +| BUSINESS_PHONE | Business's phone number | +| BUSINESS_ADMINS | Business administrators | +| BUSINESS_CONTROLLERS | Business controllers | +| BUSINESS_OWNERS | Business owners | +| BUSINESS_CLASSIFICATION | Business classification | +| BUSINESS_INDUSTRY_CODE_MCC | Business's industry code or merchant category code | +| BANK_ACCOUNTS_NAME | Business's bank account name | +| BANK_ACCOUNTS_ROUTING_NUMBER | Business's bank account routing number | +| BANK_ACCOUNTS_ACCOUNT_NUMBER | Business's bank account number | +| REPRESENTATIVE_MOBILE | Business representative's mobile number | +| REPRESENTATIVE_EMAIL | Business representative's email | +| REPRESENTATIVE_FIRSTNAME | Business representative's first name | +| REPRESENTATIVE_LASTNAME | Business representative's last name | +| REPRESENTATIVE_ADDRESS | Business representative's address | +| REPRESENTATIVE_SSN_LAST4 | Business representative's last four of Social Security Number | +| REPRESENTATIVE_SSN | Business representative's full Social Security Number | +| REPRESENTATIVE_BIRTHDATE | Business representative's birth date | +| REPRESENTATIVE_JOB_TITLE | Business representative's job title | +| REPRESENTATIVE_IS_CONTROLLER | Business representative's controller status | +| REPRESENTATIVE_IS_OWNER | Business representative's owner status | +| REPRESENTATIVE_IS_OWNERSHIP | Business representative's ownership % | +| DOCUMENT | Documents for capability enablement | +{{}} + +### REQUIREMENT_ERROR_CODE + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| INVALID_VALUE | Invalid value | +| FAILED_AUTOMATIC_VERIFICATION | Automatic verification failed | +| FAILED_OTHER | Other failure reason | +| INVALID_ADDRESS | Invalid address | +| ADDRESS_RESTRICTED | Address restricted | +| TAX_ID_MISMATCH | Tax ID mismatch | +| DOCUMENT_ID_MISMATCH | Document ID mismatch | +| DOCUMENT_DATE_OF_BIRTH_MISMATCH | Date of birth mismatch | +| DOCUMENT_NAME_MISMATCH | Name mismatch | +| DOCUMENT_ADDRESS_MISMATCH | Address mismatch | +| DOCUMENT_NUMBER_MISMATCH | Number mismatch | +| DOCUMENT_INCOMPLETE | Incomplete document | +| DOCUMENT_FAILED_RISK | Failed risk assessment | +| DOCUMENT_ILLEGIBLE | Illegible document | +| DOCUMENT_UNSUPPORTED | Unsupported document type | +| DOCUMENT_NOT_UPLOADED | Document did not upload | +| DOCUMENT_CORRUPT | Corrupt document | +| DOCUMENT_EXPIRED | Expired document | +{{}} + diff --git a/docs/output/cards.md b/docs/output/cards.md new file mode 100644 index 0000000..56b6245 --- /dev/null +++ b/docs/output/cards.md @@ -0,0 +1,292 @@ +--- +title: "Cards" +weight: 70 +--- + +You can link credit or debit cards to Moov accounts. You can use a card as a source for making transfers, which charges the card. + + +## Get + + +Retrieves details for the card with the specified ID. +The `CARDS_READ` scope enum is required when making a request from the browser. + +```javascript +cards.get(accountID, cardID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account to query | +| cardID | `string` | Card to query | +{{}} + + + +**Returns** + +`Promise.` + + + +## List + + +Lists all the cards associated with a particular Moov account. +The `CARDS_READ` scope enum is required when making a request from the browser. + +```javascript +cards.list(accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account to query | +{{}} + + + +**Returns** + +`Promise.>` + + + +## Link + + +Links a card to a Moov account. Only use this endpoint if you have provided Moov with a +copy of your PCI attestation of compliance. +The `CARDS_WRITE` scope enum is required when making a request from the browser. + +```javascript +cards.link(accountID, card) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account to link | +| card | [LinkCard](#linkcard) | Card information | +{{}} + + + +**Returns** + +`Promise.` + + + +## Disable + + +Disables a card with the specified ID. +The `CARDS_WRITE` scope enum is required when making a request from the browser. + +```javascript +cards.disable(accountID, cardID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account to query | +| cardID | `string` | Card to query | +{{}} + + + +**Returns** + +`Promise.` + + + + + + +## Types +### CardExpiration + +Card account expiration date + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | month | `string`| 2 character month | + | year | `string`| 2 character year | + + + +### LinkCard + +Card information collected for acquisition. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | cardNumber | `string`| All digits of the card | + | expiration | [CardExpiration](#cardexpiration)| Card expiration date | + | cardCvv | `string`| 3-4 digit card verification value | + | holderName | `string`| Full name of the card holder | + | billingAddress | [CardBillingAddress](#cardbillingaddress)| The billing address of the card | + + + +### CardBillingAddress + +Card billing address + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | addressLine1 | `string`| string <= 32 characters | + | addressLine2 | `string`| string <= 32 characters | + | city | `string`| string <= 24 characters | + | stateOrProvince | `string`| string <= 2 characters | + | postalCode | `string`| string <= 5 characters | + | country | `string`| string <= 2 characters | + + + +### CardVerficationStatuses + +Card verification statuses + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | cvv | [CARD_VERIFICATION_STATUS](#card_verification_status)| Verification status of the CVV | + | addressLine1 | [CARD_VERIFICATION_STATUS](#card_verification_status)| Verification status of addressLine1 | + | postalCode | [CARD_VERIFICATION_STATUS](#card_verification_status)| Verification status of the postalCode | + + + +### Card + +Describes a Card account. + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| cardID | `string` | Card account identifier | +| fingerprint | `string` | string <= 100 characters that is a unique fingerprint of a card | +| brand | [CARD_BRAND](#card_brand) | The card brand | +| cardType | [CARD_TYPE](#card_type) | The type of the card | +| lastFourCardNumber | `string` | Last four digits of the card | +| bin | `string` | The BIN number of the card | +| expiration | [CardExpiration](#cardexpiration) | The expiration info of the card | +| holderName | `string` | The name of the card holder | +| billingAddress | [CardBillingAddress](#cardbillingaddress) | The billing address of the card | +| cardVerfication | [CardVerficationStatuses](#cardverficationstatuses) | The results of submitting cardholder data to a card network for verification | +| issuer | `string` | The name of the issuer | +| issuerCountry | `string` | The country of the issuer | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "cardID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", + "brand": "American Express", + "cardType": "debit", + "lastFourCardNumber": "1234", + "bin": "123456", + "expiration": { + "month": "01", + "year": "21" + }, + "holderName": "Jules Jackson", + "billingAddress": { + "addressLine1": "123 Main Street", + "addressLine2": "Apt 302", + "city": "Boulder", + "stateOrProvince": "CO", + "postalCode": "80301", + "country": "US" + }, + "cardVerification": { + "cvv": "match", + "addressLine1": "match", + "postalCode": "match" + }, + "issuer": "GRINGOTTS BANK", + "issuerCountry": "US" +} +``` + {{}}{{}} + + + + +### CardDetails + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | dynamicDescriptor | `string`| An optional override of the default card statement descriptor for a single transfer | + | merchantInitiatedType | `recurring`, `unscheduled`, `null`| Enum: [recurring unscheduled] Describes how the card transaction was initiated | + + + + +## Enums +### CARD_BRAND + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| AMEX | American Express | +| DISCOVER | Discover | +| MC | MasterCard | +| VISA | Visa | +{{}} + +### CARD_TYPE + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| DEBIT | Debit card | +| CREDIT | Credit card | +| PREPAID | Prepaid card | +| UNKNOWN | Unknown type | +{{}} + +### CARD_VERIFICATION_STATUS + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| NO_MATCH | No Match | +| MATCH | Match | +| NOT_CHECKED | Not Checked | +| UNAVAILABLE | Unavailable | +{{}} + diff --git a/docs/output/enrichment.md b/docs/output/enrichment.md new file mode 100644 index 0000000..7a59096 --- /dev/null +++ b/docs/output/enrichment.md @@ -0,0 +1,237 @@ +--- +title: "Enrichment" +weight: 120 +--- + +Access different enrichment data such as address suggestions or profile data. Our profile enrichment service is offered in collaboration with Clearbit. + + +## Get + + +Gets enriched address suggestions. +The `PROFILE_ENRICHMENT_READ` scope enum is required when making a request from the browser. + +```javascript +enrichedaddresses.get(criteria) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| criteria | [EnrichedAddressGetCriteria](#enrichedaddressgetcriteria) | Criteria for available search parameters | +{{}} + + + +**Returns** + +`Promise.>` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const suggestedAddresses = moov.enrichedAddresses.get({ + search: "123 Fake St", + includeCities: "Springfield" + // ... + }); +} catch (err) { + // ... +} +``` + + + + +## Get + + +Gets enriched profile data. +The `PROFILE_ENRICHMENT_READ` scope enum is required when making a request from the browser. + +```javascript +enrichedprofiles.get(email) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| email | `string` | Email address associated with the profile. | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const enrichedProfile = moov.enrichedProfiles.get("employee@business.com"); +} catch (err) { + // .. +} +``` + + + + + +## Types +### EnrichedAddress + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | addressLine1 | `string`| Street address | + | addressLine2 | `string`| Unit number | + | city | `string`| 25 characters or less | + | stateOrProvince | `string`| 2 characters | + | postalCode | `string`| 5 characters | + | entries | `number`| The number of addresses matching the search criteria | + + + +### EnrichedAddressGetCriteria + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | search | `string`| Partial or complete address to search | + | maxResults | `number`| Optional Maximum number of results to return | + | includeCities | `string`| Optional - Limits results to a list of given cities (example, "chicago;honolulu;portland") | + | includeStates | `string`| Optional - Limits results to a list of given states (example, "illinois;hawaii;oregon") | + | includeZipcodes | `string`| Optional - Limits results to a list of given ZIP codes (example, "60412;96818;97209") | + | excludeStates | `string`| Optional - Exclude list of states from results. No include parameters may be used with this parameter. Example: "AZ;WA;SC" | + | preferCities | `string`| Optional- Display results with the listed cities at the top (example, "denver;aurora;omaha") | + | preferStates | `string`| Optional - Display results with the listed states at the top (example, "CO;MN;WI") | + | preferZipcodes | `string`| Optional - Display results with the listed ZIP codes at the top (example, "60412;96818;97209") | + | preferRatio | `number`| Optional - Specifies the percentage of address suggestions that should be preferred and will appear at the top of the results | + | preferGeolocation | `none`, `city`| Optional - If omitted or set to city it uses the sender's IP address to determine location, then automatically adds the city and state to the preferCities value (example: "city"). This parameter takes precedence over other include or exclude parameters meaning that if it is not set to none you may see addresses from areas you do not wish to see. | + | selected | `string`| Optional - Useful for narrowing results with `addressLine2` suggestions such as Apt. Denotes an apartment building with multiple residences (example, "Apt"). | + | source | `all`, `postal`| Optional - Include results from alternate data sources. Allowed values are `all` (non-postal addresses) or `postal` (postal addresses only). | + + + +### EnrichedProfile + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | individual | [EnrichedIndividualProfile](#enrichedindividualprofile)| Describes a person | + | business | [EnrichedBusinessProfile](#enrichedbusinessprofile)| Describes a company | + + + +### EnrichedBusinessProfile + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | legalBusinessName | `string`| Business's legal name | + | address | [EnrichedProfileAddress](#enrichedprofileaddress)| Business's address | + | email | `string`| Business's email | + | phone | [EnrichedProfilePhone](#enrichedprofilephone)| Business's phone | + | industryCodes | [EnrichedProfileIndustry](#enrichedprofileindustry)| Describes industry specific identifiers | + | website | `string`| Business's website | + + + +### EnrichedIndividualProfile + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | name | [EnrichedProfileName](#enrichedprofilename)| Individual's name | + | email | `string`| Individual's email | + | address | [EnrichedProfileAddress](#enrichedprofileaddress)| Individual's address | + + + +### EnrichedProfileAddress + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | addressLine1 | `string`| Street address | + | addressLine2 | `string`| Unit number | + | city | `string`| 25 characters or less | + | stateOrProvince | `string`| 2 characters | + | postalCode | `string`| 5 characters | + | country | `string`| 2 characters | + + + +### EnrichedProfileIndustry + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | naics | `string`| North American Industry Classification System | + | sic | `string`| Standard Industrial Classification | + + + +### EnrichedProfileName + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | firstName | `string`| First name | + | middleName | `string`| Middle name | + | lastName | `string`| Last name | + | suffix | `string`| Suffix | + + + +### EnrichedProfilePhone + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | number | `string`| Phone number | + | countryCode | `string`| Country code | + + + + + diff --git a/docs/output/institutions.md b/docs/output/institutions.md new file mode 100644 index 0000000..2b518c3 --- /dev/null +++ b/docs/output/institutions.md @@ -0,0 +1,241 @@ +--- +title: "Institutions" +weight: 110 +--- +Lookup ACH and wire participating financial institutions. We recommend using this endpoint when an end-user enters a routing number to confirm their bank or credit union. + + +## GetACHInstitution + + +Get information on a financial institution for ACH +The `FED_READ` scope enum is required when making a request from the browser. + +```javascript +institutions.getACHInstitution(criteria) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| criteria | [ACHInstitutionSearchCriteria](#achinstitutionsearchcriteria) | Criteria for available search parameters | +{{}} + + + +**Returns** + +`Promise.` + + + +## GetWireInstitution + + +Get information on a financial institution for WIRE +The `FED_READ` scope enum is required when making a request from the browser. + +```javascript +institutions.getWireInstitution(criteria) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| criteria | [ACHInstitutionSearchCriteria](#achinstitutionsearchcriteria) | Criteria for available search parameters | +{{}} + + + +**Returns** + +`Promise.` + + + +## GetInstitution + + +Get information on a financial institution +The `FED_READ` scope enum is required when making a request from the browser. + +```javascript +institutions.getInstitution(criteria, rail) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| criteria | [ACHInstitutionSearchCriteria](#achinstitutionsearchcriteria) | Criteria for available search parameters | +| rail | `string` | The specific rail to check on, 'ach' or 'wire'. | +{{}} + + + +**Returns** + +`Promise.` + + + + + + +## Types +### ACHInstitution + +ACH Institution holds a FedACH dir routing record as defined by Fed ACH Format. + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| routingNumber | `string` | Routing number for an ACH institution | +| officeCode | `string` | Main/Head Office or Branch. O=main B=branch | +| servicingFRBNumber | `string` | Servicing Fed's main office routing number | +| recordTypeCode | `string` | RecordTypeCode The code indicating the ABA number to be used to route or send ACH items to the RDFI - 0 = Institution is a Federal Reserve Bank - 1 = Send items to customer routing number - 2 = Send items to customer using new routing number field | +| revised | `string` | Revised Date of last revision: YYYYMMDD, or blank | +| newRoutingNumber | `string` | Institution's new routing number resulting from a merger or renumber | +| customerName | `string` | Customer's name | +| phoneNumber | `string` | Phone number | +| statusCode | `string` | Code is based on the customers receiver code | +| viewCode | `string` | ViewCode is current view | +| location | [ACHInstitutionLocation](#achinstitutionlocation) | Location is the delivery address | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "routingNumber": "123456789", + "officeCode": "0", + "servicingFRBNumber": "123456789", + "recordTypeCode": "1", + "revised": "041921", + "newRoutingNumber": "987654321", + "customerName": "Main Street Bank", + "phoneNumber": "123-456-7789", + "statusCode": "1", + "viewCode": "1", + "location": { + "address": "123 Main Street", + "city": "Boulder", + "state": "Colorado", + "postalCode": "80301", + "postalCodeExtension": "0000" + } +} +``` + {{}}{{}} + + + + +### ACHInstitutionLocation + +ACH Institution Location object. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | address | `string`| Up to 32 characters | + | city | `string`| Up to 24 characters | + | state | `string`| Up to 24 characters | + | postalCode | `string`| Up to 5 characters | + | postalCodeExtension | `string`| Up to 4 characters | + + + +### ACHInstitutionSearchCriteria + +ACH Institution search criteria + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | name | `string`| Optional financial institution name to search | + | routingNumber | `string`| Optional routing number for a financial institution to search | + | count | `string`| Optional parameter to limit the amount of results in the query | + | skip | `string`| Optional The number of items to offset before starting to collect the result set | + + + +### WireInstitution + +Wire Institution holds a FedWIRE dir routing record as defined by Fed WIRE Format + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| routingNumber | `string` | Routing number for an Wire institution | +| telegraphicName | `string` | The short name of financial institution | +| customerName | `string` | Customer's name | +| location | [WireInstitutionLocation](#wireinstitutionlocation) | Location is the delivery address | +| fundsTransferStatus | `string` | Designates funds transfer status - Y - Eligible - N - Ineligible | +| fundsSettlementOnlyStatus | `string` | Designates funds settlement only status - S - Settlement-Only | +| bookEntrySecuritiesTransferStatus | `string` | Designates book entry securities transfer status | +| date | `string` | Date of last revision: YYYYMMDD, or blank | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "routingNumber": "123456789", + "telegraphicName": "MN STR BNK", + "customerName": "Main Street Bank", + "location": { + "city": "Boulder", + "state": "Colorado" + }, + "fundsTransferStatus": "Y", + "fundsSettlementOnlyStatus": " ", + "bookEntrySecuritiesTransferStatus": "Y", + "date": "20000222" +} +``` + {{}}{{}} + + + + +### WireInstitutionLocation + +Wire Institution Location object. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | city | `string`| Up to 24 characters | + | state | `string`| Up to 24 characters | + + + +### InstitutionParticipants + +ACH and Wire Institution participants + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | achParticipants | Array.<[ACHInstitution](#achinstitution)>| Array of ACH institutions | + | wireParticipants | Array.<[WireInstitution](#wireinstitution)>| Array of Wire institutions | + + + + + diff --git a/docs/output/payment-methods.md b/docs/output/payment-methods.md new file mode 100644 index 0000000..e678af7 --- /dev/null +++ b/docs/output/payment-methods.md @@ -0,0 +1,132 @@ +--- +title: "Payment methods" +weight: 80 +--- +Payments methods represent all of the ways an account can move funds to another Moov account. Payment methods are generated programmatically when a card or bank account is added or the status is updated. For example, `ach-debit-fund` will be added as a payment method once the bank account is verified. For more context, read our [payment methods](/guides/money-movement/payment-methods/) guide. + + +## Get + + +Get the specified payment method associated with a Moov account. +The `PAYMENT_METHODS_READ` scope enum is required when making a request from the browser. + +```javascript +paymentmethods.get(accountID, paymentMethodID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request bank account | +| paymentMethodID | `string` | ID of the payment method to retrieve. Can be one of `walletID`, `cardID`, or `bankAccountID`. | +{{}} + + + +**Returns** + +`Promise.` + + + +## List + + +Retrieve all of the payment methods associated with a Moov account. +The `PAYMENT_METHODS_READ` scope enum is required when making a request from the browser. + +```javascript +paymentmethods.list(accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request bank account | +{{}} + + + +**Returns** + +`Promise.>` + + + + + + +## Types +### WalletPaymentType + +Wallet Payment Type + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | walletID | `string`| Wallet identifier | + + + +### PaymentMethod + +Describes a Payment Method. + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| paymentMethodID | `string` | Payment Method identifier | +| paymentMethodType | [PAYMENT_METHODS_TYPE](#payment_methods_type) | Fingerprint of Bank Account | +| wallet | [WalletPaymentType](#walletpaymenttype) | Optional wallet object when payment method type is 'moov-wallet'. | +| bankAccount | [BankAccount](#bankaccount) | Optional bank account object when payment method type is one of 'ach-debit-fund', 'ach-debit-collect', ach-credit-standard', or 'ach-credit-same-day'. | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "paymentMethodType": "ach-debit-fund", + "bankAccount": { + "bankAccountID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", + "status": "new", + "holderName": "Jules Jackson", + "holderType": "individual", + "bankName": "Chase Bank", + "bankAccountType": "checking", + "routingNumber": "string", + "lastFourAccountNumber": "7000" + } +} +``` + {{}}{{}} + + + + + +## Enums +### PAYMENT_METHODS_TYPE + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| MOOV_WALLET | Moov Wallet Payment Type | +| ACH_DEBIT_FUND | ACH Debt Fund Payment Type | +| ACH_DEBIT_COLLECT | ACH Debt Collect Payment Type | +| ACH_CREDIT_STANDARD | ACH Credit Standard Payment Type | +| ACH_CREDIT_SAME_DAY | ACH Credit Same Day Payment Type | +| CARD | Card Payment Type | +{{}} + diff --git a/docs/output/representatives.md b/docs/output/representatives.md new file mode 100644 index 0000000..1fda5de --- /dev/null +++ b/docs/output/representatives.md @@ -0,0 +1,327 @@ +--- +title: "Representatives" +weight: 40 +--- +We require all business accounts to have valid information for at least one representative. Moov accounts must have verified business representatives before a business account can send funds, collect money from other accounts, or store funds in a wallet. + + +## Create + + +Create representative +The `REPRESENTATIVE_WRITE` scope enum is required when making a request from the browser. + +```javascript +representatives.create(accountID, representative) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to add representative | +| representative | [RepresentativeCreateUpdate](#representativecreateupdate) | Representative to add | +{{}} + + + +**Returns** + +`Promise.` + + + +## List + + +List representatives +The `REPRESENTATIVE_READ` scope enum is required when making a request from the browser. + +```javascript +representatives.list(accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to add representative | +{{}} + + + +**Returns** + +`Promise.>` + + + +## Get + + +Retrieve a specific representative associated with a given Moov account. +The `REPRESENTATIVE_READ` scope enum is required when making a request from the browser. + +```javascript +representatives.get(accountID, representativeID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to add representative | +| representativeID | `string` | Identifier of representative to retrieve | +{{}} + + + +**Returns** + +`Promise.` + + + +## Delete + + +Deletes a business representative associated with a Moov account. +The `REPRESENTATIVE_WRITE` scope enum is required when making a request from the browser. + +```javascript +representatives.delete(accountID, representativeID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to add representative | +| representativeID | `string` | Identifier of representative to retrieve | +{{}} + + + +**Returns** + +`Promise.` + + + +## Update + + +Update a specific representative. +The `REPRESENTATIVE_WRITE` scope enum is required when making a request from the browser. + +```javascript +representatives.update(accountID, representativeID, representative) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to add representative | +| representativeID | `string` | Identifier of representative to retrieve | +| representative | [RepresentativeCreateUpdate](#representativecreateupdate) | Representative to add | +{{}} + + + +**Returns** + +`Promise.` + + + + + + +## Types +### Representative + +Describes an individual who represents the business. + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| representativeID | `string` | Representative identifier | +| name | [RepresentativeName](#representativename) | Name for an individual | +| phone | [RepresentativePhone](#representativephone) | Phone for an individual | +| email | `string` | Email Address. string <= 255 characters | +| address | [RepresentativeAddress](#representativeaddress) | Address for an individual. | +| birthDateProvided | `boolean` | Indicates whether this Representative's birth date has been provided | +| governmentIDProvided | `boolean` | Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this Representative | +| responsibilities | [RepresentativeResponsibilities](#representativeresponsibilities) | Describes the job responsibilities of an individual | +| createdOn | `Date` | Date Representative was created | +| updatedOn | `Date` | Date Representative was last updated | +| disabledOn | `Date` | Optional date Representative was disabled | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "representativeID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "name": { + "firstName": "Amanda", + "middleName": "Amanda", + "lastName": "Yang", + "suffix": "Jr" + }, + "phone": { + "number": "8185551212", + "countryCode": "1" + }, + "email": "amanda@classbooker.dev", + "address": { + "addressLine1": "123 Main Street", + "addressLine2": "Apt 302", + "city": "Boulder", + "stateOrProvince": "CO", + "postalCode": "80301", + "country": "US" + }, + "birthDateProvided": false, + "governmentIDProvided": false, + "responsibilities": { + "isController": false, + "isOwner": true, + "ownershipPercentage": 38, + "jobTitle": "CEO" + }, + "createdOn": "2019-08-24T14:15:22Z", + "updatedOn": "2019-08-24T14:15:22Z", + "disabledOn": "2019-08-24T14:15:22Z" +} +``` + {{}}{{}} + + + + +### RepresentativeName + +Representative name + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | firstName | `string`| Name this person was given. This is usually the same as first name. string <= 64 characters | + | middleName | `string`| Name this person was given. This is usually the same as middle name. string <= 64 characters | + | lastName | `string`| Family name of this person. This is usually the same as last name. string <= 64 characters | + | suffix | `string`| Suffix of a given name. string <= 20 characters | + + + +### RepresentativePhone + +Representative phone + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | number | `string`| string <= 10 characters | + | countryCode | `string`| string <= 1 characters | + + + +### RepresentativeAddress + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | addressLine1 | `string`| string <= 32 characters | + | addressLine2 | `string`| string <= 32 characters | + | city | `string`| string <= 24 characters | + | stateOrProvince | `string`| string <= 2 characters | + | postalCode | `string`| string <= 5 characters | + | country | `string`| string <= 2 characters | + + + +### RepresentativeResponsibilities + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | isController | `boolean`| Indicates whether this individual has significant management responsibilities within the business | + | isOwner | `boolean`| Indiciates whether this individual has an ownership stake of at least 25% in the business | + | ownershipPercentage | `number`| The percentage of ownership this individual has in the business (required if `isOwner` is `true`) | + | jobTitle | `string`| string <= 64 characters | + + + +### RepresentativeBirthDate + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | day | `number`| 1 or 2 digit day of birth | + | month | `number`| 1 or 2 digit month of birth | + | year | `number`| 4 digit year of birth | + + + +### GovernmentID + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | full | `string`| string <= 64 characters | + | lastFour | `string`| string <= 4 characters | + + + +### RepresentativeGovernmentID + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | ssn | [GovernmentID](#governmentid)| Social Security Number | + | itin | [GovernmentID](#governmentid)| Individual Taxpayer Identification Number | + + + +### RepresentativeCreateUpdate + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | name | [RepresentativeName](#representativename)| Name for an individual | + | phone | [RepresentativePhone](#representativephone)| Phone for an individual | + | email | `string`| Email Address. string <= 255 characters | + | address | [RepresentativeAddress](#representativeaddress)| Address for an individual | + | birthDate | [RepresentativeBirthDate](#representativebirthdate)| Birth date for an individual | + | governmentID | [RepresentativeGovernmentID](#representativegovernmentid)| Social Security Number, or Individual Taxpayer Identification Number | + | responsibilities | [RepresentativeResponsibilities](#representativeresponsibilities)| Describes the job responsibilities of an individual | + + + + + diff --git a/docs/output/transfers.md b/docs/output/transfers.md new file mode 100644 index 0000000..d5d3f66 --- /dev/null +++ b/docs/output/transfers.md @@ -0,0 +1,718 @@ +--- +title: "Transfers" +weight: 90 +--- + +A transfer is the movement of money between Moov accounts, from source to destination. Provided you have linked a bank account which has been verified, you can initiate a transfer to another Moov account. For more context, read our [transfers](/guides/money-movement) guide. + + +## Create + + +Creates a transfer to move money from a source to a destination. +The `TRANSFERS_WRITE` scope enum is required when making a request from the browser. + +```javascript +transfers.create(transfer, idempotencyKey) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| transfer | [TransferCreate](#transfercreate) | Subset of the Transfer object | +| idempotencyKey | `string` | Optional UUID to prevent duplicate transfers | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const transfer = { + source: { paymentMethodID: "..." }, + destination: { paymentMethodID: "..." }, + amount: { + value: 3215, // $32.15 + currency: "USD" + }, + facilitatorFee: { + total: 8, // $0.08 + }, + description: "Yoga class" + }; + const { transferID } = moov.transfers.create(transfer); +} catch (err) { + // ... +} +``` + + +## List + + +Lists transfers that match the given criteria. +The `TRANSFERS_READ` scope enum is required when making a request from the browser. + +```javascript +transfers.list(criteria) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| criteria | [TransferListCriteria](#transferlistcriteria) | Optional properties by which to query and filter a transfer list | +{{}} + + + +**Returns** + +`Promise.>` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const criteria = { + accountIDs: ["...", "...", ...], + status: "pending", + startDateTime: new Date("1/1/2022").toISOString(), // inclusive + endDateTime: new Date("2/1/2022").toISOString(), // exclusive + count: 15, + skip: 15, // start on page 2 + }; + const results = await moov.transfers.list(criteria); +} catch (err) { + // ... +} +``` + + +## Get + + +Gets the details of a transfer. +The `TRANSFERS_READ` scope enum is required when making a request from the browser. + +```javascript +transfers.get(transferID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| transferID | `string` | Transfer identifier | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const transfer = await moov.transfers.get("..."); +} catch (err) { + // ... +} +``` + + +## UpdateMetadata + + +Update the metadata on a transfer. +The `TRANSFERS_WRITE` scope enum is required when making a request from the browser. + +```javascript +transfers.updateMetadata(transferID, metadata) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| transferID | `string` | Transfer identifier | +| metadata | `object` | Arbitrary key-value pairs | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const transfer = await moov.transfers.updateMetadata( + "...", + { key: "value" } + ); +} catch (err) { + // ... +} +``` + + +## GetTransferOptions + + +Gets the available payment options for a transfer. +The `TRANSFERS_READ` scope enum is required when making a request from the browser. + +```javascript +transfers.getTransferOptions(transferOptionsCriteria) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| transferOptionsCriteria | [TransferOptionsCriteria](#transferoptionscriteria) | Criteria for available payment options | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const options = moov.transfers.getTransferOptions({ + source: { + accountID: "...", + paymentMethodID: "..." + }, + destination: { + accountID: "...", + paymentMethodID: "..." + }, + amount: { + value: 43350, // $433.50 + currency: "USD" + } + }); +} catch (err) { + // ... +} +``` + + +## Refund + + +Initiate a refund for a card transfer. +The `TRANSFERS_WRITE` scope enum is required when making a request from the browser. + +```javascript +transfers.refund(transferID, idempotencyKey) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| transferID | `string` | Transfer identifier | +| idempotencyKey | `string` | Optional UUID to prevent duplicate refunds | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const { transferID } = moov.transfers.refund( + "...", + { amount: 200 } // omit if creating a refund for the full amount + ); +} catch (err) { + // ... +} +``` + + +## ListRefunds + + +List refunds for a card transfer. +The `TRANSFERS_READ` scope enum is required when making a request from the browser. + +```javascript +transfers.listRefunds(transferID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| transferID | `string` | Transfer identifier | +{{}} + + + +**Returns** + +`Promise.>` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const refunds = moov.transfers.listRefunds("..."); +} catch (err) { + // ... +} +``` + + +## GetRefund + + +Get details of a specific refund. +The `TRANSFERS_READ` scope enum is required when making a request from the browser. + +```javascript +transfers.getRefund(transferID, refundID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| transferID | `string` | Transfer identifier | +| refundID | `string` | Refund identifier | +{{}} + + + +**Returns** + +`Promise.` + + + +**Examples** + +```javascript +const moov = new Moov(...); +try { + const refund = moov.transfers.getRefund("..."); +} catch (err) { + // ... +} +``` + + + + + +## Types +### CardDetails + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | dynamicDescriptor | `string`| An optional override of the default card statement descriptor for a single transfer | + | transactionSource | `first-recurring`, `recurring`, `unscheduled`, `null`| Enum: [first-recurring recurring unscheduled] Describes how the card transaction was initiated | + + + +### PaymentMethodAccount + +High-level account information associated with a payment method. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | accountID | `string`| Payment method identifier | + | email | `string`| Email associated with the payment method | + | displayName | `string`| Display name associated with the payment method | + + + +### BankAccount + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | bankAccountID | `string`| Bank Account identifier | + | fingerprint | `string`| Fingerprint of the bank account | + | status | `new`, `verified`, `verificationFailed`, `pending`, `errored`| Bank account status | + | holderName | `string`| Name of the account holder | + | holderType | `individual`, `business`| Type of holder on a funding source | + | bankName | `string`| Name of the bank | + | bankAccountType | `checking`, `savings`, `unknown`| | + | routingNumber | `string`| Bank account routing number | + | lastFourAccountNumber | `string`| Last four digits of the bank account number | + + + +### Wallet + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | walletID | `string`| Wallet identifier | + + + +### CardExpiration + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | month | `string`| 2 characters | + | year | `string`| 2 characters | + + + +### CardVerification + +The results of submitting cardholder data to a card network for verification. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | cvv | `noMatch`, `match`, `notChecked`, `unavailable`| Card Verification Value status | + | addressLine1 | `noMatch`, `match`, `notChecked`, `unavailable`| Address status | + | postalCode | `noMatch`, `match`, `notChecked`, `unavailable`| Postal code status | + + + +### Card + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | cardID | `string`| Card identifier | + | fingerprint | `string`| Fingerprint of the card | + | brand | `American Express`, `Discover`, `MasterCard`, `Visa`| Card brand | + | cardType | `debit`, `credit`, `prepaid`, `unknown`| Card type | + | lastFourCardNumber | `string`| Last four digits of the card number | + | bin | `string`| Bank Identification Number | + | expiration | [CardExpiration](#cardexpiration)| The card's expiration date | + | holderName | `string`| The cardholder's name | + | billingAddress | [Address](#address)| The billing address associated with the card | + | cardVerification | [CardVerification](#cardverification)| The results of submitting cardholder data to a card network for verification | + + + +### ACHCode + +Models the reason for an ACH return or correction. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | code | `string`| Ach return code (for example, R01) | + | reason | `string`| The network's reason for the return or correction (for example, insufficient funds) | + | description | `string`| Explanation of the return code and reason | + + + +### ACHDetails + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | status | `initiated`, `originated`, `corrected`, `returned`, `completed`| ACH rail status | + | traceNumber | `string`| Tracking number that can be used by payment recipient to trace the payment with their external financial institution | + | return | [ACHCode](#achcode)| ACH return information per Nacha specification | + | correction | [ACHCode](#achcode)| ACH notification of change information per Nacha specification | + + + +### PaymentMethod + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | paymentMethodID | `string`| Payment method identifier | + | paymentMethodType | `moov-wallet`, `ach-debit-fund`, `ach-debit-collect`, `ach-credit-standard`, `ach-credit-same-day`, `rtp-credit`, `card-payment`| Allowed payment method types | + | account | [PaymentMethodAccount](#paymentmethodaccount)| Account information associated with the payment method | + | bankAccount | [BankAccount](#bankaccount)| Optional bank account object when payment method type is one of `ach-debit-fund`, `ach-debit-collect`, `ach-credit-standard`, or `ach-credit-same-day` | + | card | [Card](#card)| Optional card object when payment method type is one of `card-payment` or `apple-pay` | + | wallet | [Wallet](#wallet)| Optional wallet object when payment method type is `moov-wallet` | + | achDetails | [ACHDetails](#achdetails)| Information about ACH transfers and status details | + | cardDetails | [CardDetails](#carddetails)| Statement descriptor and recurring flag for card payments | + + + +### Amount + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | value | `number`| Integer quantity in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | + | currency | `string`| 3 letter ISO 4217 currency code | + + + +### Refund + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | refundID | `string`| Refund identifier | + | createdOn | `string`| Date-time the refund was created on | + | updatedOn | `string`| Date-time the refund was updated on | + | status | `created`, `pending`, `completed`, `failed`| Refund status | + | amount | [Amount](#amount)| Refund amount | + + + +### Transfer + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | transferID | `string`| Transfer identifier | + | createdAt | `string`| Deprecated (now createdOn) | + | createdOn | `string`| Date-time the transfer was created on | + | status | `created`, `pending`, `completed`, `failed`, `reversed`| Transfer status | + | source | [PaymentMethod](#paymentmethod)| `paymentMethodID` or `transferID` | + | destination | [PaymentMethod](#paymentmethod)| `paymentMethodID` | + | amount | [Amount](#amount)| Transfer amount | + | description | `string`| Transfer description (128 characters max) | + | metadata | `object`| Arbitrary key-value pairs | + | refundedAmount | [Amount](#amount)| The total refunded amount | + | refunds | Array.<[Refund](#refund)>| Array of refunds associated with the transfer | + | facilitatorFee | `object`| Total or markup fee | + | moovFee | `number`| Integer quantity of Moov fee in USD, so $0.11 would be 11 | + | moovFeeDecimal | `string`| The precise fee charged - supports up to 9 decimals | + + + +### TransferCreate + + + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| source | [PaymentMethod](#paymentmethod) | `paymentMethodID` or `transferID` | +| destination | [PaymentMethod](#paymentmethod) | `paymentMethodID` | +| amount | [Amount](#amount) | Transfer amount represented by an integer value and its currency | +| facilitatorFee | `object` | Total or markup fee | +| description | `string` | Transfer description (128 characters max) | +| metadata | `object` | Arbitrary key-value pairs | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "source": { + "transferID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "cardDetails": {} + }, + "destination": { + "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43" + }, + "amount": { + "currency": "USD", + "value": 1204 + }, + "facilitatorFee": { + "total": 0, + }, + "description": "Pay Instructor for May 15 Class", + "metadata": { + "property1": "string", + "property2": "string" + } +} +``` + {{}}{{}} + + + + +### TransferResponse + + + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| transferID | `string` | Transfer identifier | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "transferID": "e23de6dd-5168-4e1d-894d-807fa691dc80" +} +``` + {{}}{{}} + + + + +### TransferListCriteria + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | accountIDs | `Array.`| Optional list of account IDs to filter sources and destinations | + | status | `string`| Optional transfer status by which to filter the transfers | + | startDateTime | `string`| Optional date-time which inclusively filters all transfers created after this starting date-time | + | endDateTime | `string`| Optional date-time which exclusively filters all transfers created before this date-time | + | count | `number`| Optional parameter to limit the number of results in the query | + | skip | `number`| Optional number of items to offset before starting to collect the result set | + + + +### TransferOptionsCriteria + +Criteria for finding available payment types for a transfer. + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | source | `object`| `accountID` or `paymentMethodID` | + | source.accountID | `string`| `accountID` associated with the transfer source | + | source.paymentMethodID | `string`| `paymentMethodID` associated with the transfer source | + | destination | `object`| `accountID` or `paymentMethodID` | + | destination.accountID | `string`| `accountID` associated with the transfer destination | + | destination.paymentMethodID | `string`| `paymentMethodID` associated with the transfer destination | + | amount | [Amount](#amount)| Transfer amount represented by an integer value and its currency | + + + +### TransferOptions + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | paymentMethodID | `string`| `paymentMethodID` associated with a transfer | + | paymentMethodType | `moov-wallet`, `ach-debit-fund`, `ach-debit-collect`, `ach-credit-standard`, `ach-credit-same-day`, `rtp-credit`, `card-payment`| | + | wallet | [Wallet](#wallet)| Populated when `paymentMethodType` is `moov-wallet` | + | bankAccount | [BankAccount](#bankaccount)| Populated when `paymentMethodType` is one of the ACH or FTP variations | + | card | [Card](#card)| Populated when `paymentMethodType` is `card-payment` | + + + +### AvailableTransferOptions + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | sourceOptions | Array.<[TransferOptions](#transferoptions)>| Array of available payment methods for the source of a transfer | + | destinationOptions | Array.<[TransferOptions](#transferoptions)>| Array of available payment methods for the destination of a transfer | + + + +### Refund + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | refundID | `string`| Refund identifier | + | createdOn | `string`| Date-time the refund was created on | + | updatedOn | `string`| Date-time the refund was updated on | + | status | `created`, `pending`, `completed`, `failed`| Refund status | + | amount | [Amount](#amount)| Refund amount | + + + + + diff --git a/docs/output/wallets.md b/docs/output/wallets.md new file mode 100644 index 0000000..4b35228 --- /dev/null +++ b/docs/output/wallets.md @@ -0,0 +1,246 @@ +--- +title: "Wallets" +weight: 100 +--- + +Every Moov account automatically comes with a Moov wallet, which serves as a funding source as you accumulate funds. +At this time, wallets can't be manually created, deleted or modified. They are read-only and are automatically created when a Moov account is associated with an application. For more context, read our [wallets](/guides/sources/wallets/) guide. + + +## Get + + +Get information on a specific Moov wallet (e.g., the available balance). +The `WALLETS_READ` scope enum is required when making a request from the browser. + +```javascript +wallets.get(accountID, walletID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request wallet | +| walletID | `string` | The ID for the wallet associated with an account | +{{}} + + + +**Returns** + +`Promise.` + + + +## List + + +List the wallets associated with a Moov account. +The `WALLETS_READ` scope enum is required when making a request from the browser. + +```javascript +wallets.list(accountID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | Account on which to request wallets | +{{}} + + + +**Returns** + +`Promise.>` + + + +## GetTransaction + + +Get the details of a wallet transaction. +The `WALLETS_READ` scope enum is required when making a request from the browser. + +```javascript +wallets.getTransaction(accountID, walletID, transactionID) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | UUID v4 | +| walletID | `string` | UUID v4 | +| transactionID | `string` | UUID v4 | +{{}} + + + +**Returns** + +`Promise.` + + + +## ListTransactions + + +List the transactions in a wallet. +The `WALLETS_READ` scope enum is required when making a request from the browser. + +```javascript +wallets.listTransactions(accountID, walletID, criteria) +``` + +**Parameters** +{{< table >}} +| Name | Type | Description | +| ---- | ---- | ----------- | +| accountID | `string` | UUID v4 | +| walletID | `string` | UUID v4 | +| criteria | [WalletTransactionListCriteria](#wallettransactionlistcriteria) | Filtering criteria to limit the results returned. | +{{}} + + + +**Returns** + +`Promise.>` + + + + + + +## Types +### Wallet + +Describes a Moov Wallet + +**Properties** + + +{{< tabs>}} + {{< tab title="Details">}} + {{< table >}} +| Property | Type | Description | +| ---- | ---- | ----------- | +| walletID | `string` | UUID v4 | +| availableBalance | [Amount](#amount) | Balance based on all completed transactions against the wallet. | +{{}} + {{< /tab>}} +{{< tab title="Example">}} +```javascript +{ + "walletID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", + "availableBalance": { + "currency": "USD", + "value": 1204 // $12.04 + } +} +``` + {{}}{{}} + + + + +### WalletTransaction + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | walletID | `string`| UUID v4 | + | transactionID | `string`| UUID v4 | + | transactionType | [WALLET_TRANSACTION_TYPE](#wallet_transaction_type)| wallet transaction type. | + | sourceType | [WALLET_TRANSACTION_SOURCE_TYPE](#wallet_transaction_source_type)| where the transaction originated. | + | sourceID | `string`| ID of the source Moov object to which this transaction is related. Can be one of [walletID](/api/sources/wallets/list/), [cardID](/api/sources/cards/list/), or [bankAccountID](/api/sources/bank-accounts/list/). | + | status | [WALLET_TRANSACTION_STATUS](#wallet_transaction_status)| wallet transaction status. | + | memo | `string`| Detailed description of the transaction. | + | createdOn | `string`| Date transaction was created. | + | completedOn | `string`| Date transaction was completed. | + | currency | `string`| 3-letter ISO 4217 currency code. | + | grossAmount | `integer`| The total transaction amount. The amount is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | + | fee | `integer`| Total fees paid for the transaction. The amount is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | + | netAmount | `integer`| Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. The amount is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | + | availableBalance | `integer`| The wallet's total available balance after recording a completed transaction. The value is in the smallest unit of the specified currency. In USD this is cents, so $12.04 is 1204 and $0.99 would be 99. | + + + +### WalletTransactionListCriteria + + + +**Properties** + +| Property | Type | Description | +| ---- | ---- | ----------- | + | transactionType | [WALLET_TRANSACTION_TYPE](#wallet_transaction_type)| Only return transactions of this type. | + | sourceType | [WALLET_TRANSACTION_SOURCE_TYPE](#wallet_transaction_source_type)| Only return transactions of this source type. | + | sourceID | `string`| Only return transactions that were part of this transfer ID. | + | status | [WALLET_TRANSACTION_STATUS](#wallet_transaction_status)| Only return transactions in this state. | + | createdStartDateTime | `string`| Only return transactions created on or after this datetime. | + | createdEndDateTime | `string`| Only return transactions created before this datetime. | + | completedStartDateTime | `string`| Only return transactions completed on or after this datetime. | + | completedEndDateTime | `string`| Only return transactions completed before this datetime. | + | count | `number`| Maximum number of transactions to return in results | + | skip | `number`| Number of transactions to skip before collection results | + + + + +## Enums +### WALLET_TRANSACTION_TYPE + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| ACH_REVERSAL | When an ach payment is returned, funds are either returned or taken from the wallet balance. | +| CARD_PAYMENT | A payment that was made from a card. | +| CASH_OUT | Transfer of funds out of a wallet to the account’s bank. | +| DISPUTE | When a customer disputes a charge, the disputed amount is debited from the wallet. | +| DISPUTE_REVERSAL | If a dispute is won by a merchant, funds will be credited back to their wallet. | +| FACILITATOR_FEE | Fee earned on a transfer. | +| ISSUING_REFUND | A refund on a purchase from a Moov issued card. | +| ISSUING_TRANSACTION | An authorized purchase from a Moov issued card. | +| ISSUING_TRANSACTION_ADJUSTMENT | If an authorized purchase is captured for more or less than the original authorization amount, an adjustment will be made to reflect the difference. | +| ISSUING_AUTH_RELEASE | Any funds that were not captured from an authorized purchase from a Moov issued card will be released. | +| PAYMENT | An ACH payment from a bank to the account’s wallet. | +| PAYOUT | A payment from a wallet to another accounts bank. | +| REFUND | When a refund is initiated, the requested refund amount is debited from the wallet. | +| REFUND_FAILURE | To account for refund failures, a credit will be made back into the wallet. | +| TOP_UP | Transfer of funds into a wallet from the account’s bank. | +| WALLET_TRANSFER | Funds that move between Moov wallets. | +{{}} + +### WALLET_TRANSACTION_SOURCE_TYPE + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| TRANSFER | Transaction was part of a transfer. | +| DISPUTE | Transaction was part of a dispute. | +| ISSUING_TRANSACTION | Transaction was part of an issuing transaction. | +{{}} + +### WALLET_TRANSACTION_STATUS + + + +{{< table >}} +| Value | Description | +| ----- | ----------- | +| PENDING | Transaction has not completed. | +| COMPLETED | Transaction has completed. | +| FAILED | Transaction failed. | +{{}} + diff --git a/lib/accounts.js b/lib/accounts.js index c6d3310..597dc65 100644 --- a/lib/accounts.js +++ b/lib/accounts.js @@ -13,7 +13,6 @@ import { Address } from "./address.js"; * @property {Profile} profile - Details for individual or business * @property {object} metadata - Arbitrary key-value pairs * @property {string} foreignID - Optional identification or alias - * @property {AccountVerification} verification - Describes identity verification status and relevant identity verification documents * @property {CustomerSupport|null} customerSupport - Displayed on credit card transactions (business only) * @property {AccountSettings|null} settings - Account settings * @property {string} createdOn - Date account was created @@ -300,13 +299,6 @@ import { Address } from "./address.js"; * @tag Accounts */ -/** - * Describes the verification state of an account - * @typedef AccountVerification - * @property {"unverified"|"pending"|"resubmit"|"review"|"verified"|"failed"} verificationStatus - The status of an identity verification for a profile - * @tag Accounts - */ - /** * Describes customer support contact information for a business account. * @typedef CustomerSupport diff --git a/lib/types/accounts.d.ts b/lib/types/accounts.d.ts index 30c3f1a..cd92f8c 100644 --- a/lib/types/accounts.d.ts +++ b/lib/types/accounts.d.ts @@ -8,7 +8,6 @@ * @property {Profile} profile - Details for individual or business * @property {object} metadata - Arbitrary key-value pairs * @property {string} foreignID - Optional identification or alias - * @property {AccountVerification} verification - Describes identity verification status and relevant identity verification documents * @property {CustomerSupport|null} customerSupport - Displayed on credit card transactions (business only) * @property {AccountSettings|null} settings - Account settings * @property {string} createdOn - Date account was created @@ -284,12 +283,6 @@ * @property {string} jobTitle * @tag Accounts */ -/** - * Describes the verification state of an account - * @typedef AccountVerification - * @property {"unverified"|"pending"|"resubmit"|"review"|"verified"|"failed"} verificationStatus - The status of an identity verification for a profile - * @tag Accounts - */ /** * Describes customer support contact information for a business account. * @typedef CustomerSupport @@ -421,10 +414,6 @@ export type Account = { * - Optional identification or alias */ foreignID: string; - /** - * - Describes identity verification status and relevant identity verification documents - */ - verification: AccountVerification; /** * - Displayed on credit card transactions (business only) */ @@ -597,15 +586,6 @@ export type Responsibility = { ownershipPercentage: number; jobTitle: string; }; -/** - * Describes the verification state of an account - */ -export type AccountVerification = { - /** - * - The status of an identity verification for a profile - */ - verificationStatus: "unverified" | "pending" | "resubmit" | "review" | "verified" | "failed"; -}; /** * Describes customer support contact information for a business account. */