402 Payment Required 在 HTTP/1.1 中被保留供将来使用,当时设想的是数字支付系统。RFC 9110 至今仍只说它“保留供将来使用”,没有为它规定任何标准含义、响应头或支付流程。
由于标准没有使用它,一些服务便按自己的需要采用了它:支付 API 在扣款失败时使用,SaaS API 在套餐额度或配额用尽时使用,托管平台在账户因欠费被暂停时使用。最近,一些面向 AI 爬虫付费访问和机器间小额支付的方案也开始用 402 告诉客户端:访问需要付费。
没有特殊处理逻辑的客户端会把 402 当作通用的客户端错误。
响应示例
HTTP
HTTP/1.1 402 Payment Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/json
Content-Length: 90
{"error":{"type":"card_error","code":"card_declined","message":"Your card was declined."}} SEO 与重定向检测
对搜索引擎来说,402 是一种 4xx 错误,因此该 URL 不会被编入索引。如果出售内容访问权限,同时又希望内容出现在搜索结果中,就不要向爬虫返回 402;应以 200 返回页面,并用结构化数据(isAccessibleForFree)标记付费墙部分。一些 CDN 功能会有意向 AI 爬虫返回 402,这不会影响已允许访问的搜索引擎爬虫。
常见原因与使用场景
- 支付 API 报告银行卡被拒或扣款失败。
- API 密钥所属套餐的额度已用完,或超出了付费配额。
- 托管的网店或网站因账户欠费而被暂停。
- 按次付费抓取(pay-per-crawl)或小额支付方案要求客户端先付费再访问。