Product Feedback

This category is for showing off your integration! Share screenshots, links, etc. and get useful feedback and discussion.

This is one of the places we’re most pumped to work with developers and have the community share knowledge - bring it on, folks :slight_smile:

I use several parts of the platform to integrate with my website and automatically manage website rewards. I only deal with “digital” rewards on the website so just about all of my work has focused on automating user management between my website and Patreon.

Connect to Patreon

I use the OAuth Connect to Patreon feature to let new patrons get set up as quickly as possible

  • Folks use my website and decide they want to become a patron to support me and/or unlock additional rewards
  • User follows a link to my patreon campaign, set up a pledge, and then go back to my site
  • New patron goes to the account page on my site and uses Connect to Patreon flow
  • If they have an active pledge and everything checks out, I use the data to flag them at their pledge level in my own database and unlock rewards.

Pledge API

I have a backend server that runs through all of my pledges using the pledge API on a schedule (every 30 minutes right now). This server handles cases like users cancelling a pledge, handling declined payments, and discovering pledge changes that may have been missed from webhooks.

This process handles several scenarios:

  • Find patrons with matching emails that have not run through the Connect to Patreon flow (if they used the same email on my site and on Patreon I can upgrade them automatically)
  • Find patrons that have likely been charged and extend their rewards for the rest of that month
  • Find patrons that have cancelled their pledge (basically, look for users flagged as patrons in my database that no longer appear in the pledge list)
    • If they have paid, only disable in the next month
    • If they have not paid, disable immediately
  • Find any pledge changes that may have been missed from webhooks (patron increased/decreased their reward level)
  • Find patrons who were declined and disable rewards
  • Find patrons who were declined but have fixed their payment and should now have access again.

Webhooks

I primarily use the “update” web hook to handle patrons that change their pledge level to make sure their account gets updated as quickly as possible rather than waiting for the scheduled job that runs every 30 minutes.

Challenges

I’ve cobbled all this stuff together over many months and it’s definitely not perfect.

I think one of the biggest challenges is that the API does not provide direct data about several cases:

  • Cancelled pledge
  • Successful pledge payment
  • Successful charge after updating a declined payment method

I have to jump through a lot of hoops and store a bunch of data to guess at these states and it’s far from perfect.

Another issue is that quite a few users don’t understand that my site and Patreon are not the same entity. A lot of folks pledge on Patreon and then get confused about why their Patreon credentials don’t work on my site. I try to provide information at several steps (pledge thank you note, etc) to indicate the next step they need to take but some folks have trouble connecting the dots.

Charging at the start of the month is also confusing to a lot of folks. I think this is just the nature of the beast and I suspect Patreon won’t have a full subscription system in place any time soon (or ever), so I just try to be as clear as possible about how everything works upfront.

Tips

I’ve run into a few issues and have some tips if you decide to do some kind of linking between your website and your patrons:

  • Don’t immediately disable rewards when a pledge disappears. Network requests fail, users might change their minds, etc. At one point, I had network connectivity issues and disabled every single patron. I also had an issue where a slight change in the Patreon API disabled a bunch of users.
  • Log everything (this is always good advice) - super helpful to determine errors in your own code or help support a patron who is running into issues.
  • Be as generous as possible - I’m trying to build long term trust/reputation with my fans so I refund early and often. I also treat unpaid pledges as full users without waiting for a charge. This won’t work for every project but it does work pretty well on a website with additional rewards for patrons.
4 Likes

@seriallos wow! Thank you.

So much of this speaks to what many others are telling us about the API (and Patreon’s core in general)

As you can imagine there’s some major systemic improvements to be made as we grew so much - AND the good news is they are going to happen. I can’t commit to too many things in a public forum (feel free to email me at tal at patreon) but we are going to make some generalizing changes that allow for the tens of thousands of different memberhsip businesses to operate in whatever style they prefer (depending on what they deliver)

Good feedback about identity confusion as well.

I’m going to cc @jeffrey because he’s thinking a lot about these issues in refining our technical vision for the API.

Phew. Again, thank you.

1 Like

Mine is Patron Plugin Pro for WordPress:

https://codebard.com/patron-plugin-pro

Demo and screenshots are at:

http://patron-plugin-pro-demo.codebard.com/

What does it do is to bring numerous content-locking options, customizable call to action banners and text, tweaking how users are sent to patreon and how content locking works.

Its targeted at non-tech-savvy users and makes everything as easy as possible, but developers can also use it to maximum extent since everything that happens in the plugin can be hooked to by actions and filters. This brings great possibilities for developing addons for it.

There are some new features planned for the next version with the recommendation of users, like CTA shortcodes, even more content locking formats etc.

It also works at WordPress.com btw.

1 Like

To anyone reading, one thing that I wanna emphasize is: What @codebard built is really exciting for us:

Our vision for our WordPress plugin is that anyone can build on top of it, by creating inter-operable plugins that get installed alongside it.

Our dream is that we can keep our WordPress plugin simple and bare bones functionality and leave the premium/category-specific features to the community. (And our fear was, that perhaps developers would assume they shouldn’t build WordPress plugins because we had our own core plugin. We definitely want to encourage further development!)

1 Like

Im very appreciative of Tal and Spencer’s cooperation during my development of this plugin and new API launch. It ensured that my plugin would make it on time for the launch and be ready for helping people integrate with Patreon API on day one.