Full-Stack Developer Needed (Next.js + Node/Express + Prisma/MongoDB) – Stripe Save Card + Auto Charge + Dispute Flow
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
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
Related categories:
PHP
NoSQL Couch & Mongo
Node.js
AngularJS
Stripe
Full Stack Development
MongoDB
API Integration
Next.js
Payment Processing