Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Beta Releases

Reply
 
Thread Tools
Paypal Donations (With Instant Payment Notification) -- RC1 (Public Testing) Details »»
Paypal Donations (With Instant Payment Notification) -- RC1 (Public Testing)
Version: 1.00, by Cloudrunner Cloudrunner is offline
Developer Last Online: Feb 2022 Show Printable Version Email this Page

Version: 2.3.x Rating:
Released: 06-16-2003 Last Update: 06-27-2003 Installs: 51
Is in Beta Stage  
No support by the author.

This hack is obsolete, and is currently being ported to 3.0.7, and will be ported to 3.5 when it is allowed.

Thank you for your understanding.
[b]

Version 0.9.5 is a major fix to a bug that was found by shortywz. Please download the new archive and overwrite your old files to upgrade to 0.9.5 if you are running 0.9.4, if you are running any version lower than 0.9.4 then after overwriting the old files run the installer

Paypal Donations for vBulletin

What it does:
Quite simply this hack provides you a way to receive donations from your website's users and provide them with the recognition deserving of a donating member of you community. It uses Paypal exclusively for the time being because of Paypal's "Instant Payment Notification" system. For more information on Paypal's IPN, please see the supplied manual for IPN located here in the docs directory. The file name is: "IPN.PDF".

The basics are this, your users goto your donations page where you have certain levels of donations available via hyperlinked "buttons". These buttons take your user to paypal's secure payment processing system where they pay you your donation. Once payment has been received, paypal sends your server a notification containing certain information pertaining to that specific transaction. Your server then repeats this information to the verification server (which is hardcoded into the system so that *spoofing* is rendered virtually impossible) which first checks to see if the information was sent by it, then checks the validity of the information. If everything checks out, it then sends your server a response of "VERIFIED". When this hack see that word after running the script it inserts all the information into your database so that you can see what was donated, who donated it, and where.

If the server returns a response of "INVALID" then this script drops the information into a separate table so that you can investigate the transaction further to detect fraud attempts. It also does this on any suspicious entries after a few checks. Once payment is verified and information has been inserted into the tables, the system then adds a few toys and items for the user to be recognized as a donating user. What you do with that recognition is up to you.

Features:
  • You as the admin have the ability to show as little or as much as you want about what happens with your donations.
  • Your users will only see what you want them to see.
  • Can block other admins from seeing the actual payment information (you have to explicitly allow them access to that).
  • Your members who have donated are recognized for doing so in the memberlist and their postbit.
  • You can show your donation goals to the public and on your forumhome.
  • Automatic updates EVERY time a user donates or retracts a donation.
  • Postbit Awards for certain levels of donations that you decide on
  • User has the ability to choose whether they receive the awards recognition
  • Admin can customize the PM sent to donators thanking them for donating.
  • Guest donations are now listed individually, sorted by IP(not displayed) on the Top Ten list, and within the database
**Coming Soon**
  • Add a time-limited feature for the donation buttons
  • Fix guest donations to show each indiviual guest's donations sorted uniquely
  • Integration with Lesane's Store Hack
  • The ability to verify Paypal's Secure Server ID and transfer the payment information via SSL if you have that enabled
Stuff you have to do:
Files to upload: 9
Files to modify: 7
Templates to modify: 4
Queries to run: (The install script does this for you, uninstallation is also provided as well)
Ease of install: Simple, but abit intensive with some file edits
Time of install: ~10 minutes

***REMEMBER! Add your email address that Paypal has on file in the ppfunc.php file. This step is not an option, your payments, although they may be valid, will all be considered invalid if you do not do this! Sign up for Paypal's Premiere Account (Business), and setup IPN.

Paypal Registration:
You will need to register with Paypal for a premiere account if you have not already, if you have, but your account is probably a personal account, you will need to upgrade the account to a premiere account. Assuming that you have a premiere account and have been verified, you then go into your profile at https://www.paypal.com and the select Instant Payment Notification. There will be a checkbox that you must check, and an inputbox where you will need to place your script file. Simply place your entire URL to the paypal.php file there.

On most systems it will be either:

http://www.yourdomain.com/paypal.php

or

http://www.yourdomain.com/forum/paypal.php

That's all there is to setting up Paypal to work with your site!

Install:
Upload the following files to your $ROOT/forum directory:

paypal.php
ppverify.php
ppfunc.php

Upload the following files to your $ROOT/forum/admin directory:

paypal_admin.php
paypal_donations_install.php

Upload the following files to your $ROOT/forum/images directory:

donate.gif
donate2.gif
donate3.gif
donate4.gif

Run the provided install file, after installation, DELETE THE FILE!

This will usually be:

http://www.yourdomain.com/forum/admi...ns_install.php

or

http://www.yourdomain.com/admin/payp...ns_install.php

Upgrading:
Upload the following files to your $ROOT/forum directory overwriting the old files:

paypal.php
ppverify.php
ppfunc.php

Upload the following files to your $ROOT/forum/admin directory:

paypal_admin.php
paypal_donations_install.php

