P-02 / Case study
GamePasal
A store for game top-ups, gift cards and vouchers for gamers in Nepal.
- Project type
- Digital products platform
- My role
- Full-stack developer
- Context
- Production platform
- Status
- Production
- Technologies
- Laravel
- PHP
- JavaScript
- MySQL
- Third-party integrations
Private / client system — no public link
01
The challenge
Digital goods are unforgiving: the customer has paid, and expects the top-up or code to arrive quickly and exactly once.
Each product type — top-ups, gift cards, vouchers — needs slightly different information from the customer and a different fulfilment path.
02
My role
Full-stack developer. Development on GamePasal, a digital-goods platform where Nepali gamers buy game top-ups, gift cards and vouchers — with purchase flows and order processing built around delivering digital products reliably.
03
The approach
- 01Modelled products so each type could carry its own required fields (for example, a player ID for top-ups) without special-casing the checkout.
- 02Built order processing as a sequence of explicit states so every order can be traced from payment to delivery.
- 03Integrated backend services with defensive handling — retries, logging and idempotent processing — so a flaky external response never results in a double delivery.
Development process
- Think
- Design
- Build
- Test
- Deploy
- Improve
04
Architecture overview
A simplified view of how the system is organised. Internal infrastructure details are intentionally left out.
- StorefrontProduct listings and purchase flow for top-ups, gift cards and vouchers
- OrdersOrder state machine from payment confirmation to fulfilment
- IntegrationsBackend integrations for payments and product delivery
- AdminTools to manage products and process orders
05
Key features
Product systems
Catalogue supporting top-ups, gift cards and vouchers with type-specific fields.
Top-ups
Purchase flow that collects game account details required for delivery.
Gift cards & vouchers
Digital code products sold and delivered through the order pipeline.
Order processing
Trackable order states from payment through completion.
Backend integrations
Server-side integrations supporting payments and fulfilment.
06
Challenges
- Exactly-once delivery
- Designing processing so repeated callbacks or retries cannot fulfil the same order twice.
- Varied product shapes
- Keeping one checkout while each product type needs different customer input.
07
The result
The platform was built and run in production for customers buying digital game products.
No metrics are published here unless they have been verified.
08
What I learned
“Payment-adjacent systems made idempotency a habit for me. I now assume every external callback can arrive late, twice, or not at all — and design the order states around that.”
— Rupesh Dahal