Boat charter operator — Boat Charter Bookings with Stripe, Square, and PayPal and No Double Charges
Client: Boat charter operator — Tourism
The challenge
A boat tour operator in Florida needed to take bookings online, hold a security deposit, and charge only on approval, with 3 payment gateways and no risk of charging twice.
The solution
We built a booking engine on Next.js 16, Prisma, and PostgreSQL 18. Stripe, Square, and PayPal share a single payments port with signed webhooks and an idempotent event log, so a retry never charges twice. Automatic reconciliation every 15 minutes catches up on any missed notification, and the 600 USD security deposit is held on Stripe until the booking is resolved.
Technologies used
- Next.js
- PostgreSQL
- Prisma
- Stripe
- Square
- PayPal
Results
- 3 Payment gateways — Behind a single port
- 15 min Automatic reconciliation
- 600 USD Security deposit held — Charged only if needed
Keep reading
Want similar results?
Let's talk. We design solutions tailored to your industry.
Book a consultation