Payments
Buyer-owned checkout state, development simulators, and browser handback verification.
Payment amounts, providers, and purchase ownership are derived server-side. Browser handbacks do not settle funds; signed provider callbacks do, and those raw webhook routes are intentionally excluded from the consumer contract.
| Operation | Access | Purpose |
|---|---|---|
GET /api/payments/view | Session; buyer-owned | Payment intent, payer, lines, registration state, and configured gateway details. |
POST /api/payments/demo/tng/settle | Session; buyer-owned | Settle the explicitly enabled TNG simulator. |
POST /api/payments/demo/razorpay/settle | Session; buyer-owned | Settle the explicitly enabled Razorpay simulator. |
POST /api/payments/razorpay/confirm-checkout | Session; buyer-owned | Verify the Razorpay browser return signature without treating it as settlement. |
The simulator endpoints are available only in development or staging when an
operator explicitly enables them; production configuration rejects enabling
them. GET /api/payments/view returns 404 rather than disclosing another
buyer's intent. Direct Nest POST success is 201.
Provider webhooks, signatures, raw bytes, replay handling, and acknowledgement formats are listed only in Internal endpoints.