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
  #252  
Old 06-20-2005, 12:04 AM
guvner guvner is offline
 
Join Date: Mar 2003
Location: Sydney
Posts: 98
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cloudrunner
Yer alot nicer than I was....
LOL, if I'd have received that email, my reply would have sounded a LOT different to my post
Reply With Quote
  #253  
Old 06-20-2005, 12:08 AM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by guvner
LOL, if I'd have received that email, my reply would have sounded a LOT different to my post
oh, it was, but I congratulated him on the size of his genitalia for contacting me directly
Reply With Quote
  #254  
Old 06-20-2005, 12:10 AM
TTG's Avatar
TTG TTG is offline
 
Join Date: May 2004
Location: Sth London
Posts: 1,042
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cloudrunner
Was not expecting an empty set there, sorry...

Anyway, attached is the correct donation_upgrade.php file.

I also updated the archive in the first post to reflect this change in the upgrader code.

Worked .. Back in business .. thanks Cloudrunner. Ain't gonna upgrade again untill I see a dozen other's do it and have no problems.

One quick question .. I could not edit the profile.php as shown in the file edits, got too many additions in there to simply overwrite. The only addition I could see that was different from the original was "INT, 'donor' =>" .. is that all there was to add ?
Reply With Quote
  #255  
Old 06-20-2005, 12:11 AM
Cloudrunner's Avatar
Cloudrunner Cloudrunner is offline
 
Join Date: May 2003
Location: Butte, MT
Posts: 635
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TTG
Worked .. Back in business .. thanks Cloudrunner. Ain't gonna upgrade again untill I see a dozen other's do it and have no problems.

One quick question .. I could not edit the profile.php as shown in the file edits, got too many additions in there to simply overwrite. The only addition I could see that was different from the original was "INT, 'donor' =>" .. is that all there was to add ?
yep, just the
PHP Code:
'donor' => INT
is added...

The upgrader is standardized now to the system, this is the last time I am expecting any problems, it's all set to run off of arrays for the installed items, so I do not forsee any issues with future versions....but now that I have said that, the thing will explode in my face

Seriously though, I'm not planning another upgrade for a few weeks...gonna work on the subscription integration and porting to 3.5 as well....
Reply With Quote
  #256  
Old 06-20-2005, 01:32 AM
KevinL KevinL is offline
 
Join Date: Apr 2005
Posts: 1,287
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This really is a great hack!

Thanks
Reply With Quote
  #257  
Old 06-20-2005, 01:35 AM
ManofManyStangs ManofManyStangs is offline
 
Join Date: Jun 2005
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there anyway to add a image to the postbit for the person that donates?

Also could we have like 3 different images bronze silver and gold?
Reply With Quote
  #258  
Old 06-20-2005, 01:56 AM
caimakale's Avatar
caimakale caimakale is offline
 
Join Date: Nov 2004
Posts: 325
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There is a template change that is optional and located in the install file, that does add the image to the postbit of users.
Reply With Quote
  #259  
Old 06-20-2005, 02:15 AM
caimakale's Avatar
caimakale caimakale is offline
 
Join Date: Nov 2004
Posts: 325
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I noticed a huge loss in image (buttons) quality with this release. The images had rough edges and didn't look very sharp. I uploaded the buttons from 1.4 and this fixed my problems. (they were different in size).

If I could make a request, and if its not something you want to integrate into the hack, if you can tell me for my site. How do I make the donors on the CMPS module list by the last donors, instead of highest donors? I want all other areas of the hack to show the highest donor first. So if I know what code to change in the cmps modules I can do it for my site.

The other thing I noticed, and I wanted to know if this was done on purpose, I had a donator on a past goal (a week ago), and she isn't showing up anywhere as donating anything. Not on the main page, not on donate.php, or on alldonors.php. She shows up in the database, but nowhere else. The "Donor" button isn't showing up under her name in posbit, but it is in others. I have the Donation Settings set to show Top Donators instead of latest donators, she is also my top donator and the reason I need to show others her donations, I don't want her to get mad for not getting recognition.

Any idea what's going on?

***EDIT***

I went in and set the top donor to show in the database. In the user table, I set "donor" to 1. Everyone else was set as 1, but not her. I don't know if the script checks the current goal and set them to 1 and not past donors. But I did fix this and everything is working fine now.
Reply With Quote
  #260  
Old 06-20-2005, 04:28 AM
Vman Vman is offline
 
Join Date: Apr 2004
Posts: 167
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cloudrunner
yep, just the
PHP Code:
'donor' => INT
is added...

The upgrader is standardized now to the system, this is the last time I am expecting any problems, it's all set to run off of arrays for the installed items, so I do not forsee any issues with future versions....but now that I have said that, the thing will explode in my face

Seriously though, I'm not planning another upgrade for a few weeks...gonna work on the subscription integration and porting to 3.5 as well....

Ahhhhhh, Don't forget to port for vPortal!!!!!!......you will be gettting alot of people asking for that as well...can't be that hard or different.....

lol..
Reply With Quote
  #261  
Old 06-20-2005, 07:34 AM
Lizard306's Avatar
Lizard306 Lizard306 is offline
 
Join Date: May 2005
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by MarcoH64
If i look in the install file, i think you have been instructed to make changes to both the './includes/adminfunctions_template.php' and the './admincp/index.php'
thanks
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 06:09 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.05858 seconds
  • Memory Usage 2,362KB
  • 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_html
  • (2)bbcode_php
  • (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
  • (4)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