# WooCommerce / Ghost

Sell a file or a membership you host. WooCommerce is the GPL shop for downloads; Ghost is MIT paid publications.

**Replaces:** Gumroad

**Tier:** Easy

## Problem

Gumroad takes a cut of every sale and holds the file. You wanted a checkout, a download, and a list you can export. WooCommerce (GPL) sells digital goods on WordPress. Ghost memberships cover a paid newsletter or course without a marketplace take-rate. You still pay Stripe or PayPal — that is the card network, not a storefront tax.

## Stack

- [WooCommerce](https://woocommerce.com) — GPL shop; digital downloads on WordPress
- [Ghost](https://ghost.org) — MIT publishing plus paid memberships

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| Gumroad take-rate (small creator) | $1,200 | WooCommerce or Ghost + Stripe |

**About $1,200 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: WooCommerce + MySQL for downloads, or Ghost + MySQL for memberships. SMTP via Resend. Shopify-shaped stores stay on /stacks/medusa-commerce.

[Start on Railway](https://c17.io/go/railway/woocommerce-digital?from=%2Fstacks%2Fwoocommerce-digital.md)

[Medusa if this is a full store, not a file or membership](https://c17.io/stacks/medusa-commerce)

## AGENT_PROMPT

```
Replace Gumroad with WooCommerce (digital downloads) or Ghost (paid memberships).

- WooCommerce: WordPress + MySQL + a volume for files. Ghost: MySQL, members, Resend on send.
- One product, one test purchase, one download or member login. You still use Stripe or PayPal.
- Write AGENT_PROMPT.md. Do not promise Gumroad Discover or merchant-of-record tax handling you have not rebuilt.
```

## FAQ

### WooCommerce or Ghost?

WooCommerce if you sell a file, a license, or a bundle. Ghost if the product is a paid publication. A full storefront is /replace/shopify.

### Who handles sales tax?

Gumroad is a merchant of record. Self-hosting is not. Stripe Tax or your accountant covers that — do not pretend the CMS does.

Source: https://c17.io/stacks/woocommerce-digital
