Below are my summarized notes from our Dev Chat in June.
We discussed upcoming TLS 1.2 requirements as well as the Multiple Memberships Per User (MMPU) Add On. Theme music for this chat was Radiohead’s In Rainbows.
TLS 1.2 requirements
This DEV Chat resulted in an updated post on TLS 1.2 requirements as well as the release of the TLS 1.2 Compatibility Test plugin to help diagnose if TLS 1.2 is enabled on your site and what steps to take, including an option to force TLS 1.2 in cURL.
Some background: All payment gateways, including PayPal, Stripe, Braintree, and Authorize.net (and really any service that uses an API) are updating their API servers to only accept requests made using the new TLS 1.2 protocol for encryption.
According to the WordPress.org installation statistics as of March 30, 2016, over 50% of sites are running a version of PHP (5.4 or less) which are likely to require updates when payment gateways mandate the new requirement. Yikes.
Multiple Memberships Per User Add On
There have been many behind the scenes conversations about how this functionality will work. We are proceeding with developing the MMPU features as a plugin and will most likely release it in the WordPress.org plugin repository. It will not be built in to the core Paid Memberships Pro plugin.
We discussed the concept of “level groups” so that you can define (as the site owner) which levels are allowed to be held simultaneously and which should force cancellation of the others (i.e. two levels that unlock the same membership but have different payment terms should not be held at the same time).
We also discussed when we will group subscription payments and when we will not. We want the solution to fit across all gateways, each with unique rules for how subscriptions can be created, modified, updated, etc. One solution is to have 1 level per 1 order per 1 sub. However, it’s a reasonable case that someone would bundle something on a per-month basis and a per-quarter or per-year basis at the same time. The WooCommerce Subscriptions plugin for example bundles all subscriptions with the same payment period into one subscription. With WooCommerce Subscriptions monthly subs get bundled and if you also purchased an annual sub, that would be a separate subscription. This is interesting, but in the short term at least, keeping things to 1 level per 1 order per 1 sub makes things simpler to code, understand, and maintain.
So with the MMPU PMPro addon (as designed), if your gateway supports setting up multiple subscriptions at one time (e.g. Stripe, Braintree, and others that store credit card information for reuse), we can allow customers to checkout for multiple levels at one time. Each level would result in a separate order in PMPro and separate subscription at the gateway.
More conversations on MMPU to follow…