# Gas Station Wallet Pay — Implementation Plan

**Goal:** Pay registered gas stations from driver wallet; digital receipts to both parties.

## File map

| File | Role |
|------|------|
| `interfaces/models/gasStationPaymentInterface.ts` | IGasStationPayment |
| `models/GasStationPaymentModel.ts` | Schema + indexes |
| `validators/gasStationPaymentValidator` | pay body, list, params |
| `services/gasStationPaymentService.ts` | pay + get + list + emails |
| `services/walletService.ts` | add `applyWalletCredit` |
| `controllers/gasStationPaymentController.ts` | HTTP handlers |
| `routes/gasStationPaymentRoutes.ts` | `/payments` |
| `routes/gasStationRoutes.ts` | `POST /:id/pay`, `GET /my-payments` |
| `constants/messages.ts` | PAYMENT_CONSTANTS |
| `utils/SendEmail/templates.ts` | receipt HTML |
| `docs/gas-station-payment-README.md` | FE contract |

## Tasks

1. Model + wallet credit helper + validators  
2. Service (pay, lists, receipt emails)  
3. Controllers + routes  
4. README + `tsc --noEmit`