Upload the following files to your $ROOT/forum/images directory:

donate.gif
donate2.gif
donate3.gif
donate4.gif

Run the provided install file and follow the upgrade instructions, after upgrading, DELETE THE FILE!

This will usually be:

http://www.yourdomain.com/forum/admi...ns_install.php

or

http://www.yourdomain.com/admin/payp...ns_install.php

After Install:
You will need to add a link somewhere in your navigation system for vBulletin pointing your users to the donations page.

------------------------------------------------------------------------
I sincerely hope that you enjoy this hack.

This thread is specifically for the use of bugs reporting and feature suggestions.

You are allowed to hack the crap outta this here script for your own personal use, BUT, if you do, I will not be able to provide you with support for the system if the base code has been changed! Also, if we find another hack that interferes with this one, I will do my best to provide a work around for it, but I will not garuantee that to occur!

For those of you who have been alpha testing this for me, THANK YOU! To upgrade from Alpha to Beta, you will have to do a complete uninstall (including file modifications) and reinstall. This is due to the extensive redo of code in vb resident pages. I hope you can understand.

Thank you!

)O( Cloudrunner )O(

P.s. --> I you want to be notified whenever I updated the Paypal Donations System, I suggest that you push that little button up top and down below that says install, It's especially useful to you to do so, cus when a New Version comes out, I can simply update and anyone who has it installed will be notified.....Just a suggestion...

A special thank goes out to ap0c for keeping me on my toes during Alpha testing...dude can find some bugs, lemme tell ya! And thanks for the suggestions as well bro! I added all of em.

Attached is the full release which includes screenshots and the manuals from Paypal for IPN and Donations for those of you who really want to play with the code for reference. Warning, the file is large!

If you want a smaller file, then look here. The archive in that post is the smaller of the two at ~30K compared to ~1M. It does NOT contain the manuals OR the screens (as requested by gmarik).

Enjoy

(with the addition of the manuals and screens, the archive is too big to attach. If you want these, pm me and I'll send it them too you, or simply download the screens archive a few posts down, and then download the manuals from Paypal.)

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #82  
Old 07-15-2003, 10:57 AM
Marulatree's Avatar
Marulatree Marulatree is offline
 
Join Date: Nov 2002
Location: London
Posts: 135
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have noticed with all paypal donations - the member donating seems to be tricked into registering with paypal. Is there another page that the member can just fill the donatation amount with there visa/switch details? I see what the script does for the members (giving the oppotunity to earn benefits for donations.)But if I just want to add a donation button to my postbit for example that allows the member/guest to just fill in there card details and the donation will be paid into my paypal account.

If this is not possible, are there any websites that allow this type of donation service that you guys know of?

Please PM me with any suggestions. Thanks in advance.

Cloudrunner, great hack by the way. You deserve a frickin' medal my man!

MT
Reply With Quote
  #83  
Old 07-17-2003, 04:06 AM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Shorty--

The only way to expire the goals at the moment is to remove them. I fogot to add the delete function into the admin manager. It's in me Todo list

Bouncer, I'll look into that, but really do not see the relevence of it since if the user donates a penny, it's pretty much not a donation now is it since Paypal takes that penny away

Heffe--

At the moment it cannot be done due to the way Paypl implements their IPN system.

0zone--

Have you enabled them in the admin options for the donations? You have to tell the system that you want them to show up, this is in the donations options section of the adminCP. And thank you

Marulatree--

Thanks for the praise, I needed that today. Unfortunately Paypal requires the folks to activate an account with them for you to accept their payment. There are a couple of other payment gateways available to do the visa straight through, but they require you to pay up front and hold a merchant account with them (which requires a credit background check etc.), and the ones that do not require this are not written into this hack
Reply With Quote
  #84  
Old 07-17-2003, 10:21 PM
sHORTYWZ sHORTYWZ is offline
 
Join Date: Jan 2002
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cloud -

Having problems with that transaction where I had to manually to enter the user into the contributions table - the "has contributed xxxx to the board so far" isn't showing up under his name.. I've checked the entry and everything and the userid is correct so I can't think any reason it wouldn't be working.. ideas?
Reply With Quote
  #85  
Old 07-17-2003, 11:09 PM
Skyline_GT Skyline_GT is offline
 
Join Date: May 2003
Location: Vancouver, BC
Posts: 482
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hm.. how come my thing don't show up in the forumhome and postbit? I added the $donations_needed already..
Please help
Reply With Quote
  #86  
Old 07-18-2003, 01:37 PM
Falkware Falkware is offline
 
Join Date: Dec 2001
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First of all...thanks for a superb hack!

This makes things so easy for me compared to the manual labor I had to do for each contributing member.

I was looking for a system like this for a long time and I can't believe I found this! heh...

I have some minor requests, if that's ok. I figured since this is beta still that you won't mind...

1) Usergroup
Having the option to automatically move a contributing user to a specified usergroup upon successful/completed donation. I have a separate usergroup for contributors, giving them access to special forums etc on my site, and it would be great if the system could automatically transfer them to a usergroup admin specifies when their donation clears.

2) Delete function/Expire function on goals
Being able to expire goals would be great. Especially if there was some sort of automation, where if you flag a goal as "purchased" or "reached" it would then go away.

