PayProof 💳
Full-Stack Manual Payment Verification System with Admin Dashboard & Google Sheets Integration
Client Project | 2026
Overview
PayProof is a full-stack payment verification platform built for a client that handles manual bank transfer confirmations. Customers fill out a multi-step payment form, receive a unique reference ID, and upload a screenshot of their bank transfer as proof of payment.
Admins then review each submission through a dedicated dashboard — they can inspect the uploaded screenshot, verify the reference ID, and either approve or reject the payment. Approved payments are automatically synced to a connected Google Spreadsheet for record-keeping.
Problem Statement
The client needed a structured way to manage manual bank transfer payments from customers, which previously involved:
- No standardized reference system — payments were hard to match to customers
- Screenshot proofs sent over informal channels (WhatsApp, email) with no central tracking
- Manual copy-pasting into spreadsheets after every approval
- No visibility into how much had been received or was pending per bank account
How It Works
Customer Flow
The customer fills in their name, email, and payment amount, then selects from available bank accounts filtered by their chosen currency. They are assigned a unique 8-digit reference ID which they must include in their bank transfer remarks. After making the payment, they upload a screenshot through the form and submit.
Admin Verification Flow
Admins log into the dashboard and see all incoming submissions with their status — pending, approved, or rejected. They can open a submission to view the customer details, the uploaded screenshot stored on Cloudinary, and decide to approve or reject it. On approval, the customer record is automatically pushed to the configured Google Spreadsheet.
Key Features
- Multi-step payment form with a unique reference ID generated per customer
- Screenshot upload with cloud storage via Cloudinary
- Admin dashboard with approve / reject workflow
- Automatic Google Sheets sync on payment approval
- Per-bank received and pending amount tracking
- Multi-admin system — create, edit, and delete admin accounts
- Configurable bank accounts — add, edit, and remove banks from the admin panel
- JWT-based admin authentication
Tech Stack
System Architecture
PayProof follows a modular client-server architecture:
- Frontend: Next.js web application serving both the customer payment form and admin dashboard
- Backend: Node.js + Express.js REST API handling submissions, authentication, and bank management
- Database: MongoDB for storing submissions, bank accounts, and admin users
- Storage: Cloudinary for secure screenshot uploads
- Integration: Google Sheets API for automated record logging on approval
Impact
PayProof replaced an entirely manual, error-prone process with a structured end-to-end workflow. The client gained full visibility over incoming payments, eliminated spreadsheet copy-paste work, and reduced payment-matching errors through the reference ID system.