メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt

Use this file to discover all available pages before exploring further.

概要

デジタル製品配信は、デジタルファイルの権利タイプです。ファイルをデジタルファイルの権利に一度アップロードし、製品に権利を添付すると、Dodo Paymentsが署名付きダウンロードリンクを支払い済みの顧客にメールとカスタマーポータルを通じて提供します。 権利がサポートするのは以下の通りです:
  • ホストされたファイルのアップロード:ファイルをDodo Paymentsに保存し、短期間の署名付きURLを介して提供します。
  • 外部ダウンロードリンク:Dropbox、Google Drive、S3、または任意のURLにホストされたファイルへのリンク。
  • ダウンロード手順:注文ページと配信メールに表示される自由形式のテキスト。
これらの3つのすべてを1つの権利に組み合わせることができます。

主な特徴

ファイル(PDF、ZIP、画像、ビデオなど)を最大100MBアップロードします。ファイルは効率的にストリーミングおよび保存されます。 必要なだけ多くのファイルを1つの権利に添付します。 外部ダウンロードリンク(Dropbox、Google Drive、署名付きS3 URL)を代替または追加として提供します。 ホストされたファイルは短期間の署名付きURLを介して提供されます。各ダウンロードURLはおよそ15分後に自動的に期限切れになります。

デジタル製品配信のセットアップ

Dodo Paymentsダッシュボードで権利に移動し、**+**をクリックして新しい権利を作成します。 デジタル製品配信を統合として選択します。 次のいずれかの組み合わせを設定します:
  • ファイル:1つまたは複数のファイルをアップロードします。各アップロードは権利に追加されるfile_idを返します。
  • 外部URL:ホストされたファイルと一緒に配信される公開アクセス可能なHTTPSリンク。
  • 手順:顧客に表示される自由形式のテキスト(例:「解凍してsetup.shを実行する」)。
ファイルのアップロード、外部URL、および手順フィールドを備えたデジタルファイルの権利 保存します。権利は任意の製品に添付できるようになりました。

製品に添付

製品を開き、詳細設定 → 権利 & クレジットを展開し、デジタルファイルの権利を選択します。権利は、その製品に紐付けられたすべての成功購入またはアクティブなサブスクリプションに対して提供されます。 デジタル製品配信が選択された製品権利パネル

配信方法

デジタルファイルの配信は標準の付与ライフサイクルに従います:
イベント動作
payment.succeeded (一度きり)権利を発行します。権利には約15分間有効な署名付きダウンロードURLが含まれています。顧客はメールリンクを再開したり、カスタマーポータルページを再開することでそれらを更新できます。
subscription.active権利を発行します。ファイルはサブスクリプションがアクティブな間アクセス可能です。
subscription.renewed対応なし。同じ権利が続き、新しい署名付きURLが取得時に発行されます。
subscription.on_hold / cancelled / expired権利を取り消します。新しい署名付きURLはもはや発行されません。
subscription.plan_changed古い権利を取り消し、新しいプランの権利に対して新しいものを発行します。
refund.succeeded (一度きり)権利を取り消します。
手動取り消しrevocation_reason: manualで取り消します。
取り消しはDodo Paymentsが新しいダウンロードURLを発行するのを停止しますが、それは既に顧客がダウンロードしたコピーを無効にしません。ホストされたファイルのダウンロードを「読み込み完了時に配信済み」として取り扱います。

顧客体験

購入確認

取引が成功すると、顧客はダウンロードリンクおよび設定した手順が記載されたメールを受け取ります。 デジタル製品のダウンロードリンクを示す購入確認メール

カスタマーポータルアクセス

顧客はいつでもカスタマーポータルからダウンロードリンクを再取得できます。ポータルページは要求に応じて新しい署名付きURLを生成するため、メールのリンクが期限切れになった後でも同じ購入が有効です。 ダウンロード可能なデジタル製品を示すカスタマーポータルインターフェース 顧客は確認メールから直接ファイルをダウンロードしたり、ポータルを通じていつでもアクセスできます。

