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体験を作成します。

サポートされているQuery Parameters

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
通貨セレクターを表示します。
integer
決済金額を指定します(例: $10.00の場合は1000)。
boolean
割引フィールドを表示します。
string
metadata_で始まるQuery Parameterはすべて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年7月31日