Reserved for future use; some APIs use it to signal that payment is required or failed.
402 Payment Required has been "reserved for future use" since HTTP/1.1, and RFC 9110 still gives it no standard semantics. Real systems use it anyway: Stripe returns 402 when parameters are valid but a payment failed, SaaS APIs return it when a subscription has lapsed, and the x402 protocol uses it to ask clients for an on-the-spot machine payment.
HTTP/1.1 402 Payment Required
Content-Type: application/json
{"error": {"type": "card_error", "code": "card_declined"}}