Mercoa supports instant addition and verification of bank accounts via Plaid. This allows you to skip the manual steps of collecting bank account details and sending and confirming micro-deposits.

Additionally, if you are already linking accounts to your platform via Plaid, Mercoa can use your pre-existing integration to add and verify bank accounts with zero user interaction.

We recommend using your own Plaid integration. This will allow you to own your UI and cause less friction for your users. If you use Mercoa’s built-in integration, the Plaid popup will show that the user is linking their bank account to Mercoa, not your platform.

I have a Plaid integration

I don’t have a Plaid integration

I have a Plaid integration

Configuring Plaid

Mercoa uses Moov for domestic ACH transfers. You will need to configure your Plaid account to authorize Moov.

To enable your Plaid account for the integration, go to the Integrations section of the account dashboard. If the integration is off, simply click the ‘Enable’ button for Moov to enable the integration.

Processor Token

Creating a processor token gives Mercoa access to verify the bank account. It is recommended to use this method if you already have a Plaid integration, as Mercoa will have the most limited access to the bank account.

To create a processor token, follow this guide to create a processor token.

You will need to provide the routing and account number in the creation request, as Mercoa will not be able to pull this information from Plaid.

Access Token

You can also use an access token to verify the bank account. Unlike processor tokens, you can pass in an empty string for the routing number and account number.

I don’t have a Plaid integration

If you don’t have a Plaid integration, you can use Mercoa’s built in integration to add and verify bank accounts.

Mercoa React Component

You can use the BankAccount component to add and verify bank accounts. This is the recommended way to use Mercoa’s Plaid integration.

You can use Plaid Link to add and verify bank accounts.

You can create a link token using the Plaid Link Token Creation Endpoint.

Once you have a link token, you can use it in the Plaid Link component. Once the user has added and verified their bank account, the component will return a public_token and an account_id that you can use to create a Mercoa payment method.

You can pass in an empty string for the routing number and account number if you don’t have them.

Mercoa iFrame

If you do not use React, you can use a Mercoa iFrame to add and verify bank accounts. This is not recommended if you are using React, as the Mercoa iFrame is not as flexible as the React component.

Generate a user token

Before you can embed the component, you will need to generate a user token. This token will be used to authenticate the user in the iFrame.

Follow this guide to learn how to generate a user token.

Embed the Component

Once you have a user token, you can embed the component in your app.

Add a bank account button
1<script>
2 // Listen for messages from the iFrame. If the payment method is added successfully, the iFrame will send a message with the payment method response.
3 window.addEventListener('message', function (event) {
4 if (event.origin === 'https://mercoa.com') {
5 console.log(event.data) // PaymentMethodResponse object
6 }
7 })
8</script>
9<iframe
10 src="https://mercoa.com/embedded/add-bank-account/button?token=<USER_TOKEN>"
11 width="100%"
12 height="100%"
13 style="border: none;"
14></iframe>
Open the bank account popup with your own button
1<script>
2 // Listen for messages from the iFrame. If the payment method is added successfully, the iFrame will send a message with the payment method response.
3 window.addEventListener('message', function (event) {
4 if (event.origin === 'https://mercoa.com') {
5 console.log(event.data) //PaymentMethodResponse object
6 window.mercoaBankPopup.close() // Close the popup
7 }
8 })
9</script>
10<button
11 onClick="function(){
12 window.mercoaBankPopup = window.open(
13 '/embedded/add-bank-account/popup?token=' + <USER_TOKEN>,
14 'popup',
15 'width=600,height=600',
16 )
17}"
18>
19 Your button text
20</button>
Update the bank account popup with your own button

Sometimes, the Plaid conection needs to be re-established. To do this, open the ‘update bank account’ popup with the paymentMethodId you need to reconnect with Plaid.

1<script>
2 // Listen for messages from the iFrame. If the payment method is added successfully, the iFrame will send a message with the payment method response.
3 window.addEventListener('message', function (event) {
4 if (event.origin === 'https://mercoa.com') {
5 console.log(event.data) //PaymentMethodResponse object
6 window.mercoaBankPopup.close() // Close the popup
7 }
8 })
9</script>
10<button
11 onClick="function(){
12 window.mercoaBankPopup = window.open(
13 '/embedded/update-bank-account/{paymentMethodId}?token=' + <USER_TOKEN>,
14 'popup',
15 'width=600,height=600',
16 )
17}"
18>
19 Update Bank Account
20</button>