Bank Account Verification
Bank account verification lets your customer link a bank account by signing in to it, instead of typing an account and routing number. The account details arrive already verified, which makes ACH payments more reliable and cuts down on returns caused by mistyped, closed or invalid accounts. JustiFi provides this through Plaid, so your customer sees Plaid's branded sign-in window while connecting their bank.
Getting it working takes two things: provisioning the business for the bank account verification product, and having JustiFi enable the feature for the account.
Prerequisites
Before a business can be provisioned for bank account verification:
- The business must already be provisioned for payments and linked to a sub account
- The business legal address country must be the United States, the only country where bank account verification is available
- The business must include the following information:
- Business Legal Name
- Business Website URL
- Business Legal Address
Add anything missing via the update business API.
Bank account verification is available in the following JustiFi checkout options:
- Hosted Checkout
- Unified Fintech Checkout web component
- Modular Checkout web component, when the Plaid Payment Method sub component is included
It is not available in the Tokenize Payment Method web component or when creating payment methods directly via the JustiFi API.
Enabling Bank Account Verification
Bank account verification has to be switched on for your account by JustiFi. Once the business is provisioned, contact JustiFi Customer Success to have the feature enabled.
-
Determine the business ID of the sub account you want to enable for bank account verification via the get sub account API. The business ID is listed in the response. The sub account needs to be enabled for payment processing already.
-
Get the business via the get business API and confirm it includes the information listed in Prerequisites. Add anything missing via the update business API before provisioning, otherwise the provisioning request is rejected.
-
Provision the business via the provisioning API, passing the business ID and
bank_account_verificationas theproduct_category.curl --request POST \
--url https://api.justifi.ai/v1/entities/provisioning \
--header 'authorization: Bearer {{access_token}}' \
--header 'content-type: application/json' \
--data '{
"business_id": "biz_123",
"product_category": "bank_account_verification"
}' -
Contact JustiFi Customer Success to have bank account verification enabled for the account.
Enablement is not immediate. Expect a few business days from the provisioning request until the feature
is live on the account, because the business information is reviewed before bank account verification can
be switched on. You can confirm the result at any time with
get sub account settings:
bank_account_verification reads true on the payment settings once the feature is live.
Platform-Wide Enablement
Bank account verification can also be enabled at the platform level, so that every sub account can use it without being provisioned individually. Contact JustiFi Customer Success to set this up, and have a business ready whose legal name matches the name of your platform account, since that business is what JustiFi associates with the platform.
Using Bank Account Verification
Once the feature is live, a bank account verification option appears alongside your other payment methods at checkout. Your customer selects it, signs in to their bank, and chooses the account to pay from. The verified account comes back to the checkout as a tokenized payment method, and the payment is processed as ACH.
How the option shows up depends on the checkout you have integrated:
- Hosted Checkout: appears automatically
- Unified Fintech Checkout web component: appears automatically
- Modular Checkout web component: include the Plaid Payment Method sub component
A detailed step-by-step walkthrough of the end user flow will be documented separately.
Testing
Bank account verification is available in test mode and uses simulated bank accounts. Hosted Checkout, the Unified Fintech Checkout web component and the Modular Checkout web component all connect to the sandbox automatically when in test mode. Any values are accepted for user credentials and verification codes.
Test accounts do not need the business provisioned for bank account verification, so you can start testing without provisioning anything. The bank account verification setting still has to be enabled for your test account, so contact JustiFi Customer Success if the option does not appear at checkout.
Troubleshooting
These are the errors the provisioning API returns when a business cannot be provisioned for bank account verification:
| Status | Cause | Resolution |
|---|---|---|
400 | The business is missing information required for bank account verification. The response lists which fields are missing. | Add the fields via the update business API and send the provisioning request again |
400 | The business has no associated sub account, usually because it was never provisioned for payments | Provision the business for payments first, then provision it for bank account verification |
400 | The business has already been provisioned for bank account verification | No further request is needed. If the option still does not appear at checkout, contact JustiFi Customer Success to confirm the feature is enabled |
400 | The business legal address country is outside the United States | Bank account verification cannot be provisioned for this business |
502 | JustiFi could not reach the verification provider | Retry the request. If it keeps failing, contact JustiFi Customer Success |