Overview
Digital Product Delivery adalah jenis entitlement Digital Files. Anda mengunggah file sekali ke entitlement Digital Files dan melampirkan entitlement tersebut ke produk. Dodo Payments kemudian mengirimkan tautan unduhan presigned kepada setiap pelanggan yang membayar melalui email dan Customer Portal. Entitlement Digital Files mendukung:- Unggahan file yang di-host: Dodo Payments menyimpan file Anda dan menyediakannya melalui presigned URL berumur pendek.
- Tautan unduhan eksternal: satu URL per entitlement yang mengarah ke file yang di-host di tempat lain, seperti Dropbox, Google Drive, atau S3.
- Instruksi unduhan: teks bebas yang ditampilkan kepada pelanggan di halaman pesanan dan email pengiriman.
Fitur Utama
File Upload
Unggah file seperti PDF, arsip ZIP, gambar, dan video, hingga 500 MiB per file. Dodo Payments mengalirkan setiap unggahan ke penyimpanan.
Multiple Files
Lampirkan sebanyak mungkin file yang Anda perlukan ke satu entitlement.
External Links
Tambahkan tautan unduhan eksternal, seperti URL Dropbox, Google Drive, atau S3 yang ditandatangani, sebagai pengganti atau tambahan file yang di-host.
Presigned URLs
Dodo Payments menyediakan file yang di-host melalui presigned URL. Setiap URL unduhan kedaluwarsa 15 menit setelah dibuat.
Menyiapkan Digital Product Delivery
1
Open Entitlements
Buka Entitlements di dashboard dan klik + untuk membuat entitlement.
2
Choose Digital Files
Pilih Digital Files dan masukkan Name untuk entitlement.
3
Add Files, Links, and Instructions
Konfigurasikan kombinasi apa pun dari kolom berikut:
- Upload files: unggah satu atau beberapa file. Setiap unggahan mengembalikan
file_iddan menambahkan file kedigital_file_idsmilik entitlement. - External Download Link: URL yang diawali dengan
http://atauhttps://, yang dapat diakses pelanggan. Dodo Payments mengirimkannya bersama file yang di-host. - Instructions: teks bebas yang ditampilkan kepada pelanggan, misalnya “Unzip and run setup.sh.”

