=== FileSpark – Sell Digital Downloads & Products ===
Contributors: nickduncan, dylanauty, codecabin_
Donate link: https://codecabin.io
Tags: digital downloads, ecommerce, e-commerce, sell digital products, stripe
Requires at least: 6.2
Tested up to: 7.0
Stable tag: 1.0.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Sell digital products and downloads from WordPress. Stripe payments, secure file delivery, order management, and more. No monthly fees.

== Description ==

FileSpark is the modern WordPress eCommerce plugin built specifically for selling digital products and digital downloads. Whether you're a creator, developer, designer, or small business selling files online, FileSpark gives you everything you need to get started, with no monthly fees, no listing fees, and no limits on products or transactions.

**Install, connect Stripe in one click, add a product, and sell.** Most stores are live within minutes of activating the plugin.

Sell ebooks, PDFs, software, WordPress plugins, themes, templates, music, audio, photography, video, courses, or any other digital file. FileSpark handles the cart, checkout, payment processing, secure download delivery, and customer management so you can focus on what you create.

= What Can You Sell with FileSpark? =

FileSpark supports any file type. Upload your files to WordPress and FileSpark handles secure delivery:

* **Ebooks & publications** (.pdf, .epub, .mobi): sell digital books, guides, and reports
* **Software & plugins** (.zip, .exe): sell WordPress plugins, themes, scripts, and desktop applications
* **Templates & design files** (.psd, .ai, .sketch, .fig): sell UI kits, design templates, and graphic assets
* **Music & audio** (.mp3, .wav, .flac): sell individual tracks, albums, beats, and sound packs
* **Photography & digital art** (.jpg, .png, .svg): sell stock photos, illustrations, and image collections
* **Video** (.mp4, .mov): sell courses, tutorials, and downloadable films
* **Documents & spreadsheets** (.docx, .xlsx): sell planners, forms, business templates, and worksheets
* **Any other digital file**: if it can be downloaded, FileSpark can sell it

= Free Features =

**Sell digital products**

* Unlimited products with no cap on how many digital products or files you can list
* Multiple files per product: attach as many downloadable files to each product as needed
* Free / zero-price products: offer free downloads and lead magnets; buyer email is captured even on $0 orders
* Product categories and tags: organise your catalog and let buyers filter by category on the product grid
* Per-product buy button label, download limit, download expiry, and refund policy

**Payments**

* Stripe Connect: accept credit cards, Apple Pay, and Google Pay via one-click OAuth with no manual API key setup
* Stripe Checkout: Stripe's hosted payment page handles 3DS authentication, card validation, and PCI compliance entirely on their infrastructure
* Test mode: run your complete checkout and payment flow against Stripe's test environment before going live
* Free product fast-path: $0.00 products skip Stripe entirely and complete immediately

**Secure file delivery**

* Tokenised download links: every purchase generates a unique, cryptographically random URL; direct file paths are never exposed to buyers
* Download expiry: set how long download links remain active, per-product or globally
* Download limits: cap how many times a file can be downloaded per purchase
* Download audit log: records every download attempt by customer, IP address, date, and user agent

**Orders & customers**

* Order management: view, filter, search, and manage every order from a dedicated admin screen
* Status controls: update order status manually, resend purchase receipts, and print or save PDF receipts
* Customer tracking: automatic customer records per purchase; view order history, total spend, and download history per customer
* Guest checkout: no WordPress account required; buyers complete checkout with just name and email
* Customer account page: logged-in buyers view orders, re-download files, and manage their profile via `[filespark_account]`

**Coupons & discounts**

* Flat-amount and percentage discount codes with optional expiry dates
* Enable, disable, and monitor usage from the coupon admin screen

**Emails**

* Purchase receipt automatically emailed to the buyer on every completed order
* New sale notification emailed to the admin on every sale
* Configurable from name, from address, receipt subject line, and email footer

**Reporting**

* Revenue and order summary for today, this week, this month, and this year
* Top products by revenue for each period
* Revenue chart with period-over-period comparison

**Blocks, widgets & shortcodes**

