Anyone selling SketchUp extensions via Paddle? (Gumroad Alternative & Webhooks)

Hello,

Has anyone sold a SketchUp extension using Paddle? If anyone has used this platform, I would like to hear about your experiences. I am looking for a solid Gumroad alternative.

My plugin has its own licensing server. I want to generate licenses via webhooks through Paddle.

I am planning to sell it directly on my own website rather than through the Extension Warehouse, though I might just add it there as a listing page.

I don’t sell plugins but Skatter by Lindale is sold on Paddle. I also have a few flying apps that I’ve bought on Paddle.

I have just reviewed it. Thank you for your answer.

I am researching how they might have integrated the payment system into their own website. It seems a payment API is being pulled through Paddle’s own sandbox tool.

I used to sell on Gumroad but I moved to Lemon Squeezy 2 years ago. Now I sell all my extensions on Lemon Squeezy. Rated 5/5 stars.

@Cyentruk May I ask if you are using RubyEncoder for encryption? If so, does Lemon Squeezy then handle all of the licensing?

@euphraetes it looks like you have moved on from Gumroad. I’m looking for the simplest setup I can put together. Did you look for an alternative to them because they don’t work well with your licensing server? Could you advise on a basic setup: is something like RubyEncoder + Gumroad (or Lemon Squeezy/PDP/Paddle etc.) a realistic simple setup?

Or is it better to bite the bullet and set up a server?

@Cyentruk I moved away from Gumroad primarily because I wanted more control over the API integrations and better fee structures. I heard the rumours that Lemon Squeezy is bought by Stripe and is joining to their ecosystem soon. Which is forbidden in my country :face_with_head_bandage:

@3DxJFD I already ate the bullet :slightly_smiling_face: and set up my own custom licensing backend. I use a fast, lightweight SQL database to handle the licensing logic. Trying to figure out how Paddle handles the checkout and webhooks, while my custom database handles the actual license validation, activation, and tracking requests coming from the plugin.

Thanks for this. If I may, would you advise it? I realize control can equal more freedom to set things up as one wishes. But it can, conversely, be a work trap. Would you advise against a division of labor that hands off licensing (and payments) due to pitfalls you’re aware of? Not trying to be nebulous or distract from your topic, but I’ve been concerned lately about being sucked into a vortex on the one side, or being trapped in a black hole on the other, so the insights and experiences of others is particularly valuable to me at this time. Thanks again.

To be completely honest, I am right in the middle of that ‘vortex’ you mentioned right now. I have zero prior experience with server management. Its my first server, so it’s a bit too early for me to advise for or against it. It is definitely a steep learning curve, but I’ll let you know if it was worth the headache once I actually get it running.

Ah. It doesn’t necessarily sound like setup is that bad from what I’ve read. Any reports from the other side of the meat grinder would be much appreciated!

Reporting back, as promised.

It’s running. I built it on Cloudflare (Workers + D1 + R2), and it now handles the licensing for my Shelf extension — checkout, licence, activation, seats.

The surprise: the server was never the hard part. There is no machine to patch and no uptime to babysit, and at my volume it costs close to nothing. If server management is what’s putting you off, that fear is out of date.

What actually cost me days was the seam between the payment provider and my own database. Those failures never threw an error — every log looked healthy while nothing reached the customer. So: test every link in that chain, including the boring ones, and check that deliberately breaking a step actually turns something red.

Thanks for the update and congratulations on getting up and running. It looks like Shelf is a twist on a shared component library. It seems -not sure- you host shelves and so using ‘server stuff’ may have been required for your broader project scope. Not just licensing.

The info tidbits here are helpful. For my part, I’ll be digging in more later this week. I’m going to start with a more spoon-fed approach :slight_smile: Fewer links in the chain to break!

Thanks! You’ve got the right idea with the spoon-fed approach. Keeping the chain short and minimizing those silent failure points is definitely the smartest way to start.

Good luck :slightly_smiling_face: :face_with_head_bandage:

Please note (from SketchUp Extension Warehouse):
"We prefer to not use Listing Pages as they do not provide as seamless of a user experience as regular hosted extensions

There are limited reasons that we allow Listing Pages. Typically this includes extensions where:

  • The extension is packaged in a executable installer.
  • The licensing model for the extension is not supported by Extension Warehouse (subscription licensing for example).
  • Other technical reasons."

Thanks Daniel, that’s a fair correction.

In my case it turned out to be straightforward: the licensing is a subscription validated against my own server, which is one of the cases they list, so a listing page was the route they pointed me to. The extension is downloaded from my own site.

Worth noting for anyone reading later: with a listing page you also give up the Warehouse update mechanism, so you need your own way of telling users a new version exists. I built that into the plugin itself.