Multiple Webhook URLs With Paddle

Paddle.com is a convenient service that handles customer payments for you. They take care of VAT, card charge retries and currency conversions. And to help you manage your user accounts they fire off a webhook whenever an event, such as card payment declined, occurs.

Sounds great, except for the fact that they allow you to specify just one webhook URL. What if your company has multiple products running on different servers? You can set up different subscriptions but only configure one webhook URL for them. And what if your affiliate management service asks you to direct the webhook events to them? Will you have to switch your app to polling?

Annoying, especially given the circumstances under which the company was founded:

Christian founds Paddle from his bedroom in Corby, United Kingdom (the glamour!), he is 18, and this is his third business. As a software and app developer he encountered the frustrations of selling software globally and decided to do something about it.

Solution

Because I use Paddle for two different products I needed a solution, even if it was hacky.

After reaching out to support and hunting for an answer on the internet I believe that the best way to use Paddle for multiple products is to run a webhook demultiplexer. Luckily, with Go the job is easy, and with Google AppEngine you can run it for free.

I’ve open sourced my Paddle Demultiplexer project on GitHub.

See also