Chuyển đến nội dung chính

Overview

Digital Product Delivery is the Digital Files entitlement type. You upload your files once to a Digital Files entitlement, attach the entitlement to a product, and Dodo Payments delivers presigned download links to every paying customer through email and the customer portal. The entitlement supports:
  • Hosted file uploads: store files on Dodo Payments and serve them via short-lived presigned URLs.
  • External download links: link to files hosted on Dropbox, Google Drive, S3, or any URL.
  • Download instructions: free-form text shown to the customer on their order page and in the delivery email.
You can mix all three on a single entitlement.

Key Features

File Upload

Tải tệp (PDF, ZIP, hình ảnh, video, v.v.) lên tới 500 MiB. Các tệp được truyền và lưu trữ hiệu quả.

Multiple Files

Attach as many files as you need to a single entitlement.

External Links

Provide external download links (Dropbox, Google Drive, signed S3 URLs) as an alternative or addition.

Presigned URLs

Hosted files are served via short-lived presigned URLs. Each download URL expires automatically after roughly 15 minutes.

Set up Digital Product Delivery

1

Open Entitlements

Go to Entitlements in your Dodo Payments dashboard and click + to create a new entitlement.
2

Choose Digital Files

Select Digital Product Delivery as the integration.
3

Add files, links, and instructions

Configure any combination of:
  • Files: upload one or more files. Each upload returns a file_id that’s appended to the entitlement.
  • External URL: a publicly reachable HTTPS link delivered alongside hosted files.
  • Instructions: free-form text shown to the customer (e.g., “Unzip and run setup.sh”).
Digital Files entitlement with file upload, external URL, and instructions fields
4

Save the entitlement

Save. The entitlement is now available to attach to any product.

Attach to Products

Open a product, expand Advanced Settings → Entitlements & Credits, and select your Digital Files entitlement. The entitlement is delivered on every successful purchase or active subscription tied to that product.
Product entitlements panel showing Digital Product Delivery selected

How Delivery Works

Digital Files delivery follows the standard grant lifecycle:
Revocation stops Dodo Payments from issuing new download URLs, but it does not invalidate copies a customer has already downloaded. Treat hosted file downloads as “delivered once read.”

Customer Experience

Purchase Confirmation

After a successful transaction, the customer receives an email with download links and any instructions you configured.
Purchase confirmation email showing download links for digital products

Customer Portal Access

Customers can re-fetch download links anytime from the Customer Portal. The portal page generates fresh presigned URLs on demand, so the same purchase keeps working even after the email’s links have expired.
Customer portal interface showing available digital products for download
Customers can download files directly from confirmation emails or access them anytime through their portal.

Manage Files Programmatically

Upload a file to an entitlement

List grants and resolve download URLs

Remove a file from an entitlement


Important Considerations

  • Presigned URLs expire quickly. Download URLs returned in grant payloads or webhook events are valid for ~15 minutes. Don’t store them; re-fetch them when the customer needs to download again.
  • Updating files affects future purchases only. Replacing or removing a file does not retroactively change downloads already issued. Past customers can still re-fetch the version that was current when their grant was created.
  • Refunds don’t invalidate downloaded copies. A customer who already downloaded a file keeps that copy. For revocable content (license-restricted media, time-limited access), pair Digital Files with License Keys and validate at runtime.
  • For sensitive content, prefer external URLs with their own auth. Dodo Payments’ presigned URLs are short-lived but unauthenticated within their window; anyone with the URL can download in that window. Externally hosted, account-gated content provides stronger guarantees.

API Management

Create Entitlement

Tạo quyền truy cập tệp kỹ thuật số với URL bên ngoài và hướng dẫn tùy chọn.

Upload File

Tải một tệp (tối đa 500 MiB) và đính kèm vào quyền truy cập.

Delete File

Xóa một tệp khỏi quyền truy cập.

List Grants

Liệt kê các quyền và đọc URL tải về đã được giải quyết.

Update Entitlement

Cập nhật hướng dẫn, URL bên ngoài, hoặc thay thế tệp.

Revoke Grant

Thu hồi quyền truy cập của khách hàng một cách thủ công.

Webhooks

Digital file delivery and revocation fire the four entitlement_grant.* webhook events. For Digital Files grants, the payload includes a digital_product_delivery object with the resolved file list (presigned URLs, filenames, sizes), the optional instructions, and the optional external_url.

Legacy Digital Product Delivery

Products configured with the older digital_product_delivery block on the product itself have been automatically migrated to a Digital Files entitlement. Existing files uploaded under the legacy product file API are preserved; they continue to be downloadable and appear in grant payloads tagged with source: "legacy". Future updates (adding files, changing instructions, replacing the external URL) should be made by editing the migrated Digital Files entitlement under Entitlements.The legacy product-level fields (digital_product_delivery.external_url, digital_product_delivery.instructions) continue to be populated on product responses for backwards compatibility, but the entitlement is the source of truth going forward.

Best Practices

  • Xem xét tải xuống là một lần duy nhất. Khách hàng sẽ chia sẻ hoặc mất liên kết, vì vậy hãy thiết kế sản phẩm của bạn dựa trên giả định rằng bất cứ thứ gì họ tải xuống là của họ.
  • Sử dụng hướng dẫn để đặt kỳ vọng. Đối với các gói tệp nhiều, thêm một dòng instructions để giải thích cài đặt gì trước hoặc cách kết hợp các tệp.
  • Chú ý giới hạn 500 MiB. Các vật phẩm lớn hơn (bộ dữ liệu nhiều GB, khóa học video) nên được lưu trữ bên ngoài và liên kết thông qua external_url thay vì tải lên.
  • Kết hợp với Khóa Giấy Phép để thu hồi quyền truy cập. Nếu bạn cần thu hồi quyền truy cập vào các tính năng trong sản phẩm sau khi hoàn tiền, kết hợp quyền truy cập Tệp Kỹ thuật số với quyền Khóa Giấy Phép và xác thực khóa khi chạy.
  • Kiểm tra luồng làm mới cổng khách hàng. Xác nhận khách hàng có thể trở lại cổng một tuần sau đó và vẫn nhận được liên kết tải xuống hoạt động. Đây là con đường khôi phục chính khi các liên kết email hết hạn.
Lần sửa đổi cuối 9 tháng 7, 2026