Skip to main content

Overview

Site Store Pro delivers digital products through secure, token-gated download links that enforce per-order access limits and expiration dates. Files can be stored on local disk, AWS S3 (global or per-variant), or served from a direct external URL — with optional CDN delivery. Customers access their downloads from the order confirmation email or from their account dashboard.
Route: GET /downloads/{orderDetail}/{token} Every download link is unique to a specific order line item and is protected by a UUID token. To successfully download a file, all three of the following conditions must be satisfied:

Permitted Order Statuses

Downloads are only served for orders in the following status codes:
Orders in any other status (e.g., pending, refunded, or cancelled) will return an access-denied response.
If a customer’s order is in a non-permitted status and they attempt to download using a previously valid link, they will see an access error. Admins can manually update order status to restore access.

Dynamic File Versioning

The download controller always resolves the file from the currently active ProductVariant record — not from a snapshot taken at the time of purchase.This means if you update or replace the download file on a product variant, all future downloads for past orders will deliver the updated file automatically. No order modifications or re-issuance of links is needed.
This design ensures customers always receive the latest version of a digital product (e.g., a software update, a revised PDF, or a new audio master) without any manual intervention.

Email Download Buttons

Customers receive download access through two email types:
  1. Order Confirmation Email — sent automatically after a successful purchase; includes a secure download button for each digital line item
  2. Download Reminder Email — an admin-triggered email (sent from the order management view) that includes fresh secure download buttons
Both email types generate download URLs using the same token-gated route, subject to the same expiration and counter limits.

Customer Downloads Dashboard

Customers can view and manage all their digital purchases from their account: Route: /dashboard?tab=downloads The Downloads tab displays a table of all digital items across all orders, showing:
The download button is automatically disabled (and clearly labelled) when either of the following is true:
  • The expiration date has passed
  • The remaining download count has reached zero

Admin Configuration

Variant-Level Download Settings

Download limits are configured per product variant in the product editor: Admin → Products → Edit → Prices & Variants → [Select Variant]
Limits are captured at the time of purchase.The expiration date and max download count are copied into the order record when the customer checks out. Subsequent changes to these values on the variant do not retroactively affect existing orders — only new purchases will use the updated limits.

Storage Modes

Site Store Pro supports four storage backends for download files. The active mode is configured per variant:
Files are saved to the public disk under the storage/ directory on the server running Site Store Pro.Best for: Small stores, single-server deployments, or development environments.Consideration: Files are not automatically replicated. Ensure your server has adequate disk space and backup coverage.
Files are saved to the AWS S3 bucket defined in your .env file. All variants using this mode share the same bucket and credentials.Best for: Most production deployments. Scalable, durable, and CDN-compatible.Required .env keys:
Each variant can specify its own S3 bucket, region, and access credentials. This is useful for multi-vendor stores, compliance requirements, or when distributing files across multiple AWS accounts.Configured directly on the variant record — overrides the global S3 settings for that specific file.
Select the External URL source option on the variant. The stored path is treated as a raw URL and served directly, without going through Site Store Pro’s storage layer.Best for: Files hosted on external CDNs, third-party platforms, or pre-signed URLs managed outside Site Store Pro.Consideration: Site Store Pro has no visibility into whether the external URL is available. Ensure the external resource is reliably hosted.

CDN Support

Site Store Pro supports CDN URL rewriting at two levels: Per-variant CDN overrides take precedence over the global CDN_URL. This allows you to serve most downloads from a shared CloudFront distribution while routing specific high-traffic assets through a dedicated Cloudflare zone.

Admin Upload Guards

Site Store Pro enforces two server-side guards when saving a downloadable variant:
1

File Presence Check

A variant marked as a Downloadable Item must have a file uploaded (or a valid pre-existing storage location) before the variant can be saved. Attempting to save without a file returns a validation error.
2

Filesystem Write Verification

After upload, Site Store Pro verifies the file was successfully written to the configured storage location. If the check fails (e.g., due to a permissions error, full disk, or S3 misconfiguration), the entire variant creation is rolled back — no partial records are saved.
If variant creation is rolled back due to a storage failure, the admin will see an error message. Check your storage configuration (disk permissions for local, IAM permissions for S3) and retry. The product itself is not affected — only the failed variant is rolled back.

Quick Reference

Download Route

GET /downloads/{orderDetail}/{token}

Customer Dashboard

/dashboard?tab=downloads

Permitted Order Statuses

[1, 2, 5, 7, 8]

Default Limits

Expiry: 1 year · Max downloads: 100