For instance, if you're setting up a goal to reach $xxx for a software/hardware addidtion to the site, and you reach that, then you're able to flag that goal as reached and that particular goal is removed and/or archived

I say Archived because it would be cool to have a list of "Goals Reached". This would show the contributing users that their donations are in fact helping the site. I realize this might be a little redundant, so it's just an open suggestion.

3) Donation Amount Explanations
One of the plans on our site is to set up the different donation amounts for users to quickly choose an amount they want to donate and thankfully that's already in there. One thing we do on the site is to offer some different perks depending on amount donated and it would be really great if we had a text field to write these in on each donation amount. For us it would just be a bulleted list of perks per amount...

4) Donating to a specific goal
This is more of a user-side suggestion. Some users are likely to want to donate their money to one goal in particular. Let's say you have 5 goals set up on your site. These are goals adding different features to your site. User X wants to donate $xx to goal #1. Is there any way to have donation buttons per goal so the user can click desired amount for a goal and have it reflect his goal donation in the Item Title of the donation as his contribution done towards that particular goal?

I don't know if that makes sense, so let's clearify.

Let's say we have goal 1 and goal 2. A user wants to donate to goal 2 as this seems to interest him. He clicks on a button for $20 under goal 2 and goes through the donation steps.

An E-mail arrives to system admin as always. In the Email it says...

------------------------------
Payment Details:
------------------------------

Total Amount: $20.00
Currency: U.S. Dollars
Transaction ID: xxxxxxxxxxxxxxxxxxx
Quantity: 1
Item Title: Site Name - Donation towards goal2name
Item Number: 1
Invoice ID: xxxxxxxx
Buyer: Name Surname

Just an idea of course It would open up possibilities for separating goals on the frontpage of forums too and show how much is needed for the different goals etc...

Well, here I am suggesting a ton of stuff. I honestly am VERY happy about this system. It makes my life easier!

Of the suggested features I would have to say I personally would really enjoy the usergroup feature the most, seeing how that's something we rely on.

I bet other sites using this system takes advantage of the usergroup powers as well...but I might be wrong of course

Thanks again and keep up the stellar work!

*Clicks Install*
Reply With Quote
  #87  
Old 07-21-2003, 06:45 AM
Skyline_GT Skyline_GT is offline
 
Join Date: May 2003
Location: Vancouver, BC
Posts: 482
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

anyone help me?
please?
Reply With Quote
  #88  
Old 07-21-2003, 03:47 PM
jc2002 jc2002 is offline
 
Join Date: Feb 2003
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I installed the hack, but in my admin, I cannot see the other options except the first one. I remember that there should be an option for managing goals, awards, buttons, but cannot see them, why?
Reply With Quote
  #89  
Old 07-22-2003, 05:13 AM
Falkware Falkware is offline
 
Join Date: Dec 2001
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I ran into a problem and I wanted to see if anyone else could replicate this.

Someone made a donation through the paypal system, testing it's functionality for me. An error occured and I made some changes to the system as they received an error too.

Error that arrived in my Inbox included:

Quote:
mysql error: Duplicate entry '311656859T426214A' for key 1

mysql error number: 1062
I refunded the donation to the person in question through the paypal system since I couldn't find any option to do this through this system's admin.

When I did that I received an email containing:

Quote:
You have received a new payment transaction. To view the deatils of this new transaction place the following line into your database manager:

SELECT * FROM `paypal` WHERE `txn_id` = '61C12242C1842292T'

Enjoy!
When the person went to make another donation she received the following:

Quote:
Error Detected

This invoice has already been paid. For more information, please contact the merchant.
So does this mean a person cannot make more than one donation through this system? What happens if a person wants to make monthly donations to the site?

How come when the donation was refunded to the person I got a 'new payment transaction' notice?

So far the system looks real nice and with some html edits I got it looking real nice. Now if I can figure out these little 'errors' I'll be a happy user!
Reply With Quote
  #90  
Old 07-23-2003, 01:51 AM
0zone's Avatar
0zone 0zone is offline
 
Join Date: Jan 2003
Location: Australia
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:

0zone--

Have you enabled them in the admin options for the donations? You have to tell the system that you want them to show up, this is in the donations options section of the adminCP. And thank you
Cloudrunner, I enabled everything in my admin options under donations, but alas, still no buttons. I have made sure I have uploaded it into the right directory, so there is no problem there. I had absolutely NO errors whilst installing this hack.

I am stumped. I really want to use this hack
Reply With Quote
  #91  
Old 07-23-2003, 01:04 PM
jc2002 jc2002 is offline
 
Join Date: Feb 2003
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ozone, do u see an option under Donations that says Add button? If you don't, your installatin is not complete.
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:11 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07916 seconds
  • Memory Usage 2,333KB
  • Queries Executed 28 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete