A marketplace where independent vendors buy and sell video games — physical and digital copies, new and used.
Role-Permission System · Multi-Gateway Payments · Concurrent Vendor Operations
A multi-vendor marketplace for buying and selling video games needed a backend that could support many vendors operating simultaneously — listing games, fulfilling orders, and getting paid — without permission logic or payment failures getting in the way of a sale.
We built a flexible role-permission system covering vendors, admins, and support staff, and a multi-gateway payment architecture spanning Stripe, PayPal, and manual settlement — so a failure in one payment path never means a lost sale.
Running a marketplace with many independent vendors introduces problems that a single-seller storefront never has to solve.
A single generic "vendor" role couldn't express the difference between a solo seller, a team account with multiple staff, and platform admins who needed oversight without full control.
Relying on one payment gateway meant that a gateway outage, a declined card, or a region the gateway didn't support could block a sale entirely — with no fallback path.
With many vendors updating listings, inventory, and orders at the same time, naive locking and update patterns created race conditions and occasional overselling.
Tracking what each vendor was owed, across multiple payment methods and order states, required manual reconciliation rather than a single source of truth.
We designed the backend around two core systems: a permission structure that reflects the marketplace's actual vendor hierarchy, and a payment layer that treats gateway failure as an expected case to handle, not an edge case to ignore.
Checkout Flow
A declined card or unsupported region no longer means a lost sale — the fallback gateway path picks it up automatically.
Vendor owners can bring on staff with exactly the access needed, and simultaneous updates from a vendor's team no longer clash.
Atomic stock decrements at order time mean limited-quantity items can't be sold twice, even under a traffic spike.
Every vendor's earnings, across every gateway, live in one ledger — no more manual reconciliation across three payment systems.
Rather than a fixed set of roles, permissions are modeled as individual capabilities that get composed into roles. This meant vendor owners could define exactly what their staff could touch without the team having to hardcode every possible combination in advance.
Stripe, PayPal, and manual settlement all sit behind a common payment interface. The checkout flow doesn't need to know which gateway ultimately processed a transaction — it just records the result against the vendor's ledger in a consistent shape.
Stock and inventory writes are protected with row-level locking and atomic operations at the database layer, not just application-level checks — the correctness holds even under genuinely simultaneous requests.
If your marketplace's billing logic is fragile, book a free 15-minute call.
Book a Free Call →References available upon request.
Custom page caching, an async OpenAI translation pipeline, and queue architecture syncing availability every 5 minutes.
Clean data isolation, a three-role permission system, and complete property and tenant workflows.