Some weeks ago we released support for webhooks. You can create multiple webhooks per schema and all your changes will be sent to the endpoint you have defined. It kind of worked but we realized that it was not very nice to work with. We tried to make it easy by providing some statistics and the last request dump, but it was not enough.
I also worked with https://www.chargebee.com/ to integrate subscription management to our cloud version and I am still so impressed by this tool. It is very easy to use and the documentation is good. We use webhooks to listen to the changes of subscriptions and it so easy to work with. You get a list of all the events that will or have been sent to your application and you can resend them when with a single click. So I decided to just copy their system:
Instead of just sending the events to the endpoints we add them to a queue now. Another worker is picking them up to send them out. Also the last dump is stored. If the request fails the time for the next attempt is calculated and the worker will pick up the event later again. We try to resend the event after 5 minutes, 1 hour, 6 hours and 12 hours. And of course we made an UI for that:
We hope that is much easier now to work with webhooks. Feedback is welcome.