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

Reply
 
Thread Tools
Paypal Donations for vBulletin 3.0.7 Details »»
Paypal Donations for vBulletin 3.0.7
Version: 1.08, by Cloudrunner Cloudrunner is offline
Developer Last Online: Feb 2022 Show Printable Version Email this Page

Version: 3.0.7 Rating:
Released: 06-11-2005 Last Update: 07-02-2005 Installs: 109
DB Changes Template Edits
Code Changes Additional Files  
No support by the author.

Due to real life I have ended support of this hack. Please see licensing information below.

Please read the troubleshooting tips below before asking for support.

********************************
Paypal Donations for vBulletin 3.0.7
Hack Provided and coded by )O( Cloudrunner )O( of The Noble Pagan.
Release version: 1.07
Release Date: 28 June 2005

ChangeLog:
Paypal Donations 1.08

  • Simple file changes.
  • fixed problem in template edits.
Paypal Donations 1.07
  • Squashed an uninstaller bug that was plaguing many folks with a bad explode command.
  • Attempted an adjustment in the graph image maker file pp_image.php
    • Two Templates require revert for this fix:
      • donations_goal_bits (required)
      • adv_portal_donate_goals (required only if you have installed the vBadvance CMPS Module)
  • Fixed the graph bar color settings to show whether or not you installed the CMPS module.
Paypal Donations 1.06


  • Fixed small bug that displayed all users as donors regardless of their actual donor status.
  • Repaired typo in AdminCP
Paypal Donations 1.05
  • Fixed phrasing that showed up as loads of '\r\n' on the on the pages.
  • Added all donors page to system to show all donors
  • Added functionality so that shy users can hide their donor status from public view
  • Fixed a division by zero error that shows when a goal is assigned without a goal amount.
Paypal Donations 1.04
  • Fixed bug with the AdminCP that did not allow the user avatars to be displayed when viewing all donors.
  • Redid templates so that the currency sign changes automagickally to the chosen base currency.
  • Fixed an error on the installer that placed a dupe entry preventing further installation progress.
  • Redid installer for ease of updating the system when needed.
Paypal Donations 1.03
  • Fixed bug where on installation the currency exchanges were not being populated properly.
  • Changed user list on donor add in AdminCP to be sorted alphabetically
  • Fixed Avatar display for custom avatars in the AdminCP
  • Fixed short hand INSERTs in the installer. Should work with all versions of DB schemas now.
Special Thanks:
dsboyce8624
SLeeeper
And all of the Alpha Testers that helped out with this Hack!

I couldn't have done it without you.

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 because of Paypal's "Instant Payment Notification" system.

The basics are this:

  • Your users go to 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.
  • You can show your donation goals to the public.
  • Automatic updates EVERY time a user donates or retracts a donation.
  • This can be run in "dummy" test mode using Paypal's Sandbox site for testing purposes before you go live with it.
  • Your members who have donated are recognized for doing so in their profile and their postbit.
    • Your shy users have the ability to hide their donation status from public view in their profile options
  • vBadvanced CMPS Module Integrated
  • You can set Goals and have donations count for or against a specific goal
  • Multiple Currencies are supported automatically and use TODAY's exchange rate to make the donation (vB Cron Enabled)
  • Everything is controllable in the AdminCP
  • User-side is 100% phrased
  • System completely ignores any transaction not placed by it (i.e. Ebay transactions and other PayPal transactions are not included in your transaction history (cuts down on DB bloat)).
  • Donate Button(s) PNG source provided (Image Credits go to SLeeeper, Thank you for the help!)
  • You do NOT need to have paypal's IPN pointing at the system. The system tells Paypal WHERE to send the IPN transactions :-}
**Coming Soon**



  • Postbit Awards for certain levels of donations that you decide on
  • Donation / Donor Categories
Stuff you have to do
Files to upload: 34
Files to modify: 3
Templates to modify: 1 (required) / 2 (Optional)
Queries to run: (The install script does this for you, uninstallation is also provided as well)
Ease of install: easy, simply follow the instructions in the install script.
Time of install: ~5 minutes
***REMEMBER! Add your email address that Paypal has on file in Donations settings. 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 http://www.paypal.com and the select Instant Payment Notification. There will be a checkbox that you must check, you do NOT have to point to the script at Paypal, if you choose not to do this, then you will need to make sure that your Notification URL is put in the settings or this script will NOT WORK!

On most systems it will be either:
http://www.yourdomain.com/ppverify.php
or
http://www.yourdomain.com/forum/ppverify.php
That's all there is to setting up Paypal to work with your site!

Install
Upload all the files in the archive into their provided directories

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

This will usually be:
http://www.yourdomain.com/forum/admi...ns_install.php
or
http://www.yourdomain.com/admincp/donations_install.php
How To Use The System
To begin with, you simply upload all the files into their respective directories (keeping the structure in the archive).

After you upload the files, point your browser to the installation file: donations_install.php and run the installer all the way through, remembering to save your settings at the end (you MUST put in your paypal email, and the path to donate.php, and the path to ppverify.php). Remember, if you have the system set in test mode, you will not be able to process LIVE transactions. If you are going live immediately, then change this setting to no!
After you install, simply delete the donation_install folder and all files within it, and the install file.

Now you are ready to play. The system is 100% phrased on the user viewable side, so you will need to edit some of the phrases to better suit your site, specifically the phrases titled:

your_donations_are_appreciated
all_donations_go_towards_furthering_goals
donation_used_to_further_mission


are the ones that I recommend redoing to suit your site.

After editing the phrases, next comes adding your donation buttons and goals.

Always add your goals first as the buttons can be attached to a specific goal so that the user gets credit for donating towards a specific goal (you can of course add a button that does not attach to a goal for a general coffer fund type of deal, but goals are the preferred method).

After adding a goal, you can then add a button to the site.

The settings for the buttons are self-explanatory for the most part, the only required input from you is the title, and the description of the button. Everything else will work fine without input.

The system defaults to use the USD currency. If you change this currency in the Donations settings, then to get the correct exchange pricing, you need to run the CRON file to update your Exchange Rates table.

To do this simply log into your AdminCP and then do the following:


  1. Scroll down your navigation bar on the left and find the Scheduled tasks navigation group, open that up and click on "Scheduled Task Manager".
  2. Find the CRON named "Donations Currency Exchange Quotes"
  3. To the right of that you will find a button named "Run Now"
  4. Click that button and wait until the system says Done.
Once the system has reloaded the exchange rates using your new currency you are ready to go and start collecting donations.

From there, it's all fairly intuitive. The biggest thing to remember is that to use this hack you MUST have a paypal Business or Premiere account, and have turned IPN on in your Paypal profile. If you run into troubles with a transaction, make sure that you are not trying to verify a sandbox transaction with the live Paypal server and vice versa (the test setting). Secondly, this system will notify you of suspect transactions that Paypal refuses to validate. If you get an email stating that a transaction was invalid, it would suit you to investigate it to find out where the transaction came from and why it failed verification. If all is kosher you can add the donor to the AdminCP so that they get credit for the donation.

To assist in this you can edit an invalid transaction to show as valid if the transaction turns out to be kosher. The steps to this are as follows:
  1. Make sure transaction is valid
  2. Edit invalid transaction to show as valid
  3. Edit goal and add that transaction amount to the total
  4. Edit / Add donor (user) to the DB to give credit
This will get the transaction into your database properly and give credit everywhere it is needed for the system to read it properly.






After Install
You will need to add a link somewhere in your navigation system for vBulletin pointing your users to the donations page (if you installed the vBadvanced Module then you have a link on the home page, but you might want to add one in the nav bar as well), as well as setting up your paypal account to give IPN responses to you, you can do this in your Paypal Profile under Instant Payment Notification.

To play in PayPal's Sandbox you will need to be registered with their developer network and setup a few sandbox accounts to play with the sandbox properly. I have throughly tested the sandbox functionality, and it is working until they decide to change coding standards again.

Troubleshooting tips and procedures
Due to the multitude of possible break-points between Paypal and this script I must request that the following be followed before reequesting support on this system from this point forward:


  1. Do some basic troubleshooting on your own first and see if you can find where the break happened. You might be able to fix it from that.
  2. Check to see that you are not sending test transactions to the live Paypal Server (check your testing setting in AdminCP)
  3. Verify that your custom variable is output as
    HTML Code:
    <input type="hidden" name="custom" value="donation:*userid*:*goalid*">
  4. Make sure that you COMPLETED the install 100% (if you did not make it to the settings page at the end of the installation, then you did not complete the installation)
  5. Make sure that you have done the two required file edits (you can go back into the installer to verify this)
  6. If you had a donation made, but have not yet received notification at the script side of the house, then the transaction most likely went into the invalid transactions tables, check there if it is there, and you have verified the top three things above post here for support on this. There is a time lag in the invalid transaction notifications. If you receive an invalid transaction you will receive notification by email to the webmaster address in your vB settings. I need the following information in this circumstance:
    1. A post of the contents of the invalid table with identifiable information removed (ie. transaction id, addresses, phone numbers, IP addresses etc.)
    2. The address to your donate.php file
    3. Whether your system is in test mode or live mode
  7. For basic support problems, then I will need the address to your donate.php so that I can verify that your system is kicking out the proper information to send to paypal
  8. Above all else, please try to be as specific as possible, "The system broke..." doesn't do me any good to assist in giving you support, "The system broke at line 58 with the following error" is much better, and I am much more willing to support your problem with this symptom.
Lastly, if you have modified the base files in any way, I will NOT give support to this. The files are set in the way that they need to be to run under 90% of server installations. Any other installations that require files to be merged, etc., sorry but you are on yer own in that situation.

FYI: The Paypal Notification is completely seperate from the user being sent back to your site. Thus the reason that the ppverify.php file is NOT a function of donate.php.

How To Get vBadvanced CMPS v1 Module to work with vBadvance CMPS v2
Follow this link to aranthorn's Instructions on how to get this to work.
https://vborg.vbsupport.ru/showpost.php?p=669033&postcount=231

Thank you aranthorn!!!

********************************

I sincerely hope that you enjoy this hack, Please feel free to send feedback to tnp@noblepagan.com!

To view this in action head over to: http://damn.that-sucks.net or http://www.noblepagan.com

Thank you!

)O( Cloudrunner )O(

P.s. Anyone who feels the need to donate to me (*hint hint*) feel free to do so, I won't stop you (yeah, I'm as greedy as the next guy). In fact we are a non-profit organization over at The Noble Pagan, so your donation would be tax-deductible .

