@dodopaymentsスコープのnpmパッケージです。パッケージは、checkoutの検証、Dodo Payments APIリクエスト、webhookペイロードの検証、型付きイベントコールバックに@dodopayments/coreを使用します。
coding agentにアダプターを追加させるには、Agent Pluginをインストールしてください。
利用可能なフレームワークアダプター
使用するフレームワークに対応するアダプターを選択してください。Next.js
Nuxt
Express
Fastify
Hono
Astro
SvelteKit
Remix
TanStack Start
Better Auth
Convex
Bun
主な機能
route handlerアダプターには、次の機能が共通して備わっています。
Better Auth pluginとConvex componentは、それぞれ独自のAPIを通じて同じ機能を提供します。違いについては各ページを参照してください。
クイックスタート
route handlerアダプターを3つの手順で設定します。1
Install the Adaptor
使用するフレームワークのパッケージをインストールします。
- Next.js
- Nuxt
- Express
- Hono
- Astro
- SvelteKit
2
Configure Environment Variables
Dodo Paymentsのcredentialをenvironmentに追加します。dashboardのDeveloper → API KeysでAPI keyを、Developer → Webhooksでwebhook secretを作成します。test modeのAPI keyはenvironmentを渡さない場合、アダプターは
test_modeでのみ機能します。live_modeを使用します。3
Create Route Handlers
checkout routeを作成します。customer portalとwebhook routeも同じパターンに従います。
- Next.js
- Express
- Hono
checkout routeはcheckout URLを返すようになります。各アダプターのページでは、customer portalとwebhook handlerについて説明し、すべてのoptionを一覧表示しています。
Checkout Flowの種類
route handlerアダプターは3種類のcheckout flowをサポートします。Better Auth pluginはcheckout sessionとdeprecated dynamic checkoutをサポートします。Convex componentはcheckout sessionのみをサポートします。Static Checkout (GET)
Static Checkout (GET)
Static checkoutは1つの商品用のpayment linkを返すため、共有またはredirectできます。query parameterとしてproduct IDを渡します。handlerはproductが存在することを確認し、linkを
checkout_urlとして返します。オプションのquery parameterを使用して顧客情報を事前入力し、checkout formを制御できます。Dynamic Checkout (POST)
Dynamic Checkout (POST)
Dynamic checkoutは、カスタム情報を含むJSON bodyからpayment linkを作成します。one-time paymentとsubscriptionの両方をサポートします。product typeに応じてdeprecatedな
billingとcustomerは必須です。POST /paymentsまたはPOST /subscriptions endpointを呼び出すため、新しい統合にはcheckout sessionを使用してください。Checkout Sessions (POST)
Checkout Sessions (POST)
Checkout sessionが推奨されるflowです。最も多くのoptionを提供し、複数の商品を含むcartを受け付けます。サポートされているすべてのfieldについては、Checkout Sessions Guideを参照してください。
Webhook Eventの処理
すべてのroute handlerアダプターはWebhooks handlerをexportします。これはwebhook secretと、個別のevent type用のオプションの型付きcallbackを受け取ります。onPayloadはすべてのeventで実行されます。
webhooks()で同じcallbackを受け付け、Convex componentはcreateDodoWebhookHandlerで受け付けます。
各webhook handlerはStandard Webhooks libraryを使用して
webhook-id、webhook-signature、webhook-timestamp headerを検証し、その後Zod schemaでpayloadを検証します。無効なrequestは、callbackが実行される前にerror statusで拒否されます。適切なアダプターの選択
ヘルプを受ける
framework adaptor に関するヘルプ:- Discord:コミュニティサーバーで質問してください。
- Email:support@dodopayments.com までお問い合わせください。
- GitHub:すべての adaptor を収録している dodo-adapters リポジトリで issue を作成してください。
- Documentation:API リファレンスをご覧ください。