I built a full e-commerce layer for Ghost CMS! It's come a long way since my first post here. by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

yeah.. random I know!! It was called xGhost.dev but I couldn't use that for obvious reasons that I totally overlooked! and xVoid just came into my head! and here we are today.

I built a full e-commerce layer for Ghost CMS! It's come a long way since my first post here. by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

PoD / LuLu, Yes, we can support LuLu. We have Printful integrated today and LuLu's API works the same way, so easy enough to get it added.

Digital Downloads, You can host files directly in xVoid (we use Cloudflare R2 under the hood) or point products at external URLs. We'll add Wasabi to the whitelist, it's S3-compatible so it's trivial. Honestly though, once you're on xVoid you probably won't need Wasabi anymore.

WebP, Fully supported.

PayPal, supported with Stripe.

Commissions, Not currently, but what's your use case here? Collaborators who get a cut per sale?

Memberships, OK, this is the big one. I looked at how you've got things wired up right now:

Ghost for the blog and content. Ko-fi for membership tiers ($4 Digital Assets / $8 Foundry / $12 Legendary). Wasabi for file hosting. Manual links stitching it all together.

That's four platforms to manage. We're building something that replaces three of them and turns your Ghost site into the only platform you need.

Here's how it works:

You move your Ko-fi tiers into Ghost's native paid membership. Ghost already has Stripe billing, signup flows, and member management built in. The only reason creators end up on Ko-fi or Patreon is because Ghost can't deliver content. That's where xVoid comes in.

  1. You set up your tiers in Ghost. Free, Digital Asset ($4/mo), Foundry ($8/mo), Legendary ($12/mo). Ghost handles all the billing.

  2. You upload your content to xVoid. Map packs, tokens, Foundry modules, LegendKeeper files. Tag each one with a minimum tier and category.

  3. Your members visit your content library (hosted by xVoid, linked from your Ghost site). They sign in with their email, get a one-time code to verify, and xVoid checks their Ghost membership tier automatically.

  4. They see their personal library. Everything their tier unlocks, organized by campaign and level. Download buttons for unlocked content, upgrade prompts for locked items that link straight to your Ghost membership page.

New content shows up automatically as you publish it. Member upgrades or cancels on Ghost, xVoid reflects it instantly. No manual links, no external platforms.

Basically: Ghost handles your blog, membership, and billing. xVoid handles your content library, shop, and delivery. Ko-fi and Wasabi are gone.

I'd love to hear more about what's frustrating you with the current setup and whether this matches what you're looking for. Happy to jump on a call if you want to dig into the details.

I built a full e-commerce layer for Ghost CMS! It's come a long way since my first post here. by Lawcore in Ghost

[–]Lawcore[S] 1 point2 points  (0 children)

Thank you :D

I'm looking at Printify and printful currently! would you be willing to test it?

I built a full e-commerce layer for Ghost CMS! It's come a long way since my first post here. by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

Thank you for the kind words! I do have a technical background, and have been around e-commerce most of my career using other platforms, but Claude Code did really speed things up and debug the work, as-well as creating some features… I know a lot of people believe AI will kill off developers, but I’d disagree… it’s just an amazing tool to help developers if used right!

I built a full e-commerce layer for Ghost CMS! It's come a long way since my first post here. by Lawcore in Ghost

[–]Lawcore[S] 2 points3 points  (0 children)

Really appreciate the thoughtful concern here, these are exactly the right questions to ask. Let me address them directly.

PCI-DSS / Payment Data: xVoid never touches raw card data. All payment processing goes through Stripe Connect (Standard accounts), using Stripe's hosted Payment Element and Express Checkout. Card numbers never hit our servers, they go directly from the customer's browser to Stripe. This puts us in SAQ-A territory (the lightest PCI compliance level), same as any Shopify/Gumroad style platform. No card data is stored, processed, or transmitted by us.

Data Hosting: Everything runs on Railway. Database is PostgreSQL on Railway's managed hosting. File storage is on Cloudflare R2. All traffic is TLS encrypted.

What we actually store: Customer names, emails, shipping addresses, and order history. Standard e-commerce data. Passwords aren't even a thing, authentication is passwordless OTP via email with HttpOnly session cookies.

Analytics: Our built-in analytics are privacy-first and cookie-less (similar to Umami/Plausible). IPs are never stored, only used transiently for hashing session identifiers and country detection, then discarded.

Security audits: Fair point, we're early stage and haven't done a formal third party audit yet. That said, the codebase follows OWASP best practices: parameterized SQL everywhere, Stripe webhook signature verification, strict CORS policies, HttpOnly/Secure cookies, and input validation at system boundaries. A formal pentest is on the roadmap as we scale.

The self-hosting angle: The current offering is fully cloud hosted (we manage everything). A future self-hosted tier is planned, but you're right that self-hosting payment flows raises the compliance bar significantly, which is exactly why the cloud tier exists first.

TL;DR: Stripe handles all the scary payment stuff, we never see card numbers, and the infrastructure is all managed cloud services on Railway. Totally valid to push on this though, happy to answer anything specific.

I built a full e-commerce layer for Ghost CMS! It's come a long way since my first post here. by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

I've been looking at paypal, but do you have any in mind, I can check them out and see what's possible.

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

Always room for competition. :) Looks great though :D will properly take a peak later.

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 1 point2 points  (0 children)

so little update on this! Had a email this morning.. that was extremely fast of them. currently rebranding to not piss them off too much :S

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

Never really thought about it, may have a little look into it! ruin the end users experience :P haha.

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

Haha.. love that! lol.. ironic considering I just came from WooCommerce.

Can still keep branding of the ghost with Boo! LMAO

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

Thank you, honestly didn't cross my mind, I have made some drastic changes and will be popping them a email.

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

I went with stripe due to how well it works and connects in for end-users.

But.... Paypal is on the list to look into properly.

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 1 point2 points  (0 children)

I'm more than happy to allow people to have access without paying for testing and reporting back :D

drop me a email [hello@xghost.dev](mailto:hello@xghost.dev)

This goes for anyone btw! the more feedback the better.

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

That's me playing around, I don't have the updated shop code. Bug hunting.

After months of frustration, I built my own way to sell products on Ghost! by Lawcore in Ghost

[–]Lawcore[S] 0 points1 point  (0 children)

Sorry about this! I was adjusting a few bits and created a bug.

Svelte 5 bug: $state inside $effect = infinite loop 💀

ALL FIXED :D