Verifying Bank Accounts (deprecated)

How do I create a bank account identity verification?

Understand how to verify an external bank account against a customer's KYC information

What is a bank account identity verification?

In order to process EFT or ACH transfers on the Cybrid Platform, it is required that the customer connecting the external bank account owns the external bank account, and that customer has successfully KYC'd. The bank account identity verification will verify that the name on the connected external bank account matches the name provided during KYC.

Bank account identity verifications are required in order to create external bank accounts on the Cybrid Platform.

Creating a bank account identity verification

After a customer has KYC'd and their customer state is "verified", and the customer has initiated connecting their external bank account via Plaid, you can then create a customer bank identity verification via the POST /api/identity_verifications endpoint.

If you are using Cybrid's KYC and Plaid services, you will create an identity_verification of type="bank_account" and method="plaid_identity_match".

An example POST bank account identity verification request body is below:

{
  "type": "bank_account",
  "method": "plaid_identity_match",
  "customer_guid": "<customer_guid>",
  "external_bank_account_guid": "<external_bank_account_guid>"
}

If you are using attested KYC and Cybrid's Plaid services, or using your own Plaid services, you will create an identity verification of type="bank_account" and method="attested".

When attested, you will provide the customer details when creating the bank account identity verification.

Depending how you're storing your customer details, one option is to use the Plaid Identity API to retrieve the customer details in order to pass to the POST request.

An example POST bank account identity verification request body is below:

{
  "type": "bank_account",
  "method": "attested",
  "customer_guid": "<insert customer_guid>",
  "external_bank_account_guid": "<insert external_bank_account_guid>",
  "name": {
    "full": "<insert first middle last>"
  },
  "address": {
    "street": "<insert street>",
    "city": "<insert city>",
    "country_code": "<insert country_code>"
  }
  "phone_number": "<insert phone_number>",
  "email_address": "<insert email_address>"
}

Understanding when the bank account identity verification is complete

After creating a bank account identity verification, you can check on the state and outcome of the identity verification using the GET /api/identity_verifications endpoint.

Completed State

When a bank account identity verification is auto-approved, the bank account identity verification will progress immediately from state="storing" to state="completed".

Waiting State

When a bank account identity verification is not immediately auto-approved, the bank account identity verification will progress immediately from state="storing" to state="waiting".

The Cybrid team will be notified when the bank account identity verification state is "waiting", and will begin review and may request additional identity documents from the customer.

The bank account identity verification state will remain in "waiting" for up to one week and, if it hasn't already progressed to state="completed", will automatically progress to state="completed", with outcome="failed", and with failure_codes indicating "decision_timeout".

Passed Outcome

When the bank account identity verification is either immediately auto-approved, or approved by the Cybrid team while the state is "waiting", the bank account identity verification will progress to state="completed" and outcome="passed".

When outcome is "passed", the bank account identity verification is complete and successful.

Failed Outcome

When the bank account identity verification is rejected by the Cybrid team while the state is "waiting", the bank account identity verification will progress to state="completed" and outcome="failed", and the failure_codes array will return one of the following errors:

  • name_check_failure: The name used during KYC does not match the name registered on the bank account
  • address_check_failure: The address used during KYC does not match the name registered on the bank account
  • phone_number_check_failure: The phone number used during KYC does not match the name registered on the bank account. Note: This will not prevent passing
  • email_address_check_failure: The email address used during KYC does not match the name registered on the bank account. Note: This will not prevent passing
  • decision_timeout: The bank account verification has timed out

When outcome is "failed", the bank account identity verification is complete but not successful, and must be resubmitted in order to complete a successful bank account identity verification.