プログラムによるファイル管理

権利にファイルをアップロードする

TypeScript
import DodoPayments from 'dodopayments';
import fs from 'node:fs';

const client = new DodoPayments({
  bearerToken: process.env['DODO_PAYMENTS_API_KEY'],
  environment: 'test_mode',
});

await client.entitlements.files.upload('ent_files_abc', {
  file: fs.createReadStream('./pro-bundle.zip'),
  filename: 'pro-bundle.zip',
});
cURL
curl -X POST "https://test.dodopayments.com/entitlements/ent_files_abc/files" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@./pro-bundle.zip" \
  -F "filename=pro-bundle.zip"
CODE_PLACEHOLDER_278c8ff892f265e3e925879c7aa762a2_END

権利を一覧表示しダウンロードURLを解決する

const grants = await client.entitlements.grants.list('ent_files_abc', {
  customer_id: 'cus_abc123',
});

for (const grant of grants.items) {
  for (const file of grant.digital_product_delivery.files) {
    console.log(file.filename, file.download_url, `expires in ${file.expires_in}s`);
  }
}

権利からファイルを削除する

await client.entitlements.files.delete('ent_files_abc', 'df_a4f6c1de');

重要な考慮事項

  • 署名付きURLはすぐに期限切れになります。 権利ペイロードまたはWebhookイベントで返されるダウンロードURLは約15分間有効です。それらを保存せず、顧客が再度ダウンロードする必要があるときに再取得してください。
  • ファイルの更新は将来の購入にのみ影響します。 ファイルを置き換えたり削除したりしても、すでに発行されているダウンロードに遡及して変更はありません。過去の顧客は、権利が作成された時点で現在だったバージョンを再取得できます。
  • 払い戻しはダウンロードされたコピーを無効にしません。 すでにファイルをダウンロードした顧客はそのコピーを保持します。取り消し可能なコンテンツ(ライセンス制限メディア、期間限定アクセス)には、デジタルファイルをライセンスキーと連携し、実行時に検証してください。
  • 機密性の高いコンテンツには独自の認証を備えた外部URLを好ましく使用してください。 Dodo Paymentsの署名付きURLは短期間ですが、その間は認証されていないため、そのURLを持っている誰でもその期間にダウンロードできます。外部ホストされたアカウントゲートコンテンツはより強力な保証を提供します。

API管理

オプションの外部URLと手順を使用してデジタルファイルの権利を作成します。 ファイルを(最大100MB)アップロードし、権利に追加します。 権利からファイルを削除します。 権利を一覧表示し解決済みのダウンロードURLを読み取ります。 手順、外部URLを更新したり、ファイルを置き換えたりします。 顧客のアクセスを手動で取り消します。

Webhooks

デジタルファイルの配信と取り消しは4つのentitlement_grant.* Webhookイベントを発火します。デジタルファイルの権利については、ペイロードに解決されたファイルリスト(署名付きURL、ファイル名、サイズ)、オプションのinstructions、およびオプションのexternal_urlオブジェクトが含まれています。
"digital_product_delivery": {
  "files": [
    {
      "file_id": "df_a4f6c1de",
      "download_url": "https://files.dodopayments.com/.../pro-bundle.zip?Signature=...",
      "filename": "pro-bundle.zip",
      "content_type": "application/zip",
      "file_size": 18742390,
      "expires_in": 900
    }
  ],
  "instructions": "Unzip and run setup.sh from the project root.",
  "external_url": null
}

レガシーデジタル製品配信

製品自体にある古いdigital_product_deliveryブロックを使用して構成された製品は、自動的に移行されてデジタルファイルの権利になりました。レガシー製品ファイルAPIでアップロードされた既存のファイルは保存され、引き続きダウンロード可能で、権利ペイロードにタグsource: "legacy"として表示されます。今後の更新(ファイルの追加、手順の変更、外部URLの置き換え)は、移行されたデジタルファイルの権利を権利で編集することによって行う必要があります。
Last modified on May 14, 2026