Full-Stack Developer Needed (Next.js + Node/Express + Prisma/MongoDB) – Stripe Save Card + Auto Charge + Dispute Flow

Job ID: 40131119

Budget: $30 – $250 USD

Hi! I’m looking for an experienced full-stack developer to finish the final implementation of Stripe saved-card payments and a working dispute workflow in my existing platform.

The project is already built and running locally. Most backend structure exists, but I need someone who can finish integration cleanly, test everything, and deliver final working code.

Tech Stack:-

Frontend: Next.js (React)

Backend: Node.js / Express

Database: MongoDB + Prisma

Payments: Stripe

Code hosted in GitHub

Running locally on:

Frontend: localhost:6014

Backend: localhost:6015

TASKS REQUIRED (Must be completed fully)
1. Stripe “Save Card” on Booking Confirmation Page (SetupIntent)

On the booking confirmation page:

Customer enters card details using Stripe Elements

It should NOT charge the card

It should create a Stripe SetupIntent and attach the payment method to a Stripe Customer

Save stripeCustomerId on User model (field exists in Prisma schema)

Store the paymentMethodId on file for future charging

-Expected: successful booking + saved card attached to customer in Stripe dashboard

2. Mechanic Finalize Invoice → Auto Charge the Saved Card (Atl Charge)

When mechanic clicks Finalize on invoice:

system should automatically charge saved card using Stripe PaymentIntent

update invoice paymentStatus to PAID + store payment intent ID and charge ID

prevent double-charge (idempotency)

handle failure state (FAILED) cleanly

Expected: No “Pay Now” needed; payment is automatic after finalize

3. Remove “Pay Now” button from Customer Dashboard

Since payment is automatic:

Remove/hide Pay Now option from invoices in customer UI

Ensure invoice status logic stays correct

4. Dispute Flow – Must Work End-to-End

Currently dispute button exists but isn’t working.

I need the dispute button to:

Create dispute record in DB

Send dispute data to admin side / admin profile view

Admin can view dispute requests

Backend already has:

dispute.routes.ts

dispute.controller.ts

dispute.service.ts

dispute.validation.ts

But needs wiring and proper frontend calls.

Expected: user submits dispute → saved in DB → admin can view disputes

Deliverables:-

Working code committed to GitHub in a new branch
Tested locally and confirmed working
A short summary of what was changed and how to test
Clean, production-ready implementation — no hacky code

- Requirements (Important)

You must:
have experience with Stripe SetupIntent + PaymentIntent
understand Prisma + MongoDB schema updates
be able to debug existing codebase (no rewrites)
communicate clearly and complete tasks fully

To Apply, send:

Your relevant Stripe experience

Confirmation you’ve done SetupIntent + auto-charge flows before

Your ETA (how many hours/days)

Your fixed price estimate

Bonus (Preferred)

- If you can deploy to VPS/production after completion
-If you can clean up any broken pages like "Reject Estimates" error