Webhook is not triggered when payment fails

So, we’ve been using webhooks for a while now, but it turns out that Patreon isn’t triggering any webhooks when a Patron for example has their card declined and thereby loses their subscription status, which is… frustrating. It causes our local database of active subscribers to quickly go out of sync with Patreon, and it doesn’t seem like there’s any remedy to this, short of manually syncing the whole Patreon campaign membership list to our database regularly. Which sucks. And is broken, too. (see API currently entitled tiers returning incorrect data - #2 by bra1n)
Does anyone have any ideas how to fix this? It also seems like not all tier upgrades / downgrades are caught through webhooks, either.

1 Like

Pledge status changing should trigger a hook. Try to ensure that your webhooks did not get stopped at patreon.com

We’re getting at least a dozen webhook calls from Patreon per day, all of them go through successfully. It’s just that these payment declines, etc. don’t trigger a webhook. Not sure what you meant with “stopped at patreon.com”, but we have subscribed to all the relevant events:

Declines normally shouldnt trigger a webhook as payments are retried over the course of 3 days grace period, multiple declines can happen and if declines were sent, you would be receiving multiple declines until the payment succeeded.

Arent you receiving a webhook when member’s status changes? Couldnt you use that instead?

No, that is not the case. I can easily DM you several Patrons from our campaign that had their payment decline and their status change to “Declined member” for which we never received a webhook update, with the above selection. A similar thing happens when a Patron downgrades their pledge - this does not always trigger a webhook either and we’re left with members in our database that have the wrong pledge level.

Do you get webhooks when those declined patrons’ statuses turn to canceled or former patrons?

No, we do not. I’ve checked again and I can DM you a Patron that had their payment decline on Oct 30th and did not trigger any webhooks 3 days later (or at any other point), when supposedly you would stop trying to charge the payment again. In our database, they are now still listed as an active subscriber, even though they are a “declined member” on Patreon itself. This is really frustrating, since we regularly have to run maintenance scripts to find issues like these, and with 3000 subscribers this is not a quick job.

I’m having the same issue for a few years :upside_down_face: .
Patrons are upgraded fine, some are also downgraded fine.

But looking at my user-management screen, there is a lot of “Former” and “Declined”, which were never downgraded in my DB, so either there was no hook, or it came with wrong data, or I failed to process it correctly.

BTW, there were two cases in the past month where I had to upgrade user manually, like if I missed also the upgrade hook, which almost never happened before.

1 Like

Yeah, it (rarely) happens with upgrades not triggering the update hook as well. Most of our problems come from (involuntary) downgrades not being passed through the webhook though, like declined payments. It’s been a problem for years now.

Does patreon.com currently show that member’s status as former patron or canceled? Or is the patron still shown as active?

I’m sorry for barging in, quick question about that, for example, this “Former member”:


Is he expired?
If so, why does it show a €2 tier under “Current Tier”? Shouldn’t that be “Free”?

Patreon lists them as “declined member” / status “declined”.

It’s been more than 2 weeks and the problems are still persisting. Why are the Patreon Webhooks so terribly supported and buggy?

1 Like

This looks like an issue at the site patreon.com. If it appears at the site like this, it would also appear in the api like this. For this, you would need to open a support ticket at Patreon help desk and give this information (and all the screenshots etc) you have. But leave out all the api related stuff as it relates to the site.

What about my issues?

What you reported relates to patreon.com and not the api. So you should open a support ticket at Patreon help desk and tell them that this issue is happening at the site patreon.com.

How does not triggering the webhook when a patreon status changes NOT relate to the API? Matter of fact, I already opened a support ticket at the Patreon help desk and was told that they were unable to help me and that I should post here. The website shows the status correctly, while the lack of a webhook trigger is clearly an API issue.

I think you said that the patron’s status at patreon.com was incorrect?

Patreon lists them as “declined member” / status “declined”.

What is the exact situation here, patreon.com shows the status of the patron correctly, but the webhook doesnt trigger, or patreon.com shows the status of the patron incorrectly?

No, I said that the status update from “active” to “declined” on Patreon.com was not causing a webhook trigger like it should, meaning our local user database quickly got out of sync with Patreon. The lack of the webhook trigger for an active member that has their payment decline and then turn into a declined member is the problem. Patreon itself is showing the correct member status throughout this process, but our server is not notified of this particular status change for members that apparently have their payment decline.