Feature #13

Create a donation drive module

Added by J. Simmons over 7 years ago. Updated about 6 years ago.

Status:Resolved Start date:04/08/2011
Priority:Normal Due date:
Assignee:- % Done:

100%

Category:-
Target version:v0.2.1 - Public Beta Enhancements

Description

This should be a plugin and work similar to Pledgie or similar offerings. May just create it as a Pledgie plugin.

History

Updated by J. Simmons over 7 years ago

Looking into how we could do this. And one idea would be a new wiki macro for donation drive sites like pledgie and chip-in. Could be modeled after wiki macro plugins like this one for youtube.

One quick question then is do the wiki macros work everywhere there is formatted text (like the project and main site homepages or in forums and issues). If so, then you could even do drives for individual features and put drives on the project page... Or in news stories.

Updated by J. Simmons over 7 years ago

Blog post series on writing Redmine Plugins:

Updated by J. Simmons about 7 years ago

First draft of full list of types of payments to accept.

  • Pledgie - specifically embed the Pledgie Badge
  • ChipIn - specifically embed the ChipIn Widget
  • KickStarter - specifically embed the KickStarter widget
  • PayPal - specifically embed PayPal buttons
    • Buy now
    • Add to Cart
    • Donate

Updated by J. Simmons over 6 years ago

  • % Done changed from 0 to 70

Pledgie and ChipIn support are up and working (https://opendesignengine.net/projects/ode/wiki/Features#Embed-Chipin-Badge). Probably need an hour or two to wrap the other two up.

Updated by J. Simmons over 6 years ago

  • Status changed from New to In Progress

Updated by J. Simmons about 6 years ago

  • Target version changed from v0.2 - Public Beta to v0.2.1 - Public Beta Enhancements

Moving to v0.2.1 for the other two donation drive services to facilitate the launch of the public beta.

Updated by Kevin Bouwkamp about 6 years ago

  • % Done changed from 70 to 90

Fixed the Chipin badge, and got the Kickstart one working. Below is my wiki-formatting code I was testing with.

h2. Embed Kickstarter Badge

@{ {kickstarter(*account name*,*project name or url path*)} }@ (without the spaces) =>

_examples:_

@{ {kickstarter(fallmedia,Alphabet Apparel)} }@
@{ {kickstarter(fallmedia,alphabet-apparel)} }@

      

Updated by Kevin Bouwkamp about 6 years ago

The PayPal one is a little bit different since there isn't really a concept of projects or funds that pre-exist. I created a button on their generator and this is how it comes out:

1 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
2   <input type="hidden" name="cmd" value="_s-xclick">
3   <input type="hidden" name="hosted_button_id" value="6P7UX7ZAUBD9J">
4   <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
5   <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
6 </form>

The only thing that really matters here is the hosted_button_id hidden input's value, in this case '6P7UX7ZAUBD9J'. Seems to be something PayPal creates on their end because there is a lot of pre-defined information built into these future transactions.

Options
  1. Obtain a business account in order to gain API access. They have a button manager part of their API. Not sure if this would work for our arbitrary intentions, or if we could create buttons for other business accounts besides ours
  2. Let the user be able to just paste the HTML they have generated into the page. Letting any ol' user paste any HTML into the page has it's obvious drawbacks.

I'll stew on it a bit

Updated by J. Simmons about 6 years ago

As long as the hosted_button_id field is sufficient to identify the button for paypal, I would be fine with the macro being something like { {paypal(6P7UX7ZAUBD9J)} } (obviously without the spaces). We should also check and see if the "donate" vs "buy" buttons use different html in their rendering. Let me know if you want to get on a hangout sometime to chat about this one from a requirements standpoint, since it is more tricky than the others.

Thanks for all the work on this.

Updated by Kevin Bouwkamp about 6 years ago

OK so I went ahead and made the PayPal ones. Here is the wiki-formatting code I was playing with:

h2. Embed Paypal Badge

h3. PayPal Button Types

@{ {paypal_donate(*button id*)} }@ (without the spaces) =>

        
*OR* @{ {paypal_buynow(*button id*)} }@ (without the spaces) =>
*button id* is generated from "PayPal":https://www.paypal.com/us/cgi-bin/webscr?cmd=_singleitem-intro-outside _example where *7T7Z7DHEDQA6L* becomes our button id_ <pre> <form> ... <input type="hidden" name="hosted_button_id" value="7T7Z7DHEDQA6L"> ... </form> </pre>

It was either do it with individual macros, or make a macro: paypal(id,type). So I did both, but this wiki code only uses the former.

Just realized I forgot to do the add to cart button. Let me throw it in quick

Updated by Kevin Bouwkamp about 6 years ago

K here's some code for the PayPal add to cart button:

@{ {paypal_cart(*button id*)} }@ (without the spaces) =>

        

Updated by Kevin Bouwkamp about 6 years ago

  • % Done changed from 90 to 100

Updated by J. Simmons about 6 years ago

This is great news. I will get these on my test server this week and take a look. With any luck we could see them on the live server over the weekend.

Updated by Admin Administrator about 6 years ago

  • Status changed from In Progress to Resolved

Tested, and published to the live server.

Also available in: Atom PDF