LICENSE:

Quote:
Originally Posted by Brandon J. Briggs aka. Cloudrunner
As the original author of the Paypal Hacks for vBulletin 3.0.x and 3.5.x I give full authorization to modify, recode, compile and/or reverse engineer the paypal donation hacks to any and all fully licensed members of vBulletin.org. I also give permission to fully distribute any derivative works that are created due to this authorization without need of providing credit or other means of recompense.
I am releasing this authorization in the hopes that someone will be able to carry on the work that was begun.

Supporters / CoAuthors

Show Your Support

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

Comments
  #12  
Old 06-12-2005, 10:54 PM
dsboyce8624 dsboyce8624 is offline
 
Join Date: May 2005
Location: New Jersey
Posts: 413
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gottcha
ok....i have a problem...tried to install and am getting database errors

Database error in vBulletin 3.0.7:

Invalid SQL: INSERT INTO settinggroup VALUES ('donations', '2020', '1')
mysql error: Duplicate entry 'donations' for key 1

tried to uninstall and get the following errors:

Warning: main(./includes/adminfunctions_language.php): failed to open stream: No such file or directory in /home/fragtrad/public_html/forums/admincp/donation_install/donation_uninstall.php on line 15

Fatal error: main(): Failed opening required './includes/adminfunctions_language.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/fragtrad/public_html/forums/admincp/donation_install/donation_uninstall.php on line 15
Is this your first install? If so do you have anything else that added a 'donations' value to your DB?
Reply With Quote
  #13  