* Gutenberg blocks: every FileSpark shortcode is available as a native Gutenberg block with no coding required
* Elementor widgets: full Elementor widget support for all FileSpark features
* Shortcodes: `[filespark_products]`, `[filespark_purchase_link]`, `[filespark_cart]`, `[filespark_checkout]`, `[filespark_purchase_history]`, `[filespark_account]`, and more

**SEO & compatibility**

* Products are WordPress custom post types, with full compatibility with Yoast SEO and RankMath; proper canonical URLs, Open Graph, and Schema.org Product markup out of the box
* Works with any WordPress theme: FileSpark renders product pages through your theme's template hierarchy with no theme modification required
* Data preserved on uninstall: products, orders, and customers are never deleted unless you explicitly request it via Settings → Danger Zone

= FileSpark Pro =

[FileSpark Pro](https://codecabin.io/store/file-spark-pro/) unlocks a complete eCommerce suite for growing digital product businesses.

**More payment options**

* PayPal: accept PayPal payments alongside Stripe; many customers prefer or exclusively use PayPal
* FileSpark Wallet: store credit system; credit customers manually, accept wallet top-ups, and issue refunds as wallet balance

**Recurring revenue**

* Subscriptions via Stripe Billing: sell monthly and annual plans, access passes, and memberships
* Free trial periods and one-time setup fees per subscription product
* Customer self-service subscription management and cancellation from the account page
* Subscription lifecycle emails: renewal confirmations, trial-ending notices, and payment-failed alerts

**More ways to sell**

* Product variations: sell multiple tiers of the same product (e.g. Personal / Business / Agency license) with per-variation pricing and per-variation files
* Pay what you want: let buyers name their price above a minimum threshold
* Product bundles: package multiple products into a single purchase at a combined price
* Product raffles: sell raffle entries, draw a winner, and automatically refund non-winners

**For software & plugin developers**

* Software license keys: automatically generate and deliver a license key per purchase; activate, check, and deactivate site licenses via REST API
* Software update delivery: distribute plugin and theme updates to licensed customers without a third-party service
* Cloud file delivery: store and serve large files from Amazon S3 or Google Drive with time-limited signed download URLs

**Recover lost revenue**

* Abandoned cart recovery: automatically email customers who started checkout and didn't finish; industry average recovery rate is 5-15% of lost carts
* Loyalty program: customers earn points on every purchase, redeemable as a checkout discount
* Parity pricing: automatic regional price reductions based on purchasing power parity

**Advanced commerce**

* Multi-currency: sell in local currencies with automatic daily exchange rate updates from the ECB
* Advanced coupons: bulk code generation (up to 500 at once), BOGO rules, category-scoped discounts, minimum order amounts, and a codeless discount rule builder
* Content restriction: gate WordPress posts and pages behind specific product purchases
* Customer wishlists, product reviews, and star ratings
* Advanced analytics: customer lifetime value, refund rates, revenue by gateway and country, CSV export

**Better email & developer tools**

* Full visual email template editor: customise colours, layout, logo, and body for every transactional email
* Reliable email delivery via SendGrid or Amazon SES
* REST API with named bearer tokens and per-token scopes
* Outbound webhooks: push order and subscription events to Zapier, Make, or any HTTP endpoint
* AffiliateWP and FirstPromoter integration for affiliate-driven growth

[Get FileSpark Pro →](https://codecabin.io/store/file-spark-pro/)

= Built by CodeCabin =

FileSpark is built and maintained by [CodeCabin](https://codecabin.io), the team behind [WP Go Maps](https://wordpress.org/plugins/wp-google-maps/), one of the most popular WordPress plugins on the directory. We build for the long term: correct architecture, minimal footprint, regular updates, and genuine support.

= Documentation =

* [Getting started with FileSpark](https://codecabin.io/docs/filespark/)
* [Connecting Stripe](https://codecabin.io/docs/filespark/stripe/)
* [Adding your first product](https://codecabin.io/docs/filespark/products/)
* [Secure download delivery explained](https://codecabin.io/docs/filespark/file-delivery/)
* [Shortcodes reference](https://codecabin.io/docs/filespark/shortcodes/)
* [FileSpark Pro](https://codecabin.io/store/file-spark-pro/)

== Installation ==

= Automatic installation =

1. From your WordPress admin, go to **Plugins → Add New Plugin**
2. Search for **FileSpark**
3. Click **Install Now**, then **Activate**
4. Go to **FileSpark → Settings → Gateways** and connect your Stripe account via one-click OAuth
5. Visit **FileSpark → Products** and add your first digital product

= Manual installation =

1. Download the plugin zip from WordPress.org
2. Upload the `file-spark` folder to `/wp-content/plugins/`
3. Activate through the WordPress **Plugins** screen
4. Visit **FileSpark → Settings** to configure your store

= After activation =

FileSpark automatically creates your Cart, Checkout, Purchase Confirmation, and Account pages with the correct shortcodes pre-inserted. Connect your Stripe account, add a product, and place `[filespark_purchase_link product_id="X"]` on any page to start selling immediately.

== Frequently Asked Questions ==

= Is FileSpark free? =

Yes. The core plugin is free with no time limits, no product caps, and no transaction caps. FileSpark uses Stripe Connect for payment processing, which includes a 2% transaction charge on completed transactions. Upgrade to [FileSpark Pro](https://codecabin.io/store/file-spark-pro/) to add PayPal, recurring subscriptions, software licensing, abandoned cart recovery, and much more.

= Which payment gateways does FileSpark support? =

Stripe is included in the free plugin. FileSpark uses Stripe Checkout (Stripe's hosted payment page) which handles credit cards, Apple Pay, Google Pay, and 3DS authentication entirely on Stripe's infrastructure. No PCI compliance work is required on your site. PayPal is available with [FileSpark Pro](https://codecabin.io/store/file-spark-pro/).

= Can I sell ebooks, PDFs, and other digital downloads? =

Yes. FileSpark supports any file type. Upload your files to the WordPress media library, attach them to a product, and FileSpark generates secure tokenised download links for every purchase. Customers access their downloads from the purchase confirmation page and their account page.

= How does secure file delivery work? =

Every purchase generates a cryptographically random download token for each file in the order. Download links route through FileSpark's delivery endpoint, which validates the token, checks expiry and download limits, logs the event, and serves the file. Direct file paths are never exposed to buyers. Tokens cannot be guessed or enumerated.

= Can I offer free downloads without requiring payment? =

Yes. Products priced at $0.00 skip the payment gateway entirely. The order completes immediately without any Stripe interaction. Buyers still enter their name and email at checkout, giving you a record of every person who downloaded your free product.

= Is FileSpark a WooCommerce alternative for digital products? =

FileSpark is a purpose-built, lightweight alternative to WooCommerce for stores that sell only digital products and downloads. WooCommerce is a powerful solution for physical goods, but it carries complexity (shipping zones, inventory tracking, physical tax rules) that digital-only stores don't need. FileSpark is faster to configure, simpler to manage, and designed from the ground up around the digital download selling workflow.

= Does FileSpark work with Gutenberg, Elementor, and other page builders? =

Yes. Every FileSpark feature has a corresponding Gutenberg block and Elementor widget. Add a product grid, checkout form, cart, purchase history, or customer account page to any post using the block editor or Elementor. Any page builder that supports shortcodes works with the shortcode versions.

= Can I sell software and deliver license keys automatically? =

Software license key generation, automated delivery, and a validation REST API are available in [FileSpark Pro](https://codecabin.io/store/file-spark-pro/). Keys are generated on purchase, emailed to the customer in the receipt, and managed by admins from a dedicated Licenses screen. The API is compatible with standard WordPress plugin updater libraries.

= Does FileSpark support recurring subscriptions and memberships? =

Recurring subscriptions are available in [FileSpark Pro](https://codecabin.io/store/file-spark-pro/) via Stripe Billing. Sell monthly or annual plans with optional free trial periods. Customers can manage and cancel their subscriptions from the account page. Subscriptions work alongside one-time product purchases in the same store.

= Can I serve files from Amazon S3 or Google Drive? =

Cloud file delivery for Amazon S3 and Google Drive is available in [FileSpark Pro](https://codecabin.io/store/file-spark-pro/). Files are stored on your chosen provider and served via time-limited signed download URLs. The free plugin serves files from the WordPress media library.

= Will my data be deleted if I uninstall FileSpark? =

No. Your products, orders, customers, and download records are preserved when you deactivate or delete the plugin. To permanently remove all FileSpark data, use the **Destroy All Data** option under **FileSpark → Settings → Danger Zone**.

= Can I customise the purchase receipt email? =

In the free plugin you can configure the from name and address, customise the receipt subject line, and add a custom footer message to all emails. [FileSpark Pro](https://codecabin.io/store/file-spark-pro/) includes a full visual template editor where you can design the complete email layout, upload your logo, set brand colours, and customise every transactional email independently.

= Does FileSpark work with my existing WordPress theme? =

Yes. FileSpark integrates with any properly coded WordPress theme. Product pages resolve through your theme's standard template hierarchy; the theme renders the header, footer, and sidebar while FileSpark injects the product content via WordPress's content filter. No theme modification is required.

= How can I report a security vulnerability? =

Please report security issues to security@codecabin.io with a description of the problem and steps to reproduce. We review and respond to all security reports promptly.

== External Services ==

FileSpark connects to the following external services. Please review their terms and privacy policies before using the plugin.

= Stripe =

FileSpark uses Stripe (https://stripe.com) to process payments. The following data is transmitted to Stripe:

* **On checkout:** The order amount, currency, and customer email address are sent to Stripe's servers to create a payment session. FileSpark uses Stripe Checkout — Stripe's hosted payment page — so card details are entered directly on Stripe's infrastructure and are never transmitted through or stored on your WordPress site.
* **On setup:** Stripe's API is called to register a webhook endpoint so that Stripe can notify your site of payment events (e.g. completed charges, refunds).
* **On each transaction:** Gateway requests (charge creation, refund processing, etc.) are sent to the Stripe API at https://api.stripe.com.

Stripe is an opt-in service — no data is sent to Stripe until you connect your Stripe account. FileSpark operates as a Stripe Connect platform. A 2% transaction charge is applied to each completed transaction via Stripe's application_fee_amount mechanism and disclosed in FileSpark → Settings → Gateways.

* Stripe Terms of Service: https://stripe.com/legal/ssa
* Stripe Privacy Policy: https://stripe.com/privacy

= CodeCabin Stripe OAuth Proxy =

To connect your Stripe account securely, FileSpark uses an OAuth proxy hosted by CodeCabin at codecabin.io. Because storing Stripe OAuth credentials inside an open-source plugin would expose them publicly, the proxy holds those credentials server-side and facilitates the OAuth handshake on your behalf.

* **On connect:** When you click "Connect Stripe", your browser is redirected to the CodeCabin proxy (https://codecabin.io/filespark/stripe/oauth/init.php) with your chosen mode (live or test) and a return URL. The proxy completes the Stripe OAuth flow and redirects back to your site. No customer data is transmitted.
* **On disconnect:** When you disconnect your Stripe account, your site sends your Stripe Connect account ID and a verification signature to the proxy (https://codecabin.io/filespark/stripe/oauth/deauthorize.php). The proxy deauthorizes the account. No customer data is transmitted.

This proxy is only contacted by the store administrator during Stripe account setup or removal — it is never triggered by customer activity.

* CodeCabin Terms of Service: https://codecabin.io/terms.php
* CodeCabin Privacy Policy: https://codecabin.io/privacy.php

== Screenshots ==

1. FileSpark dashboard, with revenue summary, and account overview
2. Product editor, with title, description, files, pricing, image, categories, and download settings
3. Product listing example, as a post type, template can be controlled
4. Checkout screen, showcasing Stripe gateway
5. Order summary view, including file and client details
6. Coupon editor, allowing percentage or flat rate discounts

== Changelog ==

= 1.0.0 =
* Initial release: sell digital products and downloads from WordPress with Stripe Checkout, secure tokenised file delivery, cart and checkout, order management, customer tracking, coupon codes, automated purchase emails, earnings reporting, Gutenberg blocks, and Elementor widgets

== Upgrade Notice ==

= 1.0.0 =
Welcome to FileSpark! Activate the plugin, connect Stripe, and start selling digital products from your WordPress site today.
