Below are my summarized notes from our dev chat today.
We discussed GDPR, the Multiple Memberships per User Add On Compatibility Road Map, our update Developer Partner Platform, and a feature suggestion for our Stripe integration.
Theme music for this chat was the Tron: Legacy Reconfigured album by Daft Punk.
We discussed the various articles of the European Union General Data Protection Regulation and how they can be addressed by Paid Memberships Pro in our software and as a company. It was a good discussion. I will be writing up a more detailed post including what I feel needs to be addressed for our software to comply with the GDPR. Some of the action items for this could be done collaboratively between ourselves and other ecommerce plugin authors. So I will pursue that while making sure PMPro is ready by the deadline in May.
Multiple Memberships Per User Updates and Add On Compatability Roadmap
The MMPU Add On has been working well in it’s beta release on several sites for the past 6 months or so. In the next few weeks, we will launch the add on officially with the known caveat that many of our add ons will not work as expected with the MMPU Add On active.
We will be tagging all our add ons on this site to show which are compatible with MMPU, which will never be compatible with MMPU (because it doesn’t make sense or would be too technically difficult), and which we will be working on.
Our hope it that over the next year or so, with the help of the developer community, we can update the add ons that need it. To that end, we will be sharing case studies on our blog as we do this work so we can compare notes and share methods.
Becoming a Partner, New Agreement Contract and Plans
Until now, we’ve had adhoc agreements with the development partners showcased on our Developers page. We appreciate the role these developers play in the PMPro community. Our partners are responsible for building the best examples of sites running Paid Memberships Pro, working with us to address new markets and use cases, and so much more. Our goal is to formalize the relationship we have with the partners and gather resources to work on shared marketing projects.
Freelancers and agencies interested in joining our developer network can apply here.
Idea for Stripe Integration
We discussed the possibility of at checkout, checking for an existing customer record using the same email address before creating a new customer in Stripe. Some of this was coded in a development branch while working to fix synchronization issues between PMPro and Stripe. The synchronization issues were addressed by other fixes, but it still might be useful to reuse Stripe customer records instead of creating a new one when a user checks out in PMPro.
PMPro does keep track of a user’s customer id and reuses it if that customer checks out again. However, if you integrate several sites with Stripe, each site will have it’s own customer record for that same person.
Many of us agreed that it’s best to stick to the current system of creating a new unique customer id the first time a user checks out in PMPro. If we use a customer record managed by another app, we can’t be sure what that other app might do with the customer or their subscriptions. Also, the Stripe API does not allow you to do a straightforward search for customer id by email address. The implementation we had used a kind of hack where we would download all customers and their email addresses for cross reference. It seems that Stripe doesn’t want to encourage this kind of behavior.
A script to resync customer ids by email address might be useful in a pinch for cases where PMPro went out of sync with Stripe. (An example might be if someone is importing users from another system or otherwise had to delete and recreate WordPress users.)
We also briefly discussed the need to explore the Stripe Connect platform, which has some benefits over the direct API method we use of integrating with Stripe. Namely, users who have a credit card stored in Stripe would be able to checkout very quickly. There is also the fact that Stripe might require or strong encourage use of Stripe Connect in their temrs of service.
Scheduling for Future Dev Chats
Instead of a regularly scheduled dev chats, we are now keeping a list of topics for discussion. When the list hits 3 items, we will schedule a dev chat to go over those topics. If there is something you would like to discuss with the PMPro developer community, let us know through our contact form and we will add it to the list.
Thanks again to everyone who attended today.