Pending grant が作成され、ユーザー自身のシステム、サードパーティベンダー、または有限のコードプールからキー値を提供するまで待機します。
完了することで、次のことが可能になります:
- ライセンスキー権利が
manual発行に設定された製品。 - 顧客がキーを待っているときに検出する Webhook リスナー。
- キーを配信し、顧客に自動的に通知する発行コール。
License Keys overview
完全なライセンスキーライフサイクルと
fulfillment_mode 設定。Fulfill License Key Grant API
キーを配信するために呼び出すエンドポイントの API リファレンス。
仕組み
手動発行では、発行ステップだけが変更されます。配信された後は、アクティベーション、検証、無効化、有効期限、取り消しは自動生成されたキーと同じように動作します。前提条件
このガイドを進めるには次のものが必要です:- Dodo Payments マーチャントアカウント。
- ダッシュボードの API キー (
DODO_PAYMENTS_API_KEY) と Webhook シークレットキー。API キー生成ガイドを参照: API key generation guide。 - Webhook を受信できるバックエンドエンドポイント。
https://test.dodopayments.com とテストモードの資格情報を使用して構築します。製品に移行するときは https://live.dodopayments.com とライブキーに切り替えてください。ステップ 1 — 手動モードでライセンスキー権利を作成
権利とは、提供するものの再利用可能な定義です。ライセンスキー権利を作成し、そのfulfillment_mode を manual に設定します。
- Dashboard
- API
1
Open Entitlements
ダッシュボードの権利に移動し、+ をクリックして新しい権利を作成します。
2
Choose License Key
ライセンスキーを統合として選択し、名前を付けます。フォームは次のフィールドを公開しています:
- Fulfillment Mode — デフォルトでは
Automatic。これは手動発行を有効にする設定です。次のステップで変更します。 - License Length — 各発行されたキーが有効である期間、または No expiration。
- Activations Limit — 各キーの最大アクティベーション数、または Unlimited。
- Activation Message — キーを有効化するときに表示される、顧客向けのオプションメッセージ。

3
Set Fulfillment Mode to Manual
Fulfillment Mode ドロップダウンを開き、Automatic から Manual に変更します。これがこのガイド全体を左右する設定です。この設定を行わない場合、キーが自動的に生成されてメールで送信され、保留中の grant は作成されません。Manual を選択すると、購入ごとに付与対象の
Pending grant が作成されます。Create Entitlement をクリックして保存します。fulfillment_mode はデフォルトで auto です。それを省略するか、既存の権利を変更しないままでいると、自動動作が維持されます。明示的に manual に設定された権利のみが保留中の付与を作成します。ステップ 2 — 権利を製品に添付
販売したい製品を開き、詳細設定 → 権利 & クレジットを展開し、ステップ 1 で手動に設定したライセンスキー権利を選択します。単一の製品で、このライセンスキーを他の権利と同じ購入に一緒に提供することができます。
Selecting the License Key entitlement in the product entitlements panel.
発行モードは権利のプロパティであり、製品のプロパティではありません。ステップ 1 で手動に設定したので、この権利が添付されたすべての製品は購買時に
pending ライセンスキーの付与を作成します—ここでは何も追加で設定する必要はありません。付与モードは product ではなく entitlement のプロパティです。Step 1 で Manual に設定したため、この entitlement が関連付けられたすべての product では、購入時に
Pending license-key grant が作成されます。ここで追加設定を行う必要はありません。ステップ 3 — 保留中の付与を検出
顧客が製品を購入すると、Dodo Payments はpending 状態でキーが添付されていない付与を作成し、entitlement_grant.created Webhook を発火します。これが顧客がキーを待っていることを示す合図です。
顧客が product を購入すると、Dodo Payments はキーが添付されていない状態で Pending status の grant を作成し、entitlement_grant.created webhook を発火します。これは、顧客がキーを待っていることを示すシグナルです。
Webhook エンドポイントをセットアップし (ダッシュボードの Developer → Webhooks)、保留中のライセンスキー付与にアクションを起こします。実装は Standard Webhooks の仕様に従います。
または List Grants API をポーリングする
Webhook に頼りたくない場合は、権利のために付与をリストし、integration_type と status でフィルタリングします:
Webhook に依存したくない場合、ライセンスキーの承認のための付与を一覧表示し、status でフィルタリングしてください。ライセンスキーの承認に関するすべての付与はすでにライセンスキーの付与であるため、integration_type フィルタは不要です。
Node.js
Node.js
cURL
ステップ 4 — キーを配信
独自のシステムからキーの値を取得し、Fulfill License Key Grant エンドポイントに送信します。これには秘密の API キー (編集者権限) が必要です。これは公開ライセンスエンドポイントのひとつではありません。リクエストフィールド
string
必須
顧客に配信するためのライセンスキー文字列。空白がトリムされます。空または空白のみの値は拒否されます。
integer
キーごとのアクティベーション制限。省略時は権利の設定にフォールバックします。
string
キーごとの有効期限 (ISO 8601)。省略時は権利設定の期間にフォールバックします。サブスクリプション発行の付与の場合、有効性はサブスクリプションに関係なくつながれたままです。
delivered に移行し、顧客に自動的にキーが送信されます(自動発行の下で受け取るのと同じメール)、entitlement_grant.delivered が発火します。
成功すると grant は Delivered に移行し、顧客にはキーが自動的に送信されます(自動付与の場合に受け取るものと同じメールです)。さらに、license_key.created と entitlement_grant.delivered webhook event が発火します。

The license key email the customer receives once you fulfill the grant.
キーを自分でメール送信する必要はありません—付与が完了すると自動的に配信されます。
ステップ 5 — エラーと再試行の処理
エンドポイントは何も配信する前に付与を検証します。次の応答を処理します:フローを確認
- テストモードで製品を購入 (チェックアウトガイドを参照: checkout guides)。
-
Webhook で
entitlement_grant.createdがstatus: "pending"とintegration_type: "license_key"を受信していることを確認、または付与がこれらのフィルタで List Grants の応答に表示されることを確認します。 - テストキーで発行エンドポイントを呼び出します。
-
応答が
status: "delivered"を示し、license_keyが入力され、顧客がキーのメールを受け取り、entitlement_grant.deliveredが発火することを確認します。 - test mode で product を購入します(checkout guides を参照してください)。
-
webhook が
entitlement_grant.createdをstatus: "Pending"およびintegration_type: "license_key"とともに受信したことを確認します。または、同じ filter を指定した List Grants response に grant が表示されることを確認します。 - test key を指定して fulfill endpoint を呼び出します。
-
response に
status: "Delivered"と値が設定されたlicense_keyが表示され、顧客が key email を受信し、entitlement_grant.deliveredが発火することを確認します。
関連 API リファレンス
Create Entitlement
fulfillment_mode: manual でライセンスキーの権利を作成します。List Grants
integration_type と status でフィルターして保留中の付与を見つけます。Fulfill License Key Grant
キーの値を配信し、付与を配信済みへと移行します。
Entitlement Grant Webhooks
保留中と配信済みの付与を示す
entitlement_grant.* イベント。Create Entitlement
fulfillment_mode: manual を指定して License Key entitlement を作成します。List Grants
status と customer_id で filter して、保留中の grant を検索します。Fulfill License Key Grant
キー値を配信し、grant を delivered に移行します。
Entitlement Grant Webhooks
保留中および配信済みの grant を示す
entitlement_grant.* event。