4
Save the Entitlement
Klik Create Entitlement. Sekarang Anda dapat melampirkan entitlement tersebut ke produk apa pun.
Melampirkan ke Produk
Buka produk, buka bagian Entitlements, lalu pilih entitlement Digital Files Anda. Dodo Payments mengirimkan entitlement tersebut pada setiap pembelian yang berhasil atau subscription aktif untuk produk tersebut.
Attaching the Digital Files entitlement to a product alongside other entitlements.
Cara Kerja Pengiriman
Pengiriman Digital Files mengikuti siklus hidup grant standar. Setiap peristiwa memengaruhi grant Digital Files sebagai berikut:Pengalaman Pelanggan
Konfirmasi Pembelian
Setelah pembayaran berhasil, pelanggan menerima email berisi tautan unduhan dan instruksi apa pun yang Anda konfigurasikan.
Akses Portal Pelanggan
Pelanggan dapat memperoleh kembali tautan unduhan dari Customer Portal selama grant mereka aktif. Portal membuat presigned URL baru sesuai permintaan, sehingga pembelian tetap dapat digunakan setelah tautan di email kedaluwarsa.
Pelanggan dapat mengunduh file dari email konfirmasi atau membukanya kapan saja melalui Customer Portal.
Mengelola File Secara Program
Mengunggah File ke Entitlement
Untuk mengunggah file, kirim file tersebut sebagaimultipart/form-data dalam kolom file. Kolom opsional filename harus dikirim sebelum bagian file, karena Dodo Payments mengabaikan kolom yang dikirim setelahnya. Tanpa filename, Dodo Payments menggunakan nama file yang diunggah. Respons mengembalikan file_id yang baru.
Mencantumkan Grant dan Menyelesaikan URL Unduhan
Setiap grant Digital Files memiliki objekdigital_product_delivery dengan presigned URL baru untuk setiap file. Untuk membaca URL tersebut, cantumkan grant entitlement:
Menghapus File dari Entitlement
Untuk melepaskan file, kirimfile_id miliknya dan ID entitlement:
Pertimbangan Penting
- Presigned URL cepat kedaluwarsa. URL unduhan dalam payload grant dan event webhook berlaku selama 15 menit. Jangan menyimpannya. Ambil URL baru saat pelanggan perlu mengunduh kembali.
- Pembaruan file hanya memengaruhi pembelian berikutnya. Mengganti atau menghapus file tidak mengubah unduhan yang telah diterbitkan. Setiap grant menyimpan konfigurasi entitlement saat grant dibuat, sehingga pelanggan lama tetap dapat memperoleh versi yang berlaku saat itu.
- Refund tidak membatalkan salinan yang telah diunduh. Pelanggan yang sudah mengunduh file tetap memiliki salinan tersebut. Untuk konten yang dapat dicabut, seperti media yang dibatasi lisensi atau akses berbatas waktu, pasangkan Digital Files dengan License Keys dan validasi key saat runtime.
- Untuk konten sensitif, utamakan URL eksternal dengan autentikasi sendiri. Presigned URL dari Dodo Payments berumur pendek, tetapi siapa pun yang memiliki URL dapat mengunduh file hingga URL tersebut kedaluwarsa. Konten yang di-host secara eksternal di balik login akun memberi Anda lebih banyak kontrol.
Manajemen API
Create Entitlement
Buat entitlement Digital Files dengan URL eksternal dan instruksi opsional.
Upload File
Unggah file hingga 500 MiB dan lampirkan ke entitlement.
Delete File
Lepaskan file dari entitlement.
List Grants
Cantumkan grant dan baca URL unduhan yang telah diselesaikan.
Update Entitlement
Perbarui instruksi atau URL eksternal, atau ganti file.
Revoke Grant
Cabut akses pelanggan secara manual.
Webhook
Pengiriman dan pencabutan file digital mengirimkan empat event webhookentitlement_grant.*. Untuk grant Digital Files, payload menyertakan objek digital_product_delivery dengan daftar file yang telah diselesaikan, instructions opsional, dan external_url opsional. Setiap file memiliki download_url presigned, filename, content_type, file_size dalam byte, dan expires_in, yaitu jumlah detik hingga URL kedaluwarsa:
Digital Product Delivery Lama
Produk yang dikonfigurasikan dengan blok
digital_product_delivery lama pada produk itu sendiri telah dimigrasikan secara otomatis ke entitlement Digital Files. File yang diunggah melalui product file API lama dipertahankan: file tersebut tetap dapat diunduh dan muncul dalam payload grant bersama file yang baru diunggah. Konfigurasi digital_files milik entitlement melacaknya dalam daftar legacy_file_ids. Untuk menambahkan file, mengubah instruksi, atau mengganti URL eksternal, edit entitlement Digital Files yang telah dimigrasikan di bagian Entitlements.Respons produk masih menyertakan field tingkat produk lama (digital_product_delivery.external_url, digital_product_delivery.instructions) untuk kompatibilitas mundur, tetapi entitlement adalah sumber kebenaran.Praktik Terbaik
- Perlakukan unduhan sebagai pengiriman satu kali. Pelanggan dapat membagikan atau kehilangan tautan, jadi rancang produk Anda dengan asumsi bahwa apa pun yang mereka unduh menjadi milik mereka untuk disimpan.
- Gunakan instruksi untuk menetapkan ekspektasi. Untuk bundel multi-file, tambahkan baris
instructionsyang menjelaskan hal yang harus diinstal terlebih dahulu atau cara menggabungkan file. - Perhatikan batas 500 MiB. Host artefak yang lebih besar, seperti dataset multi-GB atau kursus video, secara eksternal, lalu tautkan dengan
external_url, bukan dengan mengunggahnya. - Gabungkan dengan License Keys untuk akses yang dapat dicabut. Untuk mencabut akses ke fitur dalam produk setelah refund, pasangkan entitlement Digital Files dengan entitlement License Key dan validasi key saat runtime.
- Uji alur refresh Customer Portal. Pastikan pelanggan dapat kembali ke portal seminggu kemudian dan tetap memperoleh tautan unduhan yang berfungsi. Portal adalah jalur pemulihan utama ketika tautan email kedaluwarsa.