Building The WP Butler with Gravity Forms + (more) Stripe

(More) Stripe

I originally launched The WP Butler back in December 2012 and the subscription part of the service was powered by the excellent Restrict Content Pro by Pippin Williamson, using the Stripe add-on to avoid having to use PayPal at all.

Recently however, in preparation for the relaunch of the service with the build-your-own-plan option, I needed to change things up. Restrict Content Pro relies on pre-defined subscription plans to determine how long a user should be signed up for, and for how much, which was fine based on my old model. With the new service though, I need to be able to build plans dynamically based on the needs of the user, so pricing was very much variable and the new subscription system needed to account for that.

That’s where (More) Stripe comes in. (More) Stripe is the premium version of the Gravity Forms + Stripe plugin which is available for free in the WordPress repository. Both are maintained by the talented and very helpful Naomi Bush.

The free version is excellent for people looking to perform simple transactions with Gravity Forms and Stripe (for the uninitiated, Stripe is the payment gateway you should be using – not PayPal). You can make one-off transactions (such as invoice payments, or donations) and it works with international Stripe accounts.

Where things get really useful is when you buy (More) Stripe, which only costs $49 by the way. Now, you can create recurring transactions (subscriptions), use coupons, save credit cards to charge to them later, charge one-off setup fees (on subscriptions) and you can trigger events when subscriptions are changed or cancelled, like changing a user’s role.

The new feature which will be released soon is the final piece of the puzzle which helped me to build The WP Butler in the way I needed it to run: you can create plans dynamically based on the form total in Gravity Forms.

As such, I was able to build a form with a product (maintenance plan) with as many configurable options as I wanted (updates, backups, access to training videos etc.), which allowed the user to select which services they wanted and which they didn’t and come up with their custom plan, with a custom price and a custom set of services. I simply told (More) Stripe how long each subscription period should last and created a feed to Stripe, and (More) Stripe now does the heavy lifting in the background.

Creating a custom plan

In conjunction with the Gravity Forms User Registration add-on to add user meta for all of the services they selected and create their user account, I now had a fully functioning way to allow users to sign up for their custom plan.

Beyond that, I really wanted users to be able to update their plan at any time. Using a slightly modified version of the signup form, they can select which options they want to add or remove from their service (with their existing plan pre-filled by the User Registration Add-on). They click submit and their access and billing is updated with immediate effect. Users can also change their billing information and cancel their service just as easily, all because of (More) Stripe.

Stripe Event Log

With all of that in place, I had the powerful subscription system that I had longed for. And it’s being put to good use on the new WP Butler.

(More) Stripe really is an underrated plugin and not enough people know about it, which is part of the reason that I’m writing about it: I want you to know just how much you can do with a mixture of Gravity Forms, their add-ons and (More) Stripe. I highly encourage you to check it out.

Get (More) StripeGet Gravity Forms

7 thoughts on “Building The WP Butler with Gravity Forms + (more) Stripe”

  1. Hey mate (how come you don’t use Disqus? Really handy for being notified of replies)

    Between Gravity Forms + User Registration + Gravity+ (More) Stripe, that’s been enough for users to manage their accounts? Cancel.upgrade etc?

    1. I use Jetpack instead, which also a allows you to get notified of replies.

      Yep, that’s all I’m using to completely manage my user accounts. Works beautifully!

      1. (First, re Jetpack, for me the comments always go to spam no matter the blog, not sure how it works for other people)

        Thanks! Ok, so I just bought Stripe (More) and configured it with User Registration.

        It’s gone well so far – Stripe test went well, the user was registered, all that lovely stuff. BUT I’m wondering how you incorporate the forms for updating subscriptions.

        For example, I created an Update Subscription form but it didn’t show up in the user dashboard of the user that was created. Just wondering how that might happen?

  2. Commenting over and over FTW.

    Ok, I figured out a mechanism which is better than them seeing the WordPress Dashboard.

    WordPress Login Redirect -> Custom built “My Dashboard” Page.

    That page is a customer hub with links to things such as “Update My Billing Information” “Upgrade” “Cancel” etc

    Each of those links to a page with a Gravity form embedded which drags the information out of their user profile and voi-la.

  3. Angel says:

    Is it necesary to use the Gravity+ (More) Stripe or will the official Stripe Addon for Gravity forms be enough?

    Thanks

    1. For me, I needed to use Gravity + (More) Stripe, because it allowed me to create custom plans and update them in Stripe, which the official addon cannot do. It needs to create set plans and without further customisation, it cannot update customers’ details, plans or billing information, like Gravity + (more) Stripe can. For some who have fairly simple needs, The official Stripe addon may suffice.

  4. Angel says:

    Understood. Thank you for explaining the differences!

    Best

Leave a Reply