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
  #42  
Old 06-22-2003, 11:44 AM
Rebel38 Rebel38 is offline
 
Join Date: Feb 2003
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi I'm getting this error when I try create a new button any idea what could be causing it?
Thaks
Rebel

Database error in vBulletin Control Panel 2.3.0:

Invalid SQL: INSERT INTO paypal_donatebuttons (id,
business,
item_name,
item_number,
image_url,
no_shipping,
return,
rm,
cancel_return,
no_note,
cn,
cs,
custom,
invoice,
tax,
currency_code,
amount,
submit_button) VALUES (NULL, '', 'Site Donations', '', '', '', 'http://www.mysite.com/forum1/paypal.php?action=success', '1', 'http://www.mysite.com/forum1/paypal.php?action=cancel', '', 'Comments', '1', 'mysite', 'Aus1', 'N/A', 'USD', '$200', 'http://www.mysite.com/donate.gif')
mysql error: Unknown column 'item_number' in 'field list'

mysql error number: 1054

Date: Sunday 22nd of June 2003 07:34:50 AM
Script: http://www.mysite.com/forum1/forum1/...ypal_admin.php
Referer: http://www.mysite.com/forum1/admin/p...n=make_button&
Reply With Quote
  #43  
Old 06-22-2003, 03:36 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You haven't installed the queries correctly as the item_number column does not exist ^^

Try

- miSt
Reply With Quote
  #44  
Old 06-22-2003, 05:56 PM
ap0c's Avatar
ap0c ap0c is offline
 
Join Date: Mar 2003
Posts: 210
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nice update on this Cloudrunner
Reply With Quote
  #45  
Old 06-22-2003, 05:58 PM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually, the item_number column was removed for the guest posters portion of the hack...unfortunately, this is my fault, I forgot to remove that in the paypal_admin.php.

I will fix it and get the fixed archive up again.

bug found

mist, okay, I'm not quite understanding again...you want the donation button to be displayed for xxx amount of (days, weeks, months, years, etc). and then upon expiration anyone who donated using that button get their awards and such removed right? What about the topten listing? do we want them removed from there as well?

I fix my post upstairs too...sorry, I thought it was funny :P

Okay to fix the donate_buttons query before I get the new archive up here:

edit: This bug has been fixed and is in the archive for 0.9.5 and later.
Reply With Quote
  #46  
Old 06-22-2003, 06:52 PM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Found another bug, sorry!

edit: This bug has been fixed and is in the archive for 0.9.5 and later.
Reply With Quote
  #47  
Old 06-24-2003, 12:23 AM
sHORTYWZ sHORTYWZ is offline
 
Join Date: Jan 2002
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

definatly clicked on install on this one man.. looks GREAT..

question though, i had a friend of mine who wasn't registered on my board post a $1 donation at a test - everything is in the db correctly, however he isn't showing up on the contributor list.. nothing listed on there, not even guest. design or flaw?
Reply With Quote
  #48  
Old 06-24-2003, 01:23 AM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

until the donation is marked as "Complete" from paypal's IPN then nothing will show up on the contributors list. If after the payment_status column shows up as "Complete" for that transaction, the information still does not show on the contributors list then let me know cus then it would be a bug...Thanks
Reply With Quote
  #49  
Old 06-24-2003, 01:27 AM
Crazy Pete Crazy Pete is offline
 
Join Date: Nov 2002
Posts: 155
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There appears to be a big discrepancy in the code for this when editing/adding buttons now. 0.9.2 worked fine, but it seems to be trying to find several columns which no longer exist...

Database error in vBulletin Control Panel 2.3.0:


Invalid SQL: INSERT INTO paypal_donatebuttons (id,
business,
item_name,
image_url,
no_shipping,
return,
rm,
cancel_return,
no_note,
cn,
cs,
custom,
invoice,
tax,
currency_code,
amount,
submit_button) VALUES (NULL, 'donations@expectedmiracles.com', 'emdonation', 'http://www.expectedmiracles.com/images/expect.1.jpg', '', 'http://www.expectedmiracles.com/forums/paypal.php?action=success', '1', 'http://www.expectedmiracles.com/forums/paypal.php?action=cancel', '', 'Comments:', '0', '', '', '', '', '', 'http://www.expectedmiracles.com/forums/images/donate.gif')
mysql error: Unknown column 'custom' in 'field list'


mysql error number: 1054


Date: Monday 23rd of June 2003 10:24:12 PM
Script: http://www.expectedmiracles.com/foru...ypal_admin.php
Referer: http://www.expectedmiracles.com/foru...make_button&s=

-and-

Database error in vBulletin Control Panel 2.3.0:


Invalid SQL: INSERT INTO paypal_donatebuttons (id,
business,
item_name,
item_number,
image_url,
no_shipping,
return,
rm,
cancel_return,
no_note,
cn,
cs,
custom,
invoice,
tax,
currency_code,
amount,
submit_button) VALUES (NULL, 'donations@expectedmiracles.com', 'emdonation', '', 'http://www.expectedmiracles.com/images/expect.1.jpg', '', 'http://www.expectedmiracles.com/forums/paypal.php?action=success', '1', 'http://www.expectedmiracles.com/forums/paypal.php?action=cancel', '', 'Comments:', '0', '', '', '', '', '', 'http://www.expectedmiracles.com/forums/images/donate.gif')
mysql error: Unknown column 'item_number' in 'field list'


mysql error number: 1054


Date: Monday 23rd of June 2003 10:20:54 PM
Script: http://www.expectedmiracles.com/foru...ypal_admin.php
Referer: http://www.expectedmiracles.com/forums/admin/paypal

I got it working but I had to remove those two lines of code from the paypal_admin file. Not sure what happened there or if you were aware of it just yet.
Reply With Quote
  #50  
Old 06-24-2003, 01:30 AM
sHORTYWZ sHORTYWZ is offline
 
Join Date: Jan 2002
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's showing up as completed in the DB.
Reply With Quote
  #51  
Old 06-24-2003, 04:12 AM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Crazy Pete--

Both database errors were addressed already

https://vborg.vbsupport.ru/showthrea...663#post411663

And a bug found as well after that one was addressed:

https://vborg.vbsupport.ru/showthrea...680#post411680

Shorty--Please contact me via on of the IM's listed in my profile. I need to take a look at your setup, I may have missed something, but my end is working fine.
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 05: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.12184 seconds
  • Memory Usage 2,330KB
  • 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
  • (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_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