What if it takes a long time to process the callback? Some servers don't handle this well by default and you have to customise to make it work.
I use Django with Procrastinate which uses Postgres for the task backend. Took a while to find the right Django setup, but it works like a dream.