How to setup Stripe-Plaid authentication?
Problem Statement
You want to know how to setup stripe-plaid authentication.
Solution
Scope
I want my Stripe account verification to happen Via Plaid, a third-party application that authenticates bank information.
Using Plaid
Plaid is a third-party application that allows for quick authentication of bank information, enabling instant verification of bank details and payment collection.
Note: Plaid is a paid service. Since Plaid is an instant verification payment method, customers will be charged immediately. Currently All implementations of Plaid created after July 23, 2020 will use a link_token instead of a public_key. Chargebee are making changes to the Plaid integration. In the meanwhile, based on our discussion with the Plaid team, they have agreed to provide the public key until we make changes on our side. So, we would request you to contact the Plaid Support team.
To allow your customer to verify their bank accounts using Plaid, follow these steps:
Step 1: Setup/Connect your Stripe and Plaid accounts
Connect your Stripe and Plaid accounts so that Plaid can facilitate the creation of bank account tokens on your behalf. Find out more about how to do this on Plaid's page.
Step 2: Connect your Chargebee and Plaid accounts
-
Navigate to Settings > Configure Chargebee > Payment Gateways > Stripe
-
Enable the Use Plaid for Instant Authentication option
-
Connect Plaid to Chargebee by entering your
- Client ID and Public and Secret API Keys: This information helps Chargebee connect with your Plaid account. You can find this information in your Plaid Dashboard by navigating to Team Settings > Keys.
Step 3: Checkout page and customer portal setting
-
Choose customers for whom you want to display direct debit as a payment method in the Chargebee checkout and self-serve portal. Select the necessary option from Display Direct Debit as a payment method for setting at the bottom of the page. Available options are:
-
All your customers - This option allows all your customers (including new customers) to pay via ACH irrespective of whether the Allow this customer to pay via his/her Bank Account option is enabled on the customer's details page.
-
Only customers with Direct Debit enabled
-
Note: This option is applicable for direct debit payments via Stripe ACH (Plaid only) and SEPA.
- Finally, click Apply option at the top of the page to save your ACH settings.
Once you have completed these three steps, your customers will be able to verify their bank accounts using Plaid when they choose ACH as their payment method.
When your customers are setting up ACH payments, they will be redirected to Plaid. Plaid verifies bank details using the customer's (bank account related) log-in credentials. Once verified, customers are redirected back to Chargebee's hosted pages where they can enter their personal details, shipping, and billing addresses, and so on, and complete their payment.
How to use Financial Connections when Plaid is already in use?
Let's say you currently have a Stripe configuration (Configuration 1) that uses Plaid.
Instead of replacing it, we recommend creating a new Stripe configuration (Configuration 2) with Financial Connections enabled. In this new configuration, only Financial Connections will be available for bank account verification.
This approach allows you to:
- Continue using Plaid for your existing setup through Configuration 1.
- Test and validate Financial Connections using Configuration 2 without impacting your current workflow.
- Once you are satisfied with the behavior of Financial Connections, configure Smart Routing for Stripe ACH to use Configuration 2. From that point onwards:
- Existing Plaid-linked payment methods will continue to be processed through Configuration 1 (legacy flow).
- New customer-initiated transactions (CIT) for bank account verification will be routed through Configuration 2 using Financial Connections.
- Existing Plaid-linked payment methods will continue to be processed through Configuration 1 (legacy flow).
- New customer-initiated bank account verifications (CIT) will be routed through Configuration 2 using Financial Connections.
- This provides a smooth path while ensuring that your existing Plaid integrations continue to function as expected.
Our recommendation is to create a new Stripe configuration specifically for Financial Connections rather than replacing the existing Plaid configuration. This is because, if you later decide to switch back to Plaid, it may not be possible to re-enable it within the same configuration after it has been deactivated.
How Plaid and Financial Connections work together
With the current behavior, when both Plaid and Financial Connections are enabled, Plaid takes precedence. This is why the Plaid verification flow continues to be presented.
New customers will be routed through Financial Connections (FC) only after Plaid is deactivated.
Once Plaid is deactivated:
- Existing customers who were already verified through Plaid will continue using their existing payment methods, as they are vaulted in Stripe. They would not need to re-verify through Financial Connections for those existing payment methods.
- If an existing customer needs to be verified through Financial Connections, they would need to add a new payment method. That new verification flow would then be routed through Financial Connections.
- Financial Connections-based verification will be triggered only when a customer adds a payment method. It will not be triggered during subsequent Merchant-Initiated Transactions (MITs).
In short, as long as Plaid remains enabled, Plaid will continue to take precedence over Financial Connections.
How to use Financial Connections by deactivating Plaid that is already in use?
If you want to use Financial Connections for new verification flows within the existing Stripe configuration, Plaid needs to be deactivated.
1. Deactivating Plaid
To deactivate Plaid, you would need to disable the relevant toggle within your Stripe configuration:
Navigate to:
Settings > Configure Chargebee > Payment Gateways > Stripe
Then:
- Turn off Use Plaid for instant authentication.
2. Impact on existing customers
For customers who have already been verified through Plaid:
- Their existing vaulted payment methods will continue to work as-is.
- They will not be required to re-verify their bank accounts through Financial Connections.
- Financial Connections will apply to new verification flows going forward, without impacting existing Plaid-verified customers.
- Financial Connections-based verification will be triggered only when a customer adds a payment method. It will not be triggered during subsequent Merchant-Initiated Transactions (MITs).
Note: Once Plaid is deactivated, it may not be possible to restore it for the same Stripe configuration.
Keeping this in mind, our recommended approach is to maintain two separate Stripe configurations:
- Configuration 1: Existing Stripe configuration with Plaid
- Configuration 2: New Stripe configuration with Financial Connections
Configure Financial Connections in Chargebee when Plaid is already enabled
Go to Settings > Configure Chargebee > Payment Gateways > Stripe > Direct Debit (ACH).
- Turn off Use Plaid for instant authentication.
- Remove the existing Plaid credentials from the configuration.
- Turn on Use Financial Connections for instant verification.
- Click Save.
The Financial Connections experience should now be presented instead of Plaid.
On the Stripe side, please also ensure that Financial Connections is enabled for the Stripe account connected to this Chargebee gateway.