Moonbase Adventure

Black-and-white cartoon of a moonbase music shop selling synthesisers and instruments, with astronauts browsing gear under a starry lunar sky.

I was first introduced to Moonbase by their co-founder, Tobias, over a year ago and I’ve been set on switching my web store at Libre Wave to it ever since.

Moonbase describes itself as an operating system for audio software companies. They provide payment processing, global tax handling, file hosting, and product, licence, and customer management, along with marketing tools and many other features.

For 15 years I’ve used my own system built from a mish-mash of WordPress, WooCommerce, PayPal, Stripe, Amazon, and a bunch of other WordPress plugins and server-side scripts. But Moonbase appeals to me for three main reasons:

  1. Simplicity: Almost everything I’m doing currently is spread across an inconsistent web of dependencies. From payment processing, to customer management and delivery. Switching to Moonbase is going to bring all of this under a single system, greatly reducing my admin burden and increasing operational reliability.
  2. Reduced Cost: WordPress plugins, payment handling, file storage, etc. all add up. Having a big chunk of my requirements handled by Moonbase at the prices they charge is going to reduce my overheads considerably.
  3. Tax Handling: As software developers we are able to sell to a global market easily, but this comes with a heavy admin burden, sales tax. Each country has their own unique requirements, and trying to stay on top of all the paperwork and changing rules is a huge time sink – and expensive if you make a mistake.

    There are services we can use to make it a little easier, but they’re expensive and often still require us to register with multiple countries and make our own tax filings. Moonbase is a Merchant of Record which means they take care of all the sales tax collection and remittance for us, making sure we’re fully compliant no matter where our customers are based.

Integration

At the time of writing I’ve started taking steps to transition to Moonbase. Currently I’m setting up a new website to work out the integration. My original plan was to use a static website built with Hugo or similar, but after looking into it I’m too lazy to learn a new system.

So I’m sticking with WordPress and WooCommerce, but just for the product management and catalog display – all the payment processing, checkout, cart handling, and user accounts are taken care of by Moonbase.

I opted to use Moonbase’s embedded storefront. This is a single script I drop into my site’s header to make all the features available. It includes a few options for customising the layout and colours too. Alternatively, they provide a WordPress plugin so you don’t need to add the script yourself.

If you need complete customisation then you can create your own storefront and link it to Moonbase using their APIs, but that’s a lot more work.

In WooCommerce I set my products to be external, and I add a link for each one that uses the Moonbase add to cart url along with the Moonbase product ID. I’ve added a cart icon to the website header which pulls in the items-in-cart count from Moonbase and when clicked triggers the Moonbase show cart action. I’ve also added a user account button which triggers the Moonbase user account action.

The biggest challenge was adding listeners for Moonbase’s webhooks so that when an order is placed it feeds the data back to my CRM. This is not required to use Moonbase, it’s just something I wanted to incorporate into my site. The process involved adding end points via PHP and telling Moonbase where to send the order data. Once the data arrives at my PHP script I parse it and store it in a database.

It required only a little bit of scripting, which I added to the site using a Code Snippets plugin. The Moonbase documentation is easy to follow and, with a little help from ChatGPT, I was able to get things working in just a few hours.

If you’re not much of a coder and want to do something similar you can use services like n8n to wire up webhooks using a graphical node based interface.

Moonbase plans to add their own marketing automation features so perhaps in the future I won’t even need to manage my own CRM.

Licensing

I also experimented with Moonbase’s licensing system, it’s not a feature I plan to use in my plugins but it was interesting to see how it worked. From a customer’s point-of-view it’s really simple: When they run your plugin it will popup a licensing window, they click a button which opens a web browser, and once they’ve logged in to their account the plugin is active. They don’t have to mess around with serial keys or complicated activation procedures.

Moonbase provides a JUCE module that adds the activation overlay to your plugin. It’s pretty straightforward to integrate but does require working in C++. If you’re building projects with HISE then there is good news on the horizon, Christoph plans to add native integration with Moonbase to make the process seamless.

In addition to their own licensing system, Moonbase can issue traditional serial keys with each order – either auto-generated or from a list you upload. This is perfect if all you need is a simple serial based activator. Moonbase also announced support for native integration with iLok as another licensing option.

Summary

I’m really looking forward to relaunching Libre Wave backed by Moonbase. It’s going to make my business processes a lot simpler and improve the shopping experience for my customers.

I’m also keen to see what marketing automation goodies they bring us. Working with webhooks and my own CRM is fine but having a fully integrated system with all the data in one place will be better.

If you’re planning to create a website for selling you audio software I highly recommend you consider Moonbase.

Leave a comment below and let me know what you think about Moonbase, is it a platform you’d use?

Leave a Reply

Your email address will not be published. Required fields are marked *

Loading...