Bank accounts
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 instant micro-deposits, which sends a code to a bank account. 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.
Add bank account
Link a bank account to an existing Moov account.
To link a bank account, you'll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.
Parameters
| Name | Type |
|---|---|
accountID |
string |
const accountID = "accountID";
const bankAccount = {
"holderName": "Jules Jackson",
"holderType": "individual",
"accountNumber": "0004321567000",
"bankAccountType": "checking",
"routingNumber": "123456789"
};
moov.accounts.bankAccounts.link({accountID, bankAccount});
const accountID = "accountID";
moov.accounts.bankAccounts.link({accountID, plaid: { token: "token"}});
List bank accounts
List all the bank accounts associated with a particular Moov account.
To list bank accounts, you'll need to specify the /accounts/{accountID}/bank-accounts.read scope when generating a token.
Parameters
| Name | Type |
|---|---|
accountID |
string |
const accountID = "accountID";
moov.accounts.bankAccounts.list({accountID});
Get bank account
Retrieve bank account details (routing number or account type) associated with a specific Moov account.
To retrieve bank account details, you'll need to specify the /accounts/{accountID}/bank-accounts.read scope when generating a token.
Parameters
| Name | Type |
|---|---|
accountID |
string |
const accountID = "accountID";
moov.accounts.bankAccounts.get({accountID});
Disable bank account
Discontinue using a specified bank account linked to a Moov account.
To delete a bank account, you'll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.
Parameters
| Name | Type |
|---|---|
accountID |
string |
const accountID = "accountID";
moov.accounts.bankAccounts.delete({accountID});
Initiate instant micro-deposits verification
Verification helps confirm bank account ownership, reducing fraud and risk of unauthorized activity. Use this method to initiate instant micro-deposits, which sends a 4-digit numeric code and a $0.01 credit to the bank account. The code will be in the form of MV0000, mv0000, or 0000. If instant micro-deposits verification is not available at the participating bank, the fallback is same-day ACH.
To initiate, you'll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.
Parameters
| Name | Type |
|---|---|
accountID |
string |
bankAccountID |
string |
const accountID = "accountID";
const bankAccountID = bankAccountID;
moov.accounts.bankAccounts.startVerification({accountID, bankAccountID});
Check instant micro-deposit verification
You can track instant bank account verifications. The response includes whether the verification method was instant or same-day ACH, as well as exception details.
const accountID = "accountID";
const bankAccountID = bankAccountID;
moov.accounts.bankAccounts.getVerification({accountID, bankAccountID});
The status indicates the following:
new: Verification initiated, credit pending to the payment network.sent-credit: Credit sent, available for verification.failed: Verification failed, description provided, user needs to add a new bank account.expired: Verification expired after 14 days, initiate another verification.max-attempts-exceeded: Five incorrect code attempts exhausted, initiate another verification.
Complete instant micro-deposit verification
Complete the instant micro-deposit verification process by passing the code sent to the bank account.
You'll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.
Parameters
| Name | Type |
|---|---|
accountID |
string |
bankAccountID |
string |
code |
string |
const accountID = "accountID";
const bankAccountID = bankAccountID;
moov.accounts.bankAccounts.completeVerification({accountID, bankccountID, code});