---
issue: 035
title: "Frontend getPaymentStatus and confirmPayment call non-existent endpoints GET /payment/:id/status and POST /payment/:id/confirm"
severity: major
domain: Payment
status: resolved
resolved: 2026-05-29
fix: "Added GET /payments/:id/status and POST /payments/:id/confirm routes to paymentRoutes.ts. Updated getPaymentStatus and confirmPayment in payment.ts to use /payment/payments/:id/status and /payment/payments/:id/confirm."
labels: [bug, frontend, major, broken-feature, dispute]
status: open
created: 2026-05-29
source: Doc vs Code Audit 2026-05-29
---

# 🟠 Frontend getPaymentStatus and confirmPayment call non-existent endpoints GET /payment/:id/status and POST /payment/:id/confirm

**Severity:** major
**Domain:** Payment
**Labels:** bug, frontend, major, broken-feature, dispute

## Description

Frontend getPaymentStatus() builds URL as /payment/:id/status and confirmPayment() builds /payment/:id/confirm. Neither endpoint is registered in the backend. getPaymentStatus is actively called from dispute/payment-details-card.tsx line 101 — the 'Verify' button always returns 404.

## Current Behavior

The 'Verify' button in the dispute payment panel always returns 404. confirmPayment() is broken.

## Expected Behavior

Either implement /payment/:id/status and /payment/:id/confirm backend routes, or fix the frontend to use the correct existing payment detail endpoint.

## Affected Files

- `frontend/src/actions/payment.ts`
- `frontend/src/sections/dispute/components/payment-details-card.tsx`

## References

- [Doc vs Code Audit Report](../09%20-%20Audits/Doc%20vs%20Code%20Audit%20Report%20-%202026-05-29.md)
