A secure, self-hosted store with tamper-proof payments, automated email delivery, and a built-in
admin panel — configured with a single
.env file.
Everything You Need
No plugins, no subscriptions, no third-party SaaS. Just your store, your files, your revenue.
Run a full Shop with a browsable catalog and
admin panel, or switch to Single Product mode
for a focused, distraction-free sales page. Flip between them in your
.env
file.
Add, edit, and remove products through a clean dashboard. Changes appear instantly — no page reload needed.
Prices are always read from your database on the server — never from the browser. Buyers cannot manipulate what they pay.
Files are never publicly accessible. Every link is tied to a verified purchase and is single-use only. Customers can re-verify on the Redownload page.
Customers get a receipt the moment their purchase is confirmed — with order details and a redownload link. Works with local mail or any SMTP provider.
Products priced at $0.00 skip payment entirely and go straight to the download page. Offer free and paid products side by side.
Lightweight SQLite database created automatically on first run. No external database server or configuration needed.
Each transaction records the product name and price at the time of purchase. Renaming or repricing a product never alters historical order records.
Manage products and test email from the terminal. Supports guided prompts or quick one-liners.
Security First
Every surface that could be abused is protected. You shouldn't have to think about it — and with DigitalShelf, you don't.
The amount PayPal collected is checked against your database before any purchase is confirmed. Browser manipulation is impossible.
Files are stored outside the public directory. They're only served after the store confirms a valid, verified purchase exists.
Download access is revoked the moment a file is served. The same link cannot be reused. Customers re-verify via Transaction ID or email.
Admin login is rate-limited per IP. By default, 5 failed attempts within 15 minutes
triggers a lockout. Fully configurable via
.env.
Dead Simple Setup
No complicated infrastructure. One config file and you're ready to take payments.
Generate your API credentials from your PayPal Business dashboard and drop them into
your
.env
file.
Set your store name, mode, admin password, SMTP settings, and pagination — all in one place.
Use the admin panel in your browser, or the CLI for terminal lovers. The database is created automatically.
Self-host your own digital product store with full control over your files, payments, and customer data.