Crowd Funding Plugin for WordPress

January 3, 2012

Download: Here

Demo: Here

Documentation: Here

I love the idea of crowd funding. It’s a perfect mixture of social media, wisdom of the crowds and good old fashioned business. For those of you who dont know what crowd funding is, it’s a way of collecting funds for a project, product or initiative.

Individuals commit to funding your project but are only charged if you reach some pre defined target. This plugin specifically uses PayPal’s adaptive payments API. I chose PayPal for a few reasons – mainly because it works internationally, unlike the alternatives which are USA only.

With this plugin you can create an entire project on your WordPress blog. Users can commit to funding your project without leaving your site – apart from a brief visit to PayPal of course. You don’t need to send your traffic off to some 3rd party site.

This has some massive benefits. All the time you spend marketing your project will benefit your own blog, instead of some 3rd party site. This will give you some long term social media and SEO advantages.

After you’ve payed PayPal’s payment processing fees, you keep 100% of of your funders’ contributions. That’s more money for you to get your project started.

Anther huge benefit is that you can create any type of project you want. As long as you aren’t breaking any of PayPal’s rules (which would only really prohibit illegal projects), you’re free to fund what ever you want.

So go ahead and take crowd funding for a spin. I’m offering free, premium-level support for anyone who wants to fund a project using my plugin. So you dont need to worry about anything going wrong.

So go on, make 2012 the year you get that dream project of yours off the ground.

