Help connecting Plaid to my WordPress + payday loan application

Job ID: 40029920

Budget: $30 – $250 USD

Hi,

I run a small payday loan / short-term loan website on WordPress, and I’ve been approved for Plaid (production). I already have the Plaid Quickstart (Node) running locally on my Mac, but I need a developer to turn this into a proper integration that works with my live loan application.

My current setup

Website: WordPress

Loan application form: currently using Jotform or Zapier (can keep using it)

Automation: some things run through Zapier

Plaid Quickstart: working locally in /quickstart/node and /quickstart/frontend with Production. I understand the basics but I’m not a developer.

What I want the user flow to be

User fills out the loan application form in Jotform (basic personal + income info).

After submitting, Jotform redirects to a page on my WordPress site, e.g.:
https://mydomain.com/connect-bank?jotform_id={id}

On that connect-bank page, the user should automatically be sent to a Plaid Hosted Link session to connect their bank account.

When they finish Plaid, they should be redirected back to another WordPress page, e.g.:
https://mydomain.com/bank-connected

Behind the scenes, for each applicant, I want to:

Create a fresh Plaid session (link_token / hosted_link_url) per borrower

Exchange the public_token for an access_token

Store that data in a simple database, tied to the borrower (using the Jotform submission ID or similar)

This needs to support multiple applicants at once (dozens), with each having their own Plaid session.

What I need you to build

Deploy the Plaid Node Quickstart backend

Take the existing /node backend from the Plaid Quickstart and deploy it to a host (Render, Railway, Fly.io, Heroku, AWS, etc.).

Configure environment variables for:

PLAID_CLIENT_ID

PLAID_SECRET (Sandbox + Production)

PLAID_ENV (we can start with Sandbox, then move to Production)

PLAID_PRODUCTS (e.g. transactions,auth)

PLAID_COUNTRY_CODES (e.g. US)

Create an endpoint to generate a Plaid Hosted Link URL per borrower

New route, for example:

POST /api/plaid/create-hosted-link

It should:

Accept JSON body: { borrowerId }

borrowerId will be the Jotform submission ID from the URL (jotform_id)

Call Plaid’s /link/token/create with:

user.client_user_id = borrowerId

products = my approved products

country_codes = ['US']

language = 'en'

hosted_link.completion_redirect_uri = 'https://mydomain.com/bank-connected'

Optional: webhook for Plaid events

Return JSON: { hosted_link_url: 'https://...plaid.com/...' }

Handle the Plaid completion & save the access_token

Implement the necessary logic (likely via webhook or the Hosted Link session finish event) to:

Receive the public_token / link_token

Call Plaid /item/public_token/exchange

Store borrowerId, item_id, and access_token in a database table (can be Postgres, MySQL, or any simple option you recommend).

The goal: for any given borrower/application ID, I can later query their Plaid data (transactions, balances, etc.) via the stored access_token.

Wire my WordPress page to the backend

On the WordPress page https://mydomain.com/connect-bank, add a small JavaScript snippet that:

Reads jotform_id from the URL

Sends a POST request to https://<your-backend-domain>/api/plaid/create-hosted-link with { borrowerId: jotform_id }

On success, redirects window.location to the returned hosted_link_url

If there’s any error, show a basic “There was a problem connecting to your bank, please contact support” message.

Make sure it works end-to-end

Test the flow:

Fill out Jotform

Redirect to connect-bank with jotform_id

Automatically go into Plaid Hosted Link

Complete the Plaid flow

Get redirected back to bank-connected

Confirm that in the database there is a record with:

borrowerId = Jotform submission ID

item_id

access_token

(Optional but nice) Provide a simple backend route or script to fetch and log sample Plaid data for one borrower so I know it’s working.

What I care about

Clear, simple code and comments (I’ll likely work with you or someone again to extend it later).

Security: Plaid secrets and access_tokens must be stored securely and not exposed in frontend/WordPress.

A short Loom video or brief explanation showing:

Where the code lives

How to deploy/update it

How to see logs and confirm it’s working

If you’ve done Plaid integrations before, please mention that and share an example.

Thanks!