Payment Requests
Payment Requests
The Payment Requests system gives tenants, landlords, and other portal clients direct visibility into their outstanding and historical payments — eliminating the need to contact the agency for routine financial status checks.
Overview
Payment Requests are surfaced through a dedicated set of API routes and React components. The system covers:
- Outstanding payments — what is currently due
- Payment history — a full record of past payment requests
All data flows from the AgentOS platform and is displayed in real time within the client portal.
Components
PaymentDashboard
The top-level component for the payment requests feature. It composes the other payment components into a single, cohesive view and serves as the entry point for the payments section of the portal.
- Aggregates outstanding and historical payment data
- Delegates rendering to
LatestPaymentRequestCardandPaymentRequestHistoryTable - Applies business rule gates to control what is displayed per client and agency configuration
LatestPaymentRequestCard
Displays the single most recent outstanding payment request in a prominent card format.
- Intended for dashboard or summary views
- Highlights urgency for due or overdue requests
- Only rendered when an outstanding payment request exists and business rules permit display
GenericPaymentRequestCard
A reusable card component for rendering any individual payment request.
- Accepts a single payment request as input
- Used internally by
LatestPaymentRequestCardand within the history table where appropriate - Designed to be context-agnostic and composable
PaymentRequestHistoryTable
A tabular component listing all historical payment requests for the authenticated client.
- Displays request details such as amount, description, and status
- Supports reviewing past payment activity without contacting the agency
- Rendered within
PaymentDashboardbelow the latest outstanding request
API Routes
New server-side API routes back the Payment Requests feature:
| Route | Description |
|---|---|
| Outstanding payments endpoint | Returns the client's current unpaid payment requests |
| Payment history endpoint | Returns a paginated list of historical payment requests |
All routes are authenticated and scoped to the currently logged-in portal user.
Business Rule Gates
Display of payment request components is governed by business rule gates. These gates control:
- Client type eligibility — e.g. whether a landlord vs. tenant sees payment requests
- Agency configuration — agencies can enable or disable payment request visibility per their setup
- Portal context — rules ensure the correct payment data is shown for the active tenancy or property relationship
If a business rule gate is not satisfied, the relevant component will not render, ensuring clients only see payment information that is appropriate to their relationship with the agency.
Usage
The PaymentDashboard component is the recommended integration point. Mount it on the payments route of the client portal:
import { PaymentDashboard } from '@/components/payments';
export default function PaymentsPage() {
return <PaymentDashboard />;
}
Individual components (LatestPaymentRequestCard, GenericPaymentRequestCard, PaymentRequestHistoryTable) can also be used independently if you need to embed payment information into other portal views.