Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

HTTP コンテンツに課金する

最終更新 Markdown で表示Agent セットアップ

x402-proxy テンプレートは、任意の HTTP バックエンドの前に置く Cloudflare Worker です。保護されたルートへリクエストが届くと、プロキシは決済手順付きの 402 応答を返します。クライアントが支払ったあと、プロキシは決済を検証し、リクエストをオリジンへ転送します。

x402-proxy テンプレートを Cloudflare アカウントへデプロイします。

Cloudflare にデプロイ

前提条件

設定

保護するルートは wrangler.jsonc で定義します。

{
	"vars": {
		"PAY_TO": "0xYourWalletAddress",
		"NETWORK": "base-sepolia",
		"PROTECTED_PATTERNS": [
			{
				"pattern": "/api/premium/*",
				"price": "$0.10",
				"description": "Premium API access"
			}
		]
	}
}

Bot Management による選択的なゲート

Bot Management を使うと、人間にはサイトを無料のまま、クローラーにだけ課金できます。

{
	"pattern": "/content/*",
	"price": "$0.10",
	"description": "Content access",
	"bot_score_threshold": 30,
	"except_detection_ids": [117479730]
}

ボットスコアが bot_score_threshold 以下のリクエストはペイウォールへ送られます。特定のクローラーを許可するには、detection IDexcept_detection_ids に指定します。

デプロイ

テンプレートをクローンし、wrangler.jsonc を編集してデプロイします。

git clone https://github.com/cloudflare/templates
cd templates/x402-proxy-template
npm install
npx wrangler deploy

設定オプションと Bot Management の例の全体は、テンプレートの README を参照してください。

カスタム Worker エンドポイント

より細かく制御したいときは、Hono を使って Worker に x402 ミドルウェアを直接追加します。

import { Hono } from "hono";
import { paymentMiddleware } from "x402-hono";

const app = new Hono<{ Bindings: Env }>();

app.use(
	paymentMiddleware(
		"0xYourWalletAddress" as `0x${string}`,
		{
			"/premium": {
				price: "$0.10",
				network: "base-sepolia",
				config: { description: "Premium content" },
			},
		},
		{ url: "https://x402.org/facilitator" },
	),
);

app.get("/premium", (c) => c.json({ message: "Thanks for paying!" }));

export default app;

完全な実装は x402 Workers の例 を参照してください。

関連

役に立ちましたか?