Skip to main content

Checkout API Route

server route を使用して、Dodo Payments checkout を Nuxt アプリに統合します。

Customer Portal API Route

Nuxt server route を介して、顧客がサブスクリプションと詳細情報を管理できるようにします。

Webhooks API Route

Nuxt で Dodo Payments webhook events を安全に受信・処理します。

概要

このガイドでは、公式の Nuxt module を使用して Dodo Payments を Nuxt アプリケーションに統合する方法を説明します。checkout、Customer Portal、webhook API routes の設定方法と、environment variables を安全に管理する方法を学びます。

インストール

1

Install the Nuxt module

プロジェクトの root で次の command を実行します:
2

Register the module in nuxt.config.ts

modules array に @dodopayments/nuxt を追加し、設定します:
nuxt.config.ts
.env file や secrets を version control に commit しないでください。

API Route Handler の例

Nuxt のすべての Dodo Payments integrations は、server/routes/api/ directory の server routes を介して処理されます。
この handler を使用して、Dodo Payments checkout を Nuxt アプリに統合します。static (GET)、dynamic (POST)、session (POST) の payment flows をサポートします。
productId がないか無効な場合、handler は 400 response を返します。

Checkout Route Handler

Dodo Payments は、website に payments を統合するための 3 種類の payment flows をサポートしており、この adaptor はすべての payment flows に対応しています。
  • Static Payment Links: すぐに共有できる URL で、コード不要ですばやく payment を収集できます。
  • Dynamic Payment Links: API または SDKs を使用して、カスタム詳細を含む payment links を programmatically に生成できます。
  • Checkout Sessions: 事前設定済みの product carts と customer details により、安全でカスタマイズ可能な checkout experiences を作成できます。

サポートされている Query Parameters

string
必須
Product identifier(例:?productId=pdt_nZuwz45WAs64n3l07zpQR)。
integer
Product の数量。
string
Customer のフルネーム。
string
Customer の名。
string
Customer の姓。
string
Customer のメールアドレス。
string
Customer の国。
string
Customer の住所行。
string
Customer の市区町村。
string
Customer の州/県。
string
Customer の ZIP/郵便番号。
boolean
フルネームフィールドを無効にします。
boolean
名フィールドを無効にします。
boolean
姓フィールドを無効にします。
boolean
メールフィールドを無効にします。
boolean
国フィールドを無効にします。
boolean
住所行フィールドを無効にします。
boolean
市区町村フィールドを無効にします。
boolean
州フィールドを無効にします。
boolean
ZIPコードフィールドを無効にします。
string
支払い通貨を指定します(例:USD)。
boolean
通貨セレクターを表示します。
boolean
請求額を主要通貨単位で固定します(例:$12.50 の場合は 12.5)。Pay What You Want products のみが対象で、product の最低価格を下回る場合は無視されます。
boolean
割引フィールドを表示します。
string
metadata_ で始まる Query Parameter は、metadata として渡されます。
productId がない場合、handler は 400 response を返します。無効な query parameters も 400 response になります。

Response Format

Static checkout は checkout URL を含む JSON response を返します:
Dynamic Checkout は非推奨となった POST /payments エンドポイントと POST /subscriptions エンドポイントのプロキシとして機能します。既存のインテグレーションでは引き続き動作しますが、新しいインテグレーションでは以下の Checkout Sessions を使用してください。

レスポンス形式

Dynamic checkout は、チェックアウト URL を含む JSON レスポンスを返します。
Checkout sessions は、完全にカスタマイズできる、より安全なホスト型チェックアウト体験を提供します。1回限りの購入とサブスクリプションの両方で、決済フロー全体に対応します。詳細およびサポートされているフィールドの完全な一覧については、Checkout Sessions Integration Guide を参照してください。

レスポンス形式

Checkout sessions は、チェックアウト URL を含む JSON レスポンスを返します。

Customer Portal Route Handler

Customer Portal Route Handler を使用すると、Dodo Payments の Customer Portal を Nuxt アプリケーションにシームレスに統合できます。

クエリパラメータ

string
必須
ポータルセッションの顧客 ID(例: ?customer_id=cus_123)。
boolean
true に設定すると、ポータルリンクを記載したメールを顧客に送信します。
customer_id が指定されていない場合は 400 を返します。

Webhook Route Handler

  • Method: POST リクエストのみがサポートされています。それ以外のメソッドには 405 を返します。
  • Signature Verification: webhookKey を使用して webhook の署名を検証します。検証に失敗した場合は 401 を返します。
  • Payload Validation: Zod で検証します。無効なペイロードには 400 を返します。
  • Error Handling:
    • 401: 無効な署名
    • 400: 無効なペイロード
    • 500: 検証中の内部エラー
  • Event Routing: ペイロードのタイプに基づいて、適切なイベントハンドラーを呼び出します。

サポートされている Webhook イベントハンドラー


LLM 用プロンプト

最終更新日 2026年8月21日