59 Comments

  1. Reply Dante Hamilton // January 3, 2012

    Happy New Year Greg! Just what I am looking for. A WordPress plugin that does Crowd-Funding. How can I obtain it? I run the Chicago WordPress Meetup Group and I would love to have you speak to our group about your plugin. Let me know. Thanks!

    Dante

    • Greg Priday // January 3, 2012

      Hi Dante! In all the festive season chaos, I actually forgot I scheduled this post. Oops! The plugin is finished. I’ll be uploading it to the WordPress plugin directory tomorrow morning.

      I’d be honored if you spoke about it at your meetup. That’s awesome! I’ll drop you an email when it’s up.

  2. Reply Greg // January 8, 2012

    Hi Greg, I was excited to see this plugin come out, as we are searching for fundraising strategies for our clients. I did a test install on our business site, but got this error:

    Fatal error: Cannot redeclare class Services_JSON in /home/trimley/public_html/wp-content/plugins/crowd-funding/lib/PayPal/JSONEncoder/JSON.php on line 115

    Hoping you can assist with this and I can be a test site. Thanks.

    • Greg Priday // January 9, 2012

      Hi Greg. May I just say that’s a lovely name you have there. That’s a typical conflict error. I assume you have another PayPal powered plugin installed? Services_JSON is part of the standard PayPal SDK. I’ve made note of this issue and I’ll be fixing it either today or tomorrow – it just means rewriting parts of PayPal’s SDK.

      Please stay in contact, I’d love for you to be a Guinea pig for SO Crowd Funding if you’re interested.

  3. Reply idham // January 9, 2012

    too bad the plugin aren’t working well, it always failed at step 2 , any bug fix ?

    • Greg Priday // January 9, 2012

      I’ll contact you by email to try sort out the problem. I need a few more details so I can try figure out what’s wrong.

  4. Reply idham // January 9, 2012

    well it happen also on your demo site http://demo.siteorigin.com/crowdfunding/project/episode-i-remake/?step=1 after we filled the form and submit, it goes nowhere. While from my development site it said error on PayPal Library.. concerning to mismatch object type

    • Greg Priday // January 9, 2012

      For public record – Idham and I were able to isolate the error and I’ll be fixing it shortly. Thanks for your help Idham! You’re a rockstar.

  5. Reply Ron Stewart // January 11, 2012

    So you upload the plug-in & activate- then how does It work? And how do you insulate the plug-in from security issues?

    Interesting plug-in! Appreciate your response!

    • Greg Priday // January 11, 2012

      In a nutshell: after you upload the plugin you get a project post type. Using this you can add project rewards, funding target and expiry date. After you’ve added your PayPal API details you’re good to publish your project. Users can start commiting to funding your project using their PayPal accounts. Feel free to email me if you’re looking for more details .

      I did focus on making the plugin as secure as possible. It works completely inside WordPress’ system, so if you keep your WordPress install up to date, it’s very secure (it also helps to use a reliable web host). Even if your blog is hacked, there’s not terribly much a hacker can do seen as fund transfers are handled by PayPal – which is incredibly secure.

  6. Reply jordane // January 11, 2012

    Hi Greg,

    A few questions:
    1- can it work if funders don’t have a paypal account? (if they choose I don’t have a paypal account on the paypal page)
    2- do I need to use my own paypal application ID? If yes, how to get one? (in know it’s more of a paypal issue, but I can’t find info online)
    3- autoreturn url: is there any?
    4 – can i add several projects on one WP install?

    Other than this – that’s a great start!

    • Greg Priday // January 11, 2012

      Heya Jordane,

      1 – I haven’t tested this but I’ve read that the adaptive payments API (which this plugin is built on) supports guest payments.
      2 – Yes you do. I’ve published some docs with instructions.
      3 – Currently the user is just sent back to the project page. I could allow users to enter a custom return URL for each project if there’s a demand for this feature?
      4 – Yes. You can run as many projects as you like. Currently all projects will run through the same PayPal API details though.

      Thanks! This plugin still has a long way to go, but we’ll get there :)

  7. Reply jordane // January 11, 2012

    ok thanks – no need for another URL as far as I’m concerned. Just the redirection didn’t work, and I thouhgt it was because of this. (I have put my own paypal sandbox API credential, except for the Paypal Application ID – this may have been the root cause for the bug).

    finally, what happens if a funders cancel his pledge from his paypal page? does it get reflected in the site (admin and front)?

    This plugin is already great stuff !

    Jordane

    • Greg Priday // January 11, 2012

      Not having an APP ID will cause some sneaky little errors. I’m planning on making the plugin far better at dealing with this error. Like with a big error message in the admin.

      If a user cancels the preapproval then PayPal sends an IPN to your server which the plugin uses to remove the funder. So yes, it is reflected.

      On a side note, I really need give “the plugin” a name.

  8. Reply Scot // January 13, 2012

    Any plans for a widget to capture projects in sidebars other than the original project page?

    • Greg Priday // January 13, 2012

      I definitely have plans for a few widgets. Every one loves widgets after all!

    • Scot // January 25, 2012

      When might we see an update or widget capabilities? ;)

    • Greg Priday // January 25, 2012

      As soon as I’ve finished cloning myself :D . On a serious note though, I’m almost finished building a support system for SiteOrigin which should seriously speed up the free support I’m offering. After that I’ll have more time to work on my themes and plugins (most notably Crowd Funding… oh yeah!).

  9. Reply Dante Hamilton // January 14, 2012

    Hey Greg!

    Are you enjoying your WordPress Crowd Funding plugin rock-star status yet? I sure hope so! You deserve it.

    I am curious to know if I can embed the Crowd Funding project from my website into a Facebook Tab using “FaceBookTabManager.com” ? I already have my FB Tab and secure URL and approved and activated app on FB in the developer area. Let me know if this is possible. Facebook Tabs Manager is a wonderful WordPress plugin that sets up FB Tabs.

    I am still awaiting the Live APP ID from PayPal…

    • Greg Priday // January 17, 2012

      Haha, hopefully the rockstar status comes soon. Who knows, maybe one day I can use this plugin to get a date ;)

      It’s actually been soooo long since I’ve played around with the Facebook API, so I’m not sure what would be involved as far as embedding a Crowd Funding project. I’ll add this to a future feature list and do some investigating. It’d be a very worthwhile feature.

    • Scot // January 26, 2012

      Greg

      Would be nice to add some taxonomies to the project post type so that you could effectively categorize them, etc.

    • Greg Priday // January 26, 2012

      I like the idea Scot. Do you think a simple tagging system would be enough? It’d definitely be the easiest to implement. The alternative is to let users add their own taxonomies. It’s doable, but a little bit more work.

  10. Reply Scot // January 26, 2012

    I was thinking about using another plugin for adding taxonomies but thought it would be best if used with the original plugin (yours). I guess tagging would work as well, just some way for searching – though I think adding the ability for users to add their own taxonomies would be best.

    • Greg Priday // January 27, 2012

      Would you like the moon on a stick too Scot? :) You’re right though, the ability to add custom taxonomies would be nice. Even if I just cleaned up and integrated an existing plugin. Please keep the suggestions coming!

  11. Reply Scot // January 27, 2012
    • Greg Priday // January 27, 2012

      The only problem is they dont seem to be able to handle payment preapprovals – which is a must have feature for crowd funding. I’ll keep an eye on Stripe though, it looks very promising. Maybe they’ll add preapprovals in the future.

  12. Reply Lamin // January 27, 2012

    Also Am getting this Warning do you know why this is coming up.

    : error_log() expects parameter 2 to be long, string given in D:\xampp\htdocs\wordpress\wp-content\plugins\crowd-funding\lib\PayPal\Log\error_log.php on line 96

    Warning: error_log() expects parameter 2 to be long, string given in D:\xampp\htdocs\wordpress\wp-content\plugins\crowd-funding\lib\PayPal\Log\error_log.php on line 96

    Warning: error_log() expects parameter 2 to be long, string given in D:\xampp\htdocs\wordpress\wp-content\plugins\crowd-funding\lib\PayPal\Log\error_log.php on line 96

    Warning: Cannot modify header information – headers already sent by (output started at D:\xampp\htdocs\wordpress\wp-content\plugins\crowd-funding\lib\PayPal\Log\error_log.php:96) in D:\xampp\htdocs\wordpress\wp-content\plugins\crowd-funding\crowd-funding.php on line 232

    • Greg Priday // January 27, 2012

      Hrmmm, that looks like a problem with the PayPal SDK. What are you doing when the error comes up? I’ve recorded the issue so I’ll be fixing it as soon as I spend some time working on CF again. Thanks for the heads up!

    • Scot // January 27, 2012

      Greg

      Can you explain how pre-approvals works exactly?

    • Greg Priday // January 30, 2012

      Sure. From PayPal’s site “[Use preapprovals] to set up an agreement between yourself and a sender for making payments on the sender’s behalf.”

      So essentially a user logs in with their PayPal account and gives you permission to make a payment in the future. In the context of crowd funding, the user makes this payment preapproval so that if/when your project reaches its target, you’re able to collect funding from them without having to ask for their permission again.

      Hope that clarifies it. I’ll add a section to the docs that clarifies exactly how the plugin interacts with PayPal.

  13. Reply Lamin // January 27, 2012

    I got this error when I tried to preview the project.

  14. Reply Lamin // January 27, 2012

    Hi Greg,

    I have replaced the PayPal SDK now I cant pass step 2 http://localhost/wordpress/?project=testing-3&step=2

    • Greg Priday // January 27, 2012

      Hey Lamin. If you don’t mind, I’ll email you for more details shortly, or if you have more details please send em over to support@siteorigin.com. This is a bug that I need to sort out!

  15. Reply Richard Pancoast // January 27, 2012

    Hi Greg. We are looking to add a CrowdFunding component to our site, which would be a stand alone site for anyone that has an entertainment project to post and fund their projects. Once their projects have been funded and completed, we will also offer distribution, marketing and promotion of their entertainment projects. Will your plugin support multi project funding by many project owners or is it specifically designed to fund a site owners own project specifically? Very interested in finding out!

    • Greg Priday // January 30, 2012

      Hey Richard. I’ve designed the Crowd Funding plugin for site owners to fund their own projects. Technically it would be possible for you curate projects for other people though. My plugin supports multiple projects, each with their own target, deadline, content, etc.

      At the moment you can only collect funding into your own PayPal account though. So there’d be a manual step of transferring the funds from your PayPal account to the project owner’s account.

      I’m planning on making it easier to curate other people’s projects in a future version of the plugin. This will more than likely be a premium feature.

  16. Reply Tyler // January 27, 2012

    Hi Greg, Great Idea for the plugin. I’m hitting a wall with the plugin activation on a local dev server though. Something to do with PEAR in the paypal libs:

    Warning: require_once(PEAR.php): failed to open stream: No such file or directory in */wp-content/plugins/crowd-funding/lib/PayPal/Serializer/Serializer.php on line 53 Fatal error: require_once(): Failed opening required ‘PEAR.php’ (include_path=’.:’) in */wp-content/plugins/crowd-funding/lib/PayPal/Serializer/Serializer.php on line 53

    Any thoughts as to what might be causing this?

    • Greg Priday // January 30, 2012

      The PayPal SDK has been causing some issues for people. I’m going to email you so I can help you sort out this issue.

  17. Reply Dante Hamilton // January 30, 2012

    Hey Greg!

    I think you will easily get a date using this plugin. Why? Because the plugin is about raising money! Money makes for great dates!

    Humor aside, I wanted to tell you I think the question you asked: “Currently the user is just sent back to the project page. I could allow users to enter a custom return URL for each project if there’s a demand for this feature?” is something I personally would like to see. It is by no means a critical feature at all. I think having a customized “thank you” page after they have sponsored or funded a project gives them the “closed loop” on customer service. Also, could be a way to upsell them on a related project.

    I know you have the “Freemium” strategy as your core business model. There is a great book on this written by the editor of Wired magazine. Likely you’ve read it. However, I would like to see you offer a premium support option at a nominal price for your early adopters so we can help fuel the development of this plugin. It can be as simple as adding a donate button or whatever amount. Ignition Deck charges $49 for their plugin right now. I bet they will double that soon. Just a thought…

    Dante

    • Greg Priday // January 30, 2012

      I need to find a girl who loves me for my money… and is really bad at maths…

      I agree, it would be nice to collect some form funding to help spur on development. There’s so much I need to do and so little time. SiteOrigin is a full time gig for me at the moment, but there’s a lot of little things I need to sort out with my theme framework and SiteOrigin itself before I can get back to working on my flagship plugin. We’ll get there though, version 1.0 is on the horizon. I’m noting all the feature requests, yours included.

      A premium support package is a great idea. I’d like to offer as much support as possible for free – we’ll see how this pans out. I might have to turn to premium support packages if I need to hire support staff.

      And yeah, Chris Anderson writes some incredible books. I’m a huge fan of him.

  18. Reply Scot // January 30, 2012

    Greg

    I think the idea of curating projects for others using this plugin is where much of the interest lies out there…I know Ignition Deck is having the same issue – people asking for an ability to emulate KickStarter versus wanting to raise funds for individual projects. I know they’re trying to resist building in these features as it wasn’t their original focus, but if you follow the commentary on their boards it is the number one request from interested parties. I suspect it will be the same for your plugin.

    • Greg Priday // January 30, 2012

      I can verify that’s my most requested feature. It’s definitely something I’m going to work towards. It’s possible with the PayPal API and wont take too much work.

  19. Reply Scot // January 30, 2012

    I’ll help test if you wish and I’m sure others on here will as well.

    • Greg Priday // January 31, 2012

      I’d appreciate that. Time to get to work building this beast!

  20. Reply Bobo // January 30, 2012

    Hi there getting this error any suggestion?
    Warning: require_once(PEAR.php): failed to open stream: No such file or directory in C:\inetpub\wwwroot\wp\wp-content\plugins\crowd-funding\lib\PayPal\Serializer\Serializer.php on line 53 Fatal error: require_once(): Failed opening required ‘PEAR.php’ (include_path=’.;C:\php\pear’) in C:\inetpub\wwwroot\wp\wp-content\plugins\crowd-funding\lib\PayPal\Serializer\Serializer.php on line 53

    • Greg Priday // January 31, 2012

      Hi Bobo! I recently found out about that problem. That error comes up because the PayPal SDK I’ve included as part of the Crowd Funding plugin requires PEAR.php. Most LAMP stacks include this, but it seems like some don’t. I’m trying to find a good solution to this. It might just require using a different LAMP stack, or manually installing PEAR.

  21. Reply daniele galvani // February 1, 2012

    hi greg

    if you want the plugin works like this site -> p.e. http://meblitz.com/2011/09/all-the-way-around/ – the crownfunding appear in every article and there are categories of posts and not only projects .. what can i do?!

    thanx a lot from italy. : )

    • Greg Priday // February 7, 2012

      Hi Daniele. I think it’s already technically possible to set up a site that looks something like that using my plugin. You’ll need to know your way around WordPress – how familiar are you with it?

  22. Reply Davo // February 9, 2012

    awesome work Greg, thanks for great plug-in. I’m a bit of a WordPress newbie – how do I make the project post come up on my blog homepage – see link above for draft page

    • Greg Priday // February 11, 2012

      Thanks a lot Davo :) I like the look of your project by the way. Is that a project you’re actually planning on running?

      I haven’t thought of a good way to make a project your home page. At the moment, the only way to do this would be to customize your theme so it pulls the project and displays it as the front page. By no means easy though. I’ve recorded the feature request “Make it easy to display projects as home page” with a link to your comment.

    • Naweed // February 12, 2012

      Hey guys, hope you don’t mind me adding my suggestion.

      I currently use a drag & drop theme to create some awesome unique looking websites.

      @Greg, if you create a widget where you input the post page id or a shortcode, it will grab the content and display the excerpt with the funding status bar on the homepage.

      This is an rather odd way of crowdfunding http://wedidthis.org.uk/marketplace – they make use of a shopping cart rather than the what Kickstarter.com any many other crowdfunding sites are using for payment processes. I guess it makes the process much easier.. I may even try it.

    • Greg Priday // February 17, 2012

      Hi Naweed! Suggestions are always welcome. I read every single one of them.

      I like the idea of widgets for the Crowd Funding plugin. This would be a great way of making the whole plugin way more customizable.

      WeDidThis looks interesting. I guess the one huge advantage of using a standard shopping card is that shopping carts are generally mature, stable and reliable. I dont know how they’d handle projects that dont reach their target though – maybe that’s somehow built into the shopping cart.

    • Naweed // February 12, 2012

      The plugin below is a progress bar which you can add to your front page blog posts;

      http://wordpress.org/extend/plugins/tdd-progress-bar/

    • Davo // February 13, 2012

      Hi Greg, yes the project is real, a hip jazz rendition of favorite carols!

      I suppose a workaround to the front page problem is to register a custom domain and point it to the project URL, though some search engines don’t like that.

      two questions: I’ve submitted the API request to PayPal, how long does it take for approval?

      Can I run multiple simultaneous crowdfunding projects with the same API, or only concurrently?

      DAVO

    • Greg Priday // February 17, 2012

      Hi Davo – That’s a very cool idea for a project. To answer your questions

      1) PayPal say that it can take up to 2 weeks. I applied for mine just after the holiday season which is why I assume it took slightly longer, but it took me 3 weeks. The wait is a bit of a pain.

      2) You can run as many concurrent projects as you like.

      Please keep me up to date on your whole project and experience – greg@siteorigin.com.

    • Naweed // February 17, 2012

      Hey Greg,

      I’m seeing alot of crowdfunding sites using normal shopping carts but only making the front page look unique.

      This is another example – http://www.sponsume.com/

      The way it works with Sponsume, if your funding goal hasn’t reach, you still get the money. They are definitely using a shopping cart.. have a look yourself.

      Although it’s better to go with your plugin.

  23. Reply byron // February 13, 2012

    Hello guys.
    great work with the crowdfunding plugin.
    i have been able to make it work with Vasiliki theme. wich use jQuery Masonry.
    this way your plugin looks great, and also the way Davo want to.
    only thing for me as a very newbe in WP, is to bring in the front page loop the funded_amount, or the %founded and target.
    what code should i bring in the index. for the theme i simply changed the query on the index. with post_type=project

  24. Reply Deryk Wenaus // February 14, 2012

    Hey Greg,

    Would you be interested in collaborating to build a generic wordpress plugin/theme crowd funding website? Basically it would be a kickstarter for plugin and theme feature requests and new development. I believe the need out there for such a thing is pretty large. Email me if you’re interested and I’ll send you more details.

    • Greg Priday // February 17, 2012

      Hey Deryk! First off, I think that’s a fantastic idea. That’s actually how I’m planning on using the Crowd Funding plugin on SiteOrigin – to fund my own themes and plugins. I think a marketplace for anyone to fund their themes and plugins would be a great idea. Unfortunately I wont be able to get involved in a project like this because I’m working full time on SiteOrigin (huge updates coming soon). I will however be working a lot on the Crowd Funding plugin – making it easier to use and more reliable. If you purchase the premium version when I release it, you’ll be able to use it to easily set up a marketplace.

  25. Reply Eduardo // February 23, 2012

    Hi Greg,

    Great work! I’m suprised to see such a thing based on WordPress… I was researching to create a similar plugin when I saw this amazing job.

    My idea is a little different and maybe you could help me with it. I want to create a design crowd contest to my site. It will be a system where I can register users and they can log-in to see projects and send ideias. To understand better, see this site https://www.victorsandspoils.com/. That’s the main concept.

    Do you think this is reliable and possible with wordpress?

Contact Support