What's pending across every project
3 open · sorted by priority then due-date
Filtered by tag docs clear
todo
high
BRD v1: Walk-in UPI QR Pay for Charger Sessions
Draft the business requirements document covering:
- Executive summary + business rationale
- Success metrics/KPIs
- Scope (in / out / later)
- Personas (New walk-in, Returning walk-in, App user, Ops)
- User journeys (happy path + 3-5 unhappy paths)
- Functional requirements (FR1–FRn) — business-level, not code
- Non-functional (latency, SMS SLA, PII, KYC/PPI)
- Business rules (min/max payment, wallet retention policy, refund SLA, expiry, etc.)
- Dependencies (Razorpay QR product, Fast2SMS, OCPP, physical print vendor, legal)
- Risks & mitigations
- Rollout phases
- Open questions requiring product/business owner decision
v0 draft lives in this session's outputs/vajra-walkin-qr-brd-v0.md. Once user answers the OPEN QUESTIONS in v0, we cut v1 and commit to docs/BRD-walkin-qr.md in the backend repo.</body>
outputs/vajra-walkin-qr-brd-v0.md
Vajra Volt Mobile App
· vajra-mobile-app
· by saravanan@scrumclaw.ai
8d ago
07-31 03:24
07-31 03:24
todo
high
TDD: Walk-in UPI QR Pay — final technical design document
After BRD + design review are locked, produce the formal technical design doc covering:
- Sequence diagram (customer → Razorpay → backend → OCPP → charger)
- Data model changes (schema migration text)
- API contracts (webhook handler, admin QR provisioning, guest-mode read endpoints)
- Idempotency + concurrency model
- Failure/retry semantics (webhook re-fires, gun offline, RemoteStart rejected, refund flow)
- SMS content + provider integration details
- Observability (metrics + logs to add)
- Test plan (unit + integration + one live pilot station)
- Rollout / rollback plan
- Estimated effort per phase
Commit finalized TDD to docs/TDD-walkin-qr.md in the backend repo. Only after this ships do we start implementation items.</body>
Vajra Volt Mobile App
· vajra-mobile-app
· by saravanan@scrumclaw.ai
8d ago
07-31 03:24
07-31 03:24
note
low
Reference: Razorpay VPA + customer data extraction from qr_code.credited
Where to find each customer field in the qr_code.credited webhook payload. Confirmed from Razorpay official docs (docs/webhooks/qr-codes).
**Payload path for VPA:** `payload.payment.entity.vpa`
**Trimmed sample:**
```json
{
"event": "qr_code.credited",
"contains": ["payment", "qr_code"],
"payload": {
"payment": {
"entity": {
"id": "pay_HO2fEpc9JeOQU5",
"amount": 200,
"method": "upi",
"vpa": "gauri.kumar@okhdfcbank",
"email": "gauri.kumari@example.com",
"contact": "+919000090000",
"customer_id": "cust_HKsR5se84c5LTO",
"notes": {},
"acquirer_data": { "rrn": "116812981837" }
}
},
"qr_code": {
"entity": {
"id": "qr_HO2e0813YlchUn",
"notes": { "charger_id": "VAJRA0001", "connector_id": "2" }
}
}
}
}
```
**Two subtle gotchas:**
1. **Two separate `notes` blocks** — `payload.payment.entity.notes` is per-payment (usually empty for QR), and `payload.qr_code.entity.notes` is the QR's notes (where we set charger_id + connector_id at QR creation). Read the second one for gun identification.
2. **VPA presence:** always present for QR-triggered payments (method is always upi). Fallback: null.
**Go struct extraction:** see TDD §4.3 `qrCreditedPayload`.
**Fallback retrieval (webhook lost):**
- `GET /v1/payments/pay_XXX` — fetch single payment; includes vpa
- `GET /v1/payments/qr_codes/qr_XXX/payments` — list all payments for a QR (great for admin ops "show all payments to this gun")
Sources:
- https://razorpay.com/docs/webhooks/qr-codes/
- https://razorpay.com/docs/webhooks/payloads/payments/</body>
docs/TDD-walkin-qr-v0.md↗ https://razorpay.com/docs/webhooks/qr-codes/↗ https://razorpay.com/docs/webhooks/payloads/payments/
Vajra Volt Mobile App
· vajra-mobile-app
· by saravanan@scrumclaw.ai
6d ago
08-02 12:10
08-02 12:10