# Get Me A Chiya

> A Nepal-focused digital tipping experiment built to explore eSewa wallet integration, payment workflows, and transaction handling in a full-stack web application.

Case study: https://sushandahal.com.np/work/get-me-a-chiya

Author: Sushan Dahal

Role: Solo Developer

Status: Learning Project

Technologies: Next.js, JavaScript, React, eSewa, MongoDB, Mongoose, Clerk, Tailwind CSS

## Problem

Integrating digital payments involves more than redirecting users to a wallet. Applications need to manage transaction identifiers, payment states, gateway responses, and the relationship between a payment and the user who initiated it. This project explores those challenges through a simple digital tipping concept.

## Contribution

Independently developed a Next.js application to experiment with integrating Nepal's eSewa payment gateway. Explored authenticated user flows, database-backed application state, and the technical requirements of connecting an external wallet service to a web application.

## Approach

- Built the application using Next.js and JavaScript.
- Used Clerk for user authentication.
- Structured database access using MongoDB and Mongoose.
- Explored eSewa payment initiation and gateway integration.
- Studied transaction identifiers, payment responses, and verification requirements.
- Developed a lightweight tipping concept to provide a practical use case for payment integration.

## Decision

Chose eSewa as the payment provider to gain hands-on experience with a widely used Nepali digital wallet. Used a simple tipping application to keep the product scope small and concentrate on understanding the payment integration process.

## Tradeoff

Prioritized learning the integration workflow over building a production-ready financial application. The project was not intended to provide commercial-grade payment processing, fraud prevention, reconciliation, or operational monitoring.

## Outcome

Created a full-stack learning project centered on eSewa wallet integration. The repository documents an early exploration of payment workflows using Next.js, authentication, and database-backed application architecture.

## Lessons

Developed a stronger understanding of third-party API integration and the complexities of payment processing. Learned why payment status must be verified through trusted server-side mechanisms rather than relying solely on client-side redirects or success messages.

Interface illustrations on the case-study page explain the concept; they are not project screenshots.

Source: https://github.com/Sushan2589/GetMeAChiya
