SDKs & Libraries
TypeScript、Python、Go、PHP、Java、Kotlin、C#、Ruby、Rust向けの公式バックエンドSDKです。これらのライブラリが認証、シリアライズ、エラー処理を担うため、インテグレーションに集中できます。
Mobile Checkout SDKs
Android、iOS、React Native、FlutterアプリからDodoのホスト型チェックアウトを開き、1回の呼び出しで型付きの結果を取得できます。これらのSDKにはAPI keyが含まれません。
Environment URL
- Test Mode:
https://test.dodopayments.com - Live Mode:
https://live.dodopayments.com
Test Mode と Live Mode の比較の詳細をご覧ください。
認証
すべてのAPIリクエストにはAPI keyが必要です。ダッシュボードでAPI keyを生成し、すべてのリクエストのAuthorizationヘッダーに含めてください。
1
Generate an API Key
ダッシュボードでDeveloper → API Keysに移動し、Add API Keyを選択します。呼び出すモードでAPI keyを作成してください。Test Modeのkeyは
https://test.dodopayments.comでのみ使用でき、Live Modeのkeyはhttps://live.dodopayments.comでのみ使用できます。keyに分かりやすい名前を付け、アクセスレベルを選択します。- Enable write accessをオン(デフォルト): すべてのAPI操作に対する完全な読み取り・書き込み権限です。
- Enable write accessをオフ: 読み取り専用アクセスです。データ(決済、サブスクリプション、顧客、商品)の取得はできますが、リソースの作成や変更はできません。
2
Store Your Key Securely
keyをすぐにコピーしてください。再度表示することはできません。
DODO_PAYMENTS_API_KEYなどのenvironment variableに保存してください。3
Authenticate Requests
すべてのリクエストの
AuthorizationヘッダーにAPI keyを含めてください。Response Format
成功したリクエストは、JSON bodyとともに200または201を返すか、bodyなしで204を返します。エラーの場合は、4xxまたは5xx statusと、codeおよびmessageを含むJSON bodyを返します。
Rate Limits
APIでは、1秒あたりのバースト制限と1分あたりの継続制限という2つの制限が同時に適用されます。制限はビジネス全体に適用され、そのビジネスのすべてのAPI keysで共有されます。また、ビジネスのrate limit tierによって異なります。デフォルトtier
上位tier
APIの利用量が多いビジネスは、より高いrate limitにアップグレードできます。認証されていないリクエスト
有効なAPI keyを含まないリクエストは、IPアドレスによってrate limitedされます。Rate Limitヘッダー
レスポンスには、現在の使用状況を示すヘッダーが含まれます。X-RateLimit-Limit— 現在のwindowで許可される最大リクエスト数です。X-RateLimit-Remaining— 制限に達するまでに残っているリクエスト数です。X-RateLimit-Reset— 現在のwindowがリセットされるまでの秒数です。
429 Too Many Requestsを返します。retry logicにはexponential backoffを実装してください。
エラー処理
エラーの意味と解決方法については、エラーコードとtransaction failuresのページを参照してください。Error Codes
すべてのエラーコードとその意味を確認できます。
Transaction Failures
よくあるtransaction issuesとその対処方法を確認できます。
Webhooks
決済、サブスクリプション、その他のイベントが発生した際に、リアルタイム通知を受け取れます。ダッシュボードでwebhooksを設定し、インテグレーションに必要なイベントを処理してください。Webhook Guide
webhooksを設定し、イベントを処理して、署名を検証します。
インテグレーションガイド
最初のインテグレーションを構築するには、次のガイドのいずれかから始めてください。One-time Payments
checkout sessionsとpayment linksを作成し、決済を処理します。
Subscriptions
継続課金を設定し、プランを管理して、ライフサイクルイベントを処理します。
Usage-Based Billing
利用量を計測し、消費量に基づいて顧客に請求します。
Checkout Sessions
安全なホスト型チェックアウト体験を作成します。