Hey there,
it seems like Patreon decided to add gifted subscriptions, which is great! However, they again dropped the ball when it comes to their API. Getting a gifted subscription will neither trigger a pledge create / update webhook, nor will the gift expiration be included anywhere on the API level.
I can retrieve whether a member is currently an active Patreon and whether they have used a gifted sub, however there is NO data anywhere in the API as to how long their gifted subscription lasts.
For example, someone with a 2 month gifted sub looks like this in the API:
As you can see, next_charge_date is NULL and so is pledge_cadence - meaning I have literally no idea how to figure out when their access expires. For a company that rakes in hundreds of thousands of USD every month from their creators, this is beyond embarrassing.
currently_entitled_amount_cents should be a bug, you can put a support ticket at Patreon help desk to tell them that you want it implemented.
That only returns the current tier that the subscriber has, but not for how long or since when.
That shouldnt be a problem - if you just keep checking that field whenever the user will access his reward, then you can withhold the reward when the user’s entitlement no longer shows in that field.
I have tried opening tickets for bugs in their API before and have been redirected here. Their support is unable to help with issues with their API.
This is not a realistic solution, as I can’t be expected to query the Patreon API every time the user does something on our end - we’re providing an online game with thousands of users and I can’t realistically query the Patreon API every single time someone uses their pledge tier reward.
What a sad affair this whole Patreon API is…
Glad to find this. I’m experiencing exactly the same issue - a subscriber bought a subscription as a gift for his son, and it’s not showing up in the API. It’s pretty clearly a bug.
No, gift subscriptions DON’T trigger the standard pledge create/update webhooks, and you won’t be able to figure out the gift duration at all, from anywhere else in the API.
Bumping this topic to add more urgency to it. This is a problem for our Patreon membership integration which means we are unable to support gifted subscriptions in any reasonable way.
Bump! This seems like a serious flaw in the API / webhook system. It would be too easy to have gifted patrons get missed in the features unlocked to them.
Unfortunately, Patreon support has been neglecting any API-related tickets for a while now. They simply don’t care about people having issues with their API and this is far from the only bug that they’re having there.
The members:create and members:update webhooks are triggered when a gift is redeemed. The payload includes "is_gifted": true if the member is a gifted patron. Currently, the payload does not include the expiration date of the gifted membership - this is something that would be added in the future. We’re aware that the gifted subscription expiration date isn’t available in the API yet and appreciate the feedback. We’ll share more information if and when this becomes available.
For now, the recommended approach is to listen for the members:update and members:delete events to detect changes in the member record. When a gifted membership expires or converts to a paying membership, a members:update webhook will be triggered, and the patron_status and is_gifted attributes will reflect those changes.
@noertap unfortunately, this is still not fully usable. If a regular paying subscriber cancels their Patreon pledge and then uses a gifted subscription, their Patron status will still be “declined_patreon”. Have seen that a few times by now and there doesn’t seem to be a way around this currently.
Got it, so sounds like the members:create and members:update webhooks not being triggered aren’t the problem. Rather the member data in the API for some in a case with a prior decline is not returning patron_status=active_patron. I’ll DM you for some details.
Right, I think the webhook is getting triggered, but as you said, the status is wrong, same as with a direct API request. It’s been a bit since we’ve had the last issue with such a gifted / cancelled sub, but if needs be, I could probably dig around and try to find such a user among our Patrons.
Thanks, for now I think you can hold off of finding someone in this situation. The user id in your zendesk ticket was sufficient for the dev team. Will share more once I hear more back about this.
Hi @bra1n, I just heard back that the issue where redeeming a gifted membership for a declined patron caused the patron status to remain declined_patron has now been fixed. The status in this case should be correctly reported in webhooks, public api and ARM.