Stripe and Plaid have a partnership that makes accepting ACH payments relatively straightforward: the customer links a bank account through Plaid, and you use that connection on the Stripe side.
Step 1 — Plaid Link on the client
On the client you open the Plaid Link widget. It needs a public_key (or the modern Link token flow, depending on the Plaid API version) to start.
After the customer authenticates and picks an account, you receive two values:
public_token # For further calls to Plaid.
account_id # The bank account the user selected.
All server-side requests to the Plaid API use client_id and secret.
Step 2 — Exchange the public token
A public_token from Link can be obtained by any client, so it must be exchanged for an access_token on the server (using client_id and secret). Only the access_token should be used for further Plaid API calls.
Andrew Dorokhov