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.

OperationAccessPurpose
GET /api/payments/viewSession; buyer-ownedPayment intent, payer, lines, registration state, and configured gateway details.
POST /api/payments/demo/tng/settleSession; buyer-ownedSettle the explicitly enabled TNG simulator.
POST /api/payments/demo/razorpay/settleSession; buyer-ownedSettle the explicitly enabled Razorpay simulator.
POST /api/payments/razorpay/confirm-checkoutSession; buyer-ownedVerify 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.