Skip to main content
このプロンプトを AI コードエディタ(Cursor、Copilot、Claude Code など)にコピーして、統合を自動的にセットアップ:

構築するもの

Next.js での完全なチェックアウト統合。以下を含みます:
  • サーバーサイドでのチェックアウトセッション作成
  • クライアントサイドからホスト型チェックアウトへのリダイレクト
  • 支払い確認のための Webhook 処理
  • 支払いステータスに基づく保護されたルート

前提条件

  • Next.js 13+(App Router)
  • API キーを持つ Waffo Pancake アカウント
  • ダッシュボードで作成済みの商品

プロジェクトセットアップ

1. 依存関係のインストール

2. 環境変数

SDK は PEM、base64、生データなど複数の秘密鍵フォーマットに対応しており、初期化時に自動で正規化されます。.env ファイル内のリテラル \n もそのまま使用できます。

チェックアウト API ルートの作成

SDK を使用してチェックアウトセッションを生成する API ルートを作成します:
SDK はリクエスト署名を自動で処理するため、手動でヘッダーを設定する必要はありません。冪等性はオプトインです:リトライで 2 件目のレコードを作ってはいけない場合は、書き込み(または server action)の最後の引数に { idempotencyKey } を渡してください。渡さなければヘッダーは送信されず、重複排除も行われません。

価格ページコンポーネント

チェックアウトボタン付きの価格ページを作成します:

Webhook ハンドラー

SDK 組み込みの verifyWebhook() を使用して支払い確認を処理します — テスト環境と本番環境の両方の公開鍵が内蔵されているため、Webhook シークレットを管理する必要はありません:
SDK の verifyWebhook() は内蔵された公開鍵を使用するため、WAFFO_WEBHOOK_SECRET 環境変数は不要です。リプレイ保護もデフォルトで含まれています。

成功ページ

支払い成功後に確認を表示します:

保護されたルートのミドルウェア

サブスクリプションステータスに基づいてルートを保護します:

サーバーコンポーネント:サブスクリプションの確認


カスタマーポータルリンク

ユーザーが自分のサブスクリプションを管理できるようにします:

完全なファイル構成


テストチェックリスト

本番稼働前:
  • テストカード 4576 7500 0000 0110 でチェックアウトフローをテスト
  • Webhook が受信されることを確認(ダッシュボードのログを確認)
  • 4576 7500 0000 0220 で拒否された支払いをテスト
  • 成功ページが正しく表示されることを確認
  • 本番 API キーに切り替え
  • Webhook URL を本番エンドポイントに更新

次のステップ

Webhook の処理

Webhook 処理の詳細

サブスクリプション管理

高度なサブスクリプション機能