This documentation provides a step-by-step guide to migrating from Plaid Link to Link Money. First and foremost, sign up for Link Money at our developer dashboard in order to get your credentials. The guide discusses:

  1. How to switch to Link Money authentication.
  2. How to substitute Plaid Link for Link Money's web gateway.
  3. How to receive Plaid-style webhooks from Link Money.
  4. How to consume Link Money's Plaid-style API endpoints.

Table of Contents


1. Generate an Authentication Token

  1. Register and obtain your credentials from https://dashboard.fingoal.com

The example below shows what must change in the authentication code moving between Plaid and LinkMoney. Unlike Plaid, Link Money does not use an SDK. However, requesting an authorization token for Link Money's Plaid-type endpoints is not dissimilar from obtaining a Plaid token generally.

To authenticate with Plaid, the developer must:

  1. Initialize a new Plaid Client and pass it an object with a clientID and secret specific to the developer.
  2. Create a Link Token by calling the linkCreateToken method and passing it an object that includes further details, including an optional user property and a webhook property for receiving updates.

After making these calls, a Plaid developer receives an authentication token, which they can use with Plaid Link.

Link Money does not offer a package like Plaid, but the Plaid developer must still generate a token to authenticate with LinkMoney. To do so, Link Money exposes an endpoint (POST /link/token/create) that replicates Plaid token generation. All of the fields that Plaid uses for authentication should be included in the Link Money token request:

const express = require('express');
const app = express();
app.use(express.json());

// Plaid package dependency is not required with Link Money
- const plaid = require('plaid');
- const client = new plaid.Client({
- clientID: {PLAID_CLIENT_ID},
- secret: {PLAID_SECRET},
- env: plaid.environments.sandbox,
- });

app.post('/link/token/create', async (request, response) => {
	try {
-		// Get the client_user_id by searching for the current user
-		const user = await User.find(...);
-		const clientUserId = user.id;
-		
-		
-		// the linkCreateToken method is no longer required, but can be converted to the request body below.
-		const tokenResponse = await client.linkCreateToken({
-		  user: {
-		    client_user_id: clientUserId,
-		  },
-		  client_name: 'Plaid Test App',
-		  products: ["auth"],
-		  country_codes: ['US'],
-		  language: 'en',
-		  webhook: '<https://webhook.example.com>',
-		});
-		
-		response.json(tokenResponse.data);

+		// by placing the clientID, secret, userID, and webhook in the same request body, 
+   // you can generate a token in a single call.
+		const { body } = request;
+		const { userId } = body;
+		const tokenResponse = await fetch('<https://linkmoneyapi.fingoal.com/link/token/create>', {
+		    method: 'POST',
+		    body: {
+		      "clientID": {MY_CLIENT_ID},
+					"secret": {MY_CLIENT_SECRET},
+					"itemID":{itemID},
+         "webhook":{MY_WEBHOOKURL}
+		    },
+		    redirect: 'follow', // manual, *follow, error
+		  });

	  response.json(tokenResponse);
	} catch (e) {
		// Display error on client
		return response.send({ error: e.message });
	}
);

2. Move to Link Money Frontend

For developers using Plaid Link, additional code is required on the front end to support the Plaid Link window. To view the additional code snippets required to use Plaid Link, open up these drop downs.

For Link Money, the developer does not need to maintain the link accounts application - Link Money offers an out-of-the-box link accounts solution that requires only an access token from the call made in the previous step.

By linking users to linkmoney.fingoal.com with an access_token header, the Link Money Gateway will handle user authentication with their banking application, closing the Gateway when the user exits the process.

Examples