In this guide 6 sections
Keep every file and version in one private store, then sell each product through an order that issues a signed, expiring download link. Save the licence wording the buyer accepted, give each buyer a library of past purchases, and cut off access when an order is refunded.
Every file and every version lives in one store
A font family may hold four .ttf weights, a licence PDF and a specimen sheet, so attach every file to the product record. Nothing lives in email. Files left on a laptop or in a shared drive set up by a former employee are one resignation away from being lost.
Label every upload with a version number, a release date and a one-line change note written for buyers, and mark exactly one version as current. Version 1.2 sits beside 1.1. Old builds stay stored but hidden, because a buyer from March paid for the build that existed in March and may still need it. Record a checksum for each file.
- File name, size and checksum
- Version label and release date
- Change note written for buyers
- Which version is current
- Private storage, never a public web folder
Tie each download link to one order line
A forwarded link is a free copy. Generate the link when payment clears, bind it to the order line, and let it expire after a set time or a set number of fetches. Signed URLs from your storage provider handle the expiry for you, and the buyer never sees the real file path or the bucket name behind it.
Downloads fail on weak mobile data. A buyer who retries five times can hit a limit of three, so let them request a fresh link from the order page. Log every request with its time and IP address, and the pattern shows when one order is fetched dozens of times from five countries.
Never email the file itself. Email the order page.
Save the licence wording at the moment of purchase
A licence is a dated promise. Copy the exact text the buyer accepted onto the order, together with the product version and the date of acceptance, so old orders keep the words that applied.
Decide what each product allows. A stock photo may cover one client project, a template may allow unlimited personal use, and a font may allow five desktop installs. Print that line beside the buy button, again on the invoice, and once more inside the download so it travels with the file.
- Licence name and full text as accepted
- Seats, projects or devices allowed
- Whether commercial use is covered
- Whether resale or redistribution is barred
- Buyer name or company shown on the licence
Give every buyer a library, not just an email
A buyer library is a page that lists everything the account has bought, with the current version and a download button beside each item. It ends the resend requests. Guests who checked out without an account get a magic link that opens the same page after they confirm the email address used at checkout.
Show update notices there. When a pattern pack moves to a new build, owners of the old build see the change note beside a download button for the update. Receipts belong here too. Invoices and licence text should sit one click away, because buyers ask for both whenever an accountant or a client asks them for proof.
Withdraw access when an order is refunded
Refunds must switch access off. Link the refund record to the order line, mark the download as revoked, and let any live link lapse the next time somebody requests it.
Part refunds and chargebacks are separate cases. Refunding one item from a bundle removes only that item, while a chargeback should freeze the whole library entry until the dispute closes and the bank decides. Revoking is not deleting. Keep the history.
Test the whole route yourself this week. Buy a cheap product, download it, refund the order, and confirm that the old link now returns an error instead of the file.
Digital download setup sheet
Three blocks share one sheet. The first lists each product with its files, version labels, checksums and current flag, one row per upload. The second records link rules: expiry time, fetch limit and who may request a fresh link. The third holds the licence wording per product, the refund trigger and the action that revokes access.
Open a blank worksheet to printQuestions owners ask
How long should a download link last?
Long enough for a buyer on slow mobile data to finish the file, and short enough that a link forwarded to a friend goes stale within days. A button in the library does the rest.
Can buyers re-download after a new version is released?
Yes, as long as you keep a library, because the buyer sees the current build and can still fetch the older one they originally paid for. Put the upgrade rule in the terms.
What happens if a buyer shares the link?
Most sharing dies at the expiry. Watch the log for one order fetched from many places, then lock that order and ask the buyer to confirm who is using the file. Watermarking helps with documents and images.
Where should the files be stored?
Use private object storage rather than the web folder of your site, so the site can hand out short-lived signed links and the real file address stays hidden. Big audio archives stream better there too.
