Back to Projects

MJCX Topup — Game Top-Up Platform

Year
2026
Client
Personal / Startup Project
Role
Full-Stack Developer
Duration
5 weeks (April – May 2026)

The Story

A full-featured game top-up e-commerce platform built for Nepal, supporting Mobile Legends, PUBG Mobile, Free Fire, Genshin Impact and more. Features eSewa & Khalti local payments, a digital wallet, coupon & promo engine, Filament v3 admin panel, and real-time order management — all in one platform.

About MJCX Topup

MJCX Topup is a production-ready game top-up marketplace built for Nepal. Players buy in-game currency for Mobile Legends, PUBG Mobile, Free Fire, Genshin Impact and more using eSewa, Khalti, or direct bank transfer — no international card needed.


Key Features


• Multi-game catalogue — Games, Memberships, Vouchers & Digital goods with configurable input fields per game (Player ID, Server, Username).
• Cart & single-package checkout — unified flow with per-game player-ID validation; cart merges on login.
• Nepal payment gateway — eSewa / Khalti screenshot upload-proof flow; admin verifies before order completion.
• Digital wallet — in-app wallet with top-up, transfer, and spend history.
• Coupon & promo engine — percentage / fixed discounts, usage limits, birthday auto-coupons.
• Filament v3 admin panel — manage games, packages, orders, payments, disputes, banners, ads, notices, FAQs, legal pages, and site settings.
• Ad system — position-based ads (hero, middle, exit popup) with impression tracking.
• Review system — per-game reviews with helpful-vote feature.
• OTP registration — email OTP verification on signup.
• Dispute management — users raise disputes; admin resolves with full audit log.
• Scheduled commands — auto-expire stale orders, auto-expire stale transactions, send birthday coupons.
• Email notifications — order received, completed, issue raised, wallet top-up, password reset.


Architecture


• Laravel 12 · PHP 8.2 · MySQL
• Filament 3 admin panel (zero custom admin HTML)
• Blade + Tailwind CSS + Alpine.js + Vite
• Spatie Activity Log for full audit trail
• OCR (Tesseract) for payment-proof verification
• Laravel Socialite for social login hooks

The Challenge

Nepal's payment ecosystem is fragmented — no merchant API exists for eSewa or Khalti at scale. Players needed to pay locally while the platform needed to verify payment reliably without manually checking every screenshot. On top of that, different games have completely different input requirements (Player ID, Server ID, Username), making a generic checkout impossible without a flexible per-game configuration system.

The Solution

I built a JSON-configurable input-field system per game so each game defines exactly what player info it needs — no code change required to add a new game. For payments, players screenshot their eSewa/Khalti receipt and upload it; Tesseract OCR automatically extracts the transaction amount so admin only needs one click to confirm. The Filament v3 admin panel covers 100% of business operations with zero custom admin HTML.

The Results

• Live at mjcxtopup.umeshghimire.com and serving real customers within 5 weeks. • Admin can onboard a brand-new game in under 3 minutes via the Filament UI. • Payment verification time cut from ~10 min (manual screenshot check) to under 1 min with OCR. • Zero custom admin HTML written — Filament handles all CRUD, search, filter, and export. • Full audit trail via Spatie Activity Log for every order and payment state change. • Birthday coupon automation drives repeat purchases with zero ongoing admin effort.

Technologies Used

Laravel PHP Tailwind CSS Alpine.js Vite MySQL Blade Filament JavaScript
MJCX Topup — Game Top-Up Platform

Key Features

  • Responsive Design
  • User Authentication
  • Payment Integration
  • Real-time Updates
  • Analytics Dashboard
  • API Integration