Base URL: https://ppvs-mmsstudio.vercel.app/api
The Personal Payment Verification System is a backend-only project designed to manage and verify payment records in a secure manner. This project is intentionally developed without a frontend or homepage, as its primary purpose is to provide reliable and structured API endpoints for payment verification and management.
The system leverages Firebase Firestore as the database and the Firebase client SDK for accessing data securely. All operations are safeguarded using API key validation, ensuring that only authorized requests can fetch or update payment records.
- Fetch All Payments (Filtered by Redemption Status)
Endpoint returns all payment records whereis_redeemedisfalse.
Example:
GET /payments?apiKey=123456
- Fetch Single Payment by Document ID or Transaction ID
Flexible endpoints to retrieve payment details by Firestore document ID ortxn_id. API key can be optional based on configuration.
Example:
GET /payment/\:id?apiKey=123456
GET /payment/\:txnId?apiKey=123456
- Redeem a Payment
Updates theis_redeemedstatus totruefor a specific payment record using either document ID or transaction ID. API key is required for security.
Example:
PUT /payment/redeem/\:docId?apiKey=123456
- Secure API Access
Every sensitive endpoint validates requests using a hardcoded API key (replaceable with environment variables in production), ensuring the system remains protected from unauthorized access.
- Backend Framework: Next.js (App Router)
- Database: Firebase Firestore
- SDK Used: Firebase client SDK (no admin SDK)
- Data Security: All environment variables and API keys are protected
- API Key: Hardcoded in the project for demonstration (
123456) but can be replaced with an environment variable in production.
This project is specifically built for backend API purposes to manage personal payment records efficiently. It is not intended to be a full application with a user interface.
The focus is on providing secure, easy-to-use API endpoints for:
- Verifying whether a payment has been redeemed.
- Fetching payment details.
- Updating payment status.
It allows developers or systems to integrate payment verification into other applications or workflows without exposing sensitive backend credentials.
- There is no home page or frontend UI; all interactions are API-based.
- All sensitive data and API keys are protected.
- Public repository is intended only for documentation and demonstration purposes.