Skip to main content

Checkout Handler

AstroアプリにDodo Payments checkoutを統合します。

Customer Portal

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

Webhooks

Dodo Payments webhookイベントを受信して処理します。

インストール

1

Install the package

プロジェクトのルートで次のコマンドを実行します:
2

Set up environment variables

プロジェクトのルートに.envファイルを作成します:
.envファイルやシークレットをバージョン管理システムにコミットしないでください。

Route Handlerの例

すべての例では、Astro App Routerを使用していることを前提としています。
このhandlerを使用して、AstroアプリにDodo Payments checkoutを統合します。static(GET)、dynamic(POST)、session(POST)のpayment flowをサポートします。

Checkout Route Handler

Dodo Paymentsは、Webサイトに決済を統合するための3種類のpayment flowをサポートしており、このadaptorはすべてのpayment flowに対応しています。
  • Static Payment Links: すぐに共有できるURLで、コードなしですばやく決済を受け付けます。
  • Dynamic Payment Links: APIまたはSDKを使用して、カスタム詳細を含むpayment linkをプログラムで生成します。
  • Checkout Sessions: 事前設定された商品カートと顧客情報を使用し、カスタマイズ可能で安全なcheckout体験を作成します。

サポートされているクエリパラメータ

string
必須
製品識別子(例:?productId=pdt_nZuwz45WAs64n3l07zpQR)。
integer
製品の数量。
string
顧客の氏名。
string
顧客の名。
string
顧客の姓。
string
顧客のメールアドレス。
string
顧客の国。
string
顧客の住所。
string
顧客の市区町村。
string
顧客の州/都道府県。
string
顧客の郵便番号。
boolean
氏名フィールドを無効にします。
boolean
名フィールドを無効にします。
boolean
姓フィールドを無効にします。
boolean
メールフィールドを無効にします。
boolean
国フィールドを無効にします。
boolean
住所フィールドを無効にします。
boolean
市区町村フィールドを無効にします。
boolean
州フィールドを無効にします。
boolean
郵便番号フィールドを無効にします。
string
決済通貨を指定します(例:USD)。
boolean
通貨セレクターを表示します。
number
請求額を主要通貨単位で固定します(例:12.50ドルの場合は12.5)。Pay What You Want製品でのみ使用され、製品の最低価格を下回る場合は無視されます。
boolean
割引フィールドを表示します。
string
metadata_で始まるクエリパラメータは、メタデータとして渡されます。
productIdがない場合、handlerは400レスポンスを返します。無効なQuery Parametersの場合も400レスポンスになります。

Response Format

Static checkoutはcheckout URLを含むJSONレスポンスを返します:

Response Format

Dynamic checkoutはcheckout URLを含むJSONレスポンスを返します:
Checkout sessionsは、より安全なホスト型checkout体験を提供します。one-time購入とサブスクリプションの完全な決済フローを処理し、柔軟にカスタマイズできます。詳細とサポートされているフィールドの完全な一覧については、Checkout Sessions Integration Guideを参照してください。

Response Format

Checkout sessionsはcheckout URLを含むJSONレスポンスを返します:

Customer Portal Route Handler

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

Query Parameters

string
必須
portal sessionの顧客ID(例: ?customer_id=cus_123)。
boolean
trueに設定すると、portal linkを記載したメールを顧客に送信します。
customer_idがない場合は400を返します。

Webhook Route Handler

  • Method: POSTリクエストのみサポートされます。その他のMethodには405を返します。
  • Signature Verification: webhookKeyを使用してwebhook signatureを検証します。検証に失敗した場合は401を返します。
  • Payload Validation: Zodで検証します。無効なpayloadには400を返します。
  • Error Handling:
    • 401: 無効なsignature
    • 400: 無効なpayload
    • 500: 検証中の内部エラー
  • Event Routing: payloadの種類に基づいて適切なevent handlerを呼び出します。

サポートされているWebhook Event Handler


LLM向けプロンプト

最終更新日 2026年8月6日