Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Beta Releases
FAQ Community Calendar Today's Posts Search

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
  #72  
Old 07-11-2003, 03:35 AM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bouncer --

Simply manually insert your information into the tables:

paypal_funds
paypal_contributors

and then change the donate field in your user table under your username to read '1'.

Heffe --

Currently, due to the way paypal has IPN setup with only one IPN per paypal account, there is no way to avoid this circumstance. I have asked paypal if they are planning on implementing a multiple site IPN, but thus far I have not received an answer.

99SIVTEC --

Yes, you can use this script globally across your sites, but it will require some slight modifications to the system, and requires that they all be on the same server. I don't think I'll be implementing this however due to time constraints on my part, but it would simply require that the other sites use the main site's paypal.php, ppfunc.php, and ppverify.php files, and also to read off the main site's database. It wouldn't be too hard to do I don't think, but I just don't have the time at the moment.

Shorty --

thank you for answering that one. You are correct. Paypal has a minimum fee of $0.01, so if you donate 0.01, and paypal deducts 0.01, and the mathematical law of 1-1=0 remains in effect, then it stands to reason that the total amount of the donation will be $0.00.

I am debating removing the fee paypal deducts from the user's donation to show what they intended to donate instead of the total minus the fee....still weighing the pros and cons of this scenario.

As for the rest of you

I'll be gone this entire weekend, so further updates will not be occurring probably until next weekend. I have a highland games to go to. So while I'm out there drumming with the pipes in me kilt, I'll be thinking about...well...the competition

Enjoy!

)O( Cloudrunner )O(
Reply With Quote
  #73  
Old 07-12-2003, 06:14 PM
kaotic's Avatar
kaotic kaotic is offline
 
Join Date: Mar 2003
Posts: 259
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First of all, thanks for the great hack. But I'm curious, do you still plan to integrate this with Lesane's Store Hack?
Reply With Quote
  #74  
Old 07-13-2003, 08:08 AM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It is planned yes, but I've not had time to even sleep properly with the new baby....He's starting to sleep longer during the night, so hopefully I'll be able to sleep better myself shortly, when that happens, production will again be in ernest . Until then I'm working on it as I get the chance and can think straight...who'da thought that sleep was something you need to actually function properly...
Reply With Quote
  #75  
Old 07-13-2003, 10:39 AM
sHORTYWZ sHORTYWZ is offline
 
Join Date: Jan 2002
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Alright, I have a strange problem

INSERT INTO paypal_contributors( userid, username, avatarurl, datelast, amount, guest_ip )
VALUES (

'166', 'Jaago', 'images/avatars/0/160.gif', NOW( ) , '23.97', NULL
)

MySQL said:

Duplicate entry '127' for key 1

Why would key 1 be entering 127, when the query says 166.

Here is what has happened recently :

I received an echeck payment, which went into the DB as "pending" - ever since then, no donations have been able to enter the db because of strange problems like this.. i have more info cloud, if you can send me an AIM msg when you get around.
Reply With Quote
  #76  
Old 07-13-2003, 05:04 PM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Another update....Thanks for finding the prob Shorty.

run the following in your DB manager:

Code:
ALTER TABLE `paypal_contributors` CHANGE `userid` `userid` INT( 255 ) DEFAULT '0' NOT NULL;
Enjoy!

)O( Cloudrunner )O(
Reply With Quote
  #77  
Old 07-13-2003, 07:53 PM
sHORTYWZ sHORTYWZ is offline
 
Join Date: Jan 2002
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Alright, just thought of something.. do funds/goals ever expire?

I don't know how to go about it.. but otherwise in about six months I'm going to have 2 pages of goals and my frontpage is going to say that we need to raise $1000 worth of donations..
Reply With Quote
  #78  
Old 07-13-2003, 08:08 PM
bouncer18 bouncer18 is offline
 
Join Date: Mar 2002
Posts: 181
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yea i manually entered it into my DB

but what i was saying was maybe add an IF THEN statement to it so it atleast shows up as $0.00 rather then just $
Reply With Quote
  #79  
Old 07-13-2003, 10:28 PM
Heffe2000 Heffe2000 is offline
 
Join Date: Nov 2001
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What would be the chance of this running on 2 seperate VB setups, on 2 different domains, via one paypal account? (I'm guessing that it won't, or would be too difficult...).

Could you use the donation name to route to a different paypal.php or something?

I'm setting up a new domain with a seperate VB running on it, and would like donations to show up on there & the older forums.

If paypal would allow you to have multiple accounts, this would be irrelevent, but since they restrict you to one (even if you have 2 people living in the same house with seperate accounts, you can have them blocked...).
Reply With Quote
  #80  
Old 07-14-2003, 05:27 AM
0zone's Avatar
0zone 0zone is offline
 
Join Date: Jan 2003
Location: Australia
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great hack, thanks a lot!
Reply With Quote
  #81  
Old 07-14-2003, 06:20 AM
0zone's Avatar
0zone 0zone is offline
 
Join Date: Jan 2003
Location: Australia
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Umm, one problem, the buttons aren't showing up.

http://www.avriltalk.com/forums/paypal.php
Reply With Quote
Reply


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 10:51 AM.


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.09630 seconds
  • Memory Usage 2,328KB
  • Queries Executed 26 (?)
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
  • (1)bbcode_code
  • (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
  • (1)pagenav_pagelinkrel
  • (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_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