A New WooCommerce Extension: Sponsorship

chrislema-face

I love WooThemes and their commerce plugin – WooCommerce. For as much as people may rant about the history of the plugin, or the fact that extensions cost money – it's important to remember that the plugin is free and that WooThemes offers free themes that work with it (incredibly well). All that said, the thing I like most about WooCommerce is that it supports extensions. It demonstrates a lot of great things but my favorite is that it highlights that the Woo guys know they won't think of everything.

There are other solutions out there

I know there are other crowdfunding solutions out there, even some that work with WordPress, like Fundraising. But the challenge that I find with many of them is that they require that I use Paypal – and I hate Paypal. So it was time to see if it were possible to create a solution that would use Stripe instead. But because WooCommerce does so much already, it felt like it would be a smarter move to build on top of it – using both WordPress and WooCommerce as an underlying platform, than to start from scratch.

Step 1: Create a different Product Type – a Sponsorship Project

The first step was to make sure we could create a product that was unique – where we could capture the total project goal, the target date and the contribution levels.

Step 2: Calculate Status & Display Contribution Levels

After the product was defined, the gui needed to support the display of both the status and the various contribution levels that are available. While additional widgets will be created, we needed a baseline display that we could use to consistently test the work so far.

Step 3: Collect Payment – Stripe, not Paypal

You know what's next – the collection of funds. Here's the thing though. First, it needed to support Stripe and even though WooCommerce supports Stripe (via a different extension), that extension didn't support parts of the API that would let us create a pledge without charging anyone. After all, the process is that you collect pledges, not payments and only charge if the final target is met. Most other solutions for WordPress just charge your account. Then they have to do the work of refunding money. I didn't want to do that. I wanted actual pending pledges without any charging up front. So we had to create our own interface to Stripe.

Step 4: Keep Orders on Hold

As you can see, our extension heads over to Stripe, creates the user and the potential charge, but leaves the order on hold until the total is met. If not, it won't charge anyone anything. The best part – each instance of the plugin collects it's own stripe credentials – leaving us out of the money game. So the plugin just does what it needs to without becoming a central processor of charges.

It's not Done

As you might have guessed, it's not done yet. And we haven't talked to WooThemes yet to put it in their list of extensions. But we're pretty excited about how it's coming along.

 

About Chris Lema

Chris Lema has been working with WordPress since 2005. Over the years he's been a blogger, a speaker at WordCamps, a coach for WordPress product companies, and the founder of the conference for WordPress business owners, called CaboPress. Today he's the VP of Products at Liquid Web, where he manages the world's first managed platform for WooCommerce stores.

Chris Lema

Chris Lema has been working with WordPress since 2005. Over the years he's been a blogger, a speaker at WordCamps, a coach for WordPress product companies, and the founder of the conference for WordPress business owners, called CaboPress. Today he's the VP of Products at Liquid Web, where he manages the world's first managed platform for WooCommerce stores.

Join more than 7,500 others

My posts. Your inbox. Beautiful.

Chris Lema Speaking

Do You Want To Pick My Brain?

Over the last few years, through private consulting, coaching, and using the pay-by-the-minute Clarity service, I've helped hundreds of folks like you solve their WordPress problems and overcome their technical challenges.

“In 18 minutes Chris was able to save me months of lost time and tens of thousands of dollars by directing me to the right technologies to create my course marketplace. The value was 100x what I paid.” — Josh

Have a question right now? Most of my Clarity calls last less than 20 minutes. Let's set up a call.