Old 06-12-2005, 10:55 PM
Gottcha Gottcha is offline
 
Join Date: Oct 2004
Location: NY
Posts: 86
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

nothing that added a donation value to my site...

can ya tell me how to delete the value from my DB?
Reply With Quote
  #14  
Old 06-12-2005, 10:57 PM
dsboyce8624 dsboyce8624 is offline
 
Join Date: May 2005
Location: New Jersey
Posts: 413
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Did you run the install twice or hit refresh?

If you never installed it, as in you weren't a tester, I dunno how you could get that entry.
Reply With Quote
  #15  
Old 06-12-2005, 10:59 PM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by caimakale
So I hate to be the first one with a problem, but here it is.

During install, I get to the third step when I encounter this error.

Code:
Warning: file(http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=USD&format=CSV&dest=Get+Table&sel_list=): failed to open stream: Connection refused in /includes/cron/donation_currency_exchange.php on line 29

Warning: implode(): Bad arguments. in /includes/cron/donation_currency_exchange.php on line 31

Warning: file(http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=AUD&format=CSV&dest=Get+Table&sel_list=): failed to open stream: Connection refused in /includes/cron/donation_currency_exchange.php on line 29

Warning: implode(): Bad arguments. in /includes/cron/donation_currency_exchange.php on line 31

Warning: file(http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=CAD&format=CSV&dest=Get+Table&sel_list=): failed to open stream: Connection refused in /includes/cron/donation_currency_exchange.php on line 29

Warning: implode(): Bad arguments. in /includes/cron/donation_currency_exchange.php on line 31

Warning: file(http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=EUR&format=CSV&dest=Get+Table&sel_list=): failed to open stream: Connection refused in /includes/cron/donation_currency_exchange.php on line 29

Warning: implode(): Bad arguments. in /includes/cron/donation_currency_exchange.php on line 31

Warning: file(http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=GBP&format=CSV&dest=Get+Table&sel_list=): failed to open stream: Connection refused in /includes/cron/donation_currency_exchange.php on line 29

Warning: implode(): Bad arguments. in /includes/cron/donation_currency_exchange.php on line 31

Warning: file(http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=JPY&format=CSV&dest=Get+Table&sel_list=): failed to open stream: Connection refused in /includes/cron/donation_currency_exchange.php on line 29

Warning: implode(): Bad arguments. in /includes/cron/donation_currency_exchange.php on line 31
What could the problem be???
you have to be able to pass information back and forth from outside servers for this hack to run. If you run into this problem you will need to uninstall and get a server that will talk to other servers via HTTP properly.
Reply With Quote
  #16  
Old 06-12-2005, 11:00 PM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gottcha
nothing that added a donation value to my site...


can ya tell me how to delete the value from my DB?
Looking at that right now...gimme a minute.
Reply With Quote
  #17  
Old 06-12-2005, 11:00 PM
Gottcha Gottcha is offline
 
Join Date: Oct 2004
Location: NY
Posts: 86
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

when i first ran the install i ran the first option and it didnt work so i tried the second option and now i get that error....i went into my db and removed all donation tables i saw and when i run the install now i get:

Invalid SQL: UPDATE donation_currency_exchange SET `USD` = '1'
mysql error: Table 'fragtrad_fragtraders.donation_currency_exchange' doesn't exist
Reply With Quote
  #18  
Old 06-12-2005, 11:02 PM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Gottcha
ok....i have a problem...tried to install and am getting database errors

Database error in vBulletin 3.0.7:

Invalid SQL: INSERT INTO settinggroup VALUES ('donations', '2020', '1')
mysql error: Duplicate entry 'donations' for key 1

tried to uninstall and get the following errors:

Warning: main(./includes/adminfunctions_language.php): failed to open stream: No such file or directory in /home/fragtrad/public_html/forums/admincp/donation_install/donation_uninstall.php on line 15

Fatal error: main(): Failed opening required './includes/adminfunctions_language.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/fragtrad/public_html/forums/admincp/donation_install/donation_uninstall.php on line 15
The duplicate value is there only if you have something else installed in that column with the same name. There is only one line in the system that calls that specific query.

On the uninstall error, where did you place your donations_install.php file?
Reply With Quote
  #19  
Old 06-12-2005, 11:04 PM
Gottcha Gottcha is offline
 
Join Date: Oct 2004
Location: NY
Posts: 86
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok i got it all uninstalled and a fresh install seems to be going fine...gimme a minute or so to do the file edits.
Reply With Quote
  #20  
Old 06-12-2005, 11:04 PM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cloudrunner
The duplicate value is there only if you have something else installed in that column with the same name. There is only one line in the system that calls that specific query.

On the uninstall error, where did you place your donations_install.php file?
if you goof on an install with ANY hack that includes an installer you must first uninstall that hack then reinstall it using the correct option. period.

gimme me a minute to figure out your uninstall error before you try anything else please.
Reply With Quote
  #21  
Old 06-12-2005, 11:05 PM
dsboyce8624 dsboyce8624 is offline
 
Join Date: May 2005
Location: New Jersey
Posts: 413
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cloudrunner
if you goof on an install with ANY hack that includes an installer you must first uninstall that hack then reinstall it using the correct option. period.

gimme me a minute to figure out your uninstall error before you try anything else please.
Too late.

I know all about the dangers of installing over an old install.

Yuck.
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 03:43 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.08670 seconds
  • Memory Usage 2,357KB
  • 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)bbcode_html
  • (7)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
  • (3)pagenav_pagelink
  • (2)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