Skip to main content

Overview

Digital Product Delivery は Digital Files entitlement タイプです。ファイルを一度 Digital Files entitlement にアップロードし、その entitlement を商品に紐付けます。Dodo Payments は、支払いを行ったすべての顧客に、メールと Customer Portal を通じて presigned download link を配信します。 Digital Files entitlement では、次の機能をサポートしています。
  • ホストされたファイルのアップロード: Dodo Payments がファイルを保存し、短期間有効な presigned URL を通じて提供します。
  • 外部ダウンロードリンク: Dropbox、Google Drive、S3 など、別の場所でホストされているファイルを指す、entitlement ごとに 1 つの URL。
  • ダウンロード手順: 注文ページと配信メールに表示される、自由形式のテキスト。
1 つの entitlement に 3 つすべてを組み合わせることができます。dashboard で、少なくとも 1 つのファイルまたは外部ダウンロードリンクを追加してください。

Key Features

File Upload

PDF、ZIP アーカイブ、画像、動画などのファイルを、1 ファイルあたり最大 500 MiB までアップロードできます。Dodo Payments は各アップロードをストレージにストリーミングします。

Multiple Files

1 つの entitlement に必要な数だけファイルを紐付けることができます。

External Links

ホストされたファイルの代わりに、またはホストされたファイルに加えて、Dropbox、Google Drive、署名付き S3 URL などの外部ダウンロードリンクを追加できます。

Presigned URLs

Dodo Payments は presigned URL を通じてホストされたファイルを提供します。各ダウンロード URL は生成から 15 分後に有効期限が切れます。

Digital Product Delivery の設定

1

Open Entitlements

dashboard で Entitlements に移動し、+ をクリックして entitlement を作成します。
2

Choose Digital Files

Digital Files を選択し、entitlement の Name を入力します。
3

Add Files, Links, and Instructions

次のフィールドを任意の組み合わせで設定します。
  • Upload files: 1 つ以上のファイルをアップロードします。各アップロードは file_id を返し、そのファイルを entitlement の digital_file_ids に追加します。
  • External Download Link: http:// または https:// で始まる、顧客がアクセスできる URL。Dodo Payments はホストされたファイルとともにこの URL を配信します。
  • Instructions: 顧客に表示する自由形式のテキスト。例: “Unzip and run setup.sh.”
Digital Files entitlement with file upload, external URL, and instructions fields
4

Save the Entitlement

Create Entitlement をクリックします。これで、任意の商品に entitlement を紐付けられるようになります。

Attach to Products

商品を開き、その Entitlements セクションに移動して、Digital Files entitlement を選択します。Dodo Payments は、その商品の購入が成功するたび、またはアクティブな subscription があるたびに entitlement を配信します。
Product entitlements panel showing Digital Product Delivery selected

Attaching the Digital Files entitlement to a product alongside other entitlements.


How Delivery Works

Digital Files の配信は、標準の grant lifecycle に従います。各イベントは Digital Files grant に次のような影響を与えます。
Revoke により、Dodo Payments は新しい download URL を発行できなくなりますが、顧客がすでにダウンロードしたコピーが無効になるわけではありません。顧客がダウンロードした時点で、ホストされたファイルは配信済みとして扱ってください。

Customer Experience

Purchase Confirmation

支払いが成功すると、顧客にはダウンロードリンクと、設定した手順を含むメールが届きます。
Purchase confirmation email showing download links for digital products

Customer Portal Access

grant がアクティブな間、顧客は Customer Portal から再度ダウンロードリンクを取得できます。portal は必要に応じて新しい presigned URL を生成するため、メール内のリンクの有効期限が切れた後も購入したコンテンツを利用できます。
Customer portal interface showing available digital products for download
顧客は確認メールからファイルをダウンロードするか、Customer Portal からいつでも開くことができます。

Manage Files Programmatically

Entitlement へのファイルのアップロード

ファイルをアップロードするには、multipart/form-data として file フィールドに送信します。オプションの filename フィールドは file パートより前に指定する必要があります。Dodo Payments は、その後に送信されたフィールドを無視するためです。filename を指定しない場合、Dodo Payments はアップロードされたファイルの名前を使用します。レスポンスには新しい file_id が返されます。

Grant の一覧表示とダウンロード URL の解決

各 Digital Files grant には、すべてのファイルについて新しい presigned URL を含む digital_product_delivery オブジェクトがあります。URL を読み取るには、entitlement の grant を一覧表示します。

Entitlement からのファイルの削除

ファイルの紐付けを解除するには、その file_id と entitlement ID を渡します。

重要な考慮事項

  • Presigned URL は短時間で有効期限が切れます。 grant payload と webhook event に含まれるダウンロード URL は 15 分間有効です。保存しないでください。顧客が再度ダウンロードする必要があるときに、新しい URL を取得してください。
  • ファイルの更新は今後の購入にのみ影響します。 ファイルを置き換えたり削除したりしても、すでに発行されたダウンロードには影響しません。各 grant は作成時点の entitlement 設定を保持するため、過去の顧客は当時のバージョンを引き続き取得できます。
  • Refund によってダウンロード済みのコピーが無効になることはありません。 すでにファイルをダウンロードした顧客は、そのコピーを保持します。ライセンスで制限されたメディアや期間限定アクセスなど、revoke 可能なコンテンツには、Digital Files と License Keys を組み合わせ、runtime で key を検証してください。
  • 機密性の高いコンテンツには、独自の認証を備えた外部 URL を推奨します。 Dodo Payments の presigned URL は短期間のみ有効ですが、URL を知っている人は有効期限が切れるまでファイルをダウンロードできます。アカウントログインの背後に外部ホストされたコンテンツを配置すると、より細かく制御できます。

API Management

Create Entitlement

オプションの外部 URL と手順を含む Digital Files entitlement を作成します。

Upload File

最大 500 MiB のファイルをアップロードし、entitlement に紐付けます。

Delete File

entitlement からファイルの紐付けを解除します。

List Grants

grant を一覧表示し、解決済みのダウンロード URL を読み取ります。

Update Entitlement

手順または外部 URL を更新するか、ファイルを置き換えます。

Revoke Grant

顧客のアクセスを手動で revoke します。

Webhooks

Digital file の配信と revoke により、4 つの entitlement_grant.* webhook event が送信されます。Digital Files grant の場合、payload には解決済みのファイル一覧を含む digital_product_delivery オブジェクト、オプションの instructions、オプションの external_url が含まれます。各ファイルには presigned download_url、filename、content_type、バイト単位の file_size、および URL の有効期限までの秒数を表す expires_in が含まれます。

Legacy Digital Product Delivery

商品自体に以前の digital_product_delivery ブロックが設定されている商品は、自動的に移行され、Digital Files entitlement になっています。従来の商品ファイル API を通じてアップロードされたファイルは保持されます。引き続きダウンロードでき、後からアップロードされたファイルとともに grant payload に表示されます。entitlement の digital_files 設定では、これらのファイルを legacy_file_ids リストで管理します。ファイルの追加、手順の変更、外部 URL の置き換えを行うには、Entitlements で移行された Digital Files entitlement を編集してください。後方互換性のため、商品レスポンスには従来の商品レベルのフィールド(digital_product_delivery.external_url、digital_product_delivery.instructions)が引き続き含まれますが、source of truth は entitlement です。

ベストプラクティス

  • ダウンロードは一度限りの配信として扱います。 顧客はリンクを共有したり紛失したりする可能性があるため、ダウンロードしたものは顧客が保持すると想定して商品を設計してください。
  • 手順を使用して期待値を設定します。 複数ファイルのバンドルでは、何を最初にインストールするか、またはファイルをどのように組み合わせるかを説明する instructions 行を追加してください。
  • 500 MiB の上限に注意します。 数 GB のデータセットや動画コースなど、より大きな成果物は外部でホストし、アップロードする代わりに external_url でリンクしてください。
  • revoke 可能なアクセスには License Keys を組み合わせます。 Refund 後に商品内機能へのアクセスを revoke するには、Digital Files entitlement と License Key entitlement を組み合わせ、runtime で key を検証してください。
  • Customer Portal の refresh flow をテストします。 顧客が 1 週間後に portal に戻っても、機能するダウンロードリンクを取得できることを確認してください。メールリンクの有効期限が切れた場合、portal が主な復旧手段になります。
最終更新日 2026年9月26日