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
  #572  
Old 09-27-2005, 07:13 AM
majorj0nny majorj0nny is offline
 
Join Date: May 2005
Posts: 105
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cloudrunner
Let's give a "for instance" here...If I walked up to you on the streets and said, "you're a piece of SH*T!" I'm fairly certain you'd be upset. Whether you act upon that is determined by the type of person that you are. I will not put up with that anywhere, so I called it out. By stating what you did, you were basically saying it to my face, and I acted according to the person that I am.

Now you can either accept my apology for taking this into the public eye instead of into PM, or not. If you choose to not take the apology, that is your choice.
... I really did not mean for you to take the 'crap' comment as being directed at you or your code in any way... Are you american ? I will put this down to cultural differences in local language as that comment I made meant something entirely different that you obviously percieved. So for that misunderstanding, I am truelly sorry if I caused offence.
Reply With Quote
  #573  
Old 09-27-2005, 12:20 PM
Reef Reef is offline
 
Join Date: May 2003
Location: USA
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cloudrunner could you please take a look back at this reply and let me know if you can help me staighten it out..

I only need to relax the permission to ppverify.php so paypal can access it on my private board. How can I bypass the need to 'login' in order for paypal to interact with this script?

https://vborg.vbsupport.ru/showthrea...640#post768640

I have had this working fine on 3.0.7 with vBadvanced CMPS other than this ability to auto-update... It would be awsome if this can be worked out..

Thanks
Reply With Quote
  #574  
Old 09-28-2005, 02:59 PM
Mastar's Avatar
Mastar Mastar is offline
 
Join Date: Sep 2005
Posts: 680
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I got this error --->>>

Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 29

Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 30

Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 31

Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 45

Fatal error: Failed opening required 'donation_install/donation_templates.php' (include_path='') in /mnt/large/home/****/****/fourms/admincp/donations_install.php on line 29

What do I need to do to correct??

Vb 3.09
Reply With Quote
  #575  
Old 09-30-2005, 10:38 PM
Mastar's Avatar
Mastar Mastar is offline
 
Join Date: Sep 2005
Posts: 680
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mastar
I got this error --->>>

Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 29

Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 30

Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 31


Warning: open_basedir restriction in effect. File is in wrong directory in /admincp/donations_install.php on line 45


Fatal error: Failed opening required 'donation_install/donation_templates.php' (include_path='') in /mnt/large/home/****/****/fourms/admincp/donations_install.php on line 29


What do I need to do to correct??

Vb 3.09

!!!!Can SomeOne HELP!!!!
Reply With Quote
  #576  
Old 10-02-2005, 03:55 AM
RapCapital RapCapital is offline
 
Join Date: Mar 2005
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Before i install i need to know if there's a way to add in people customly who have not donated using the hack but have donated directly through paypal.
Reply With Quote
  #577  
Old 10-03-2005, 01:58 PM
Mikecp421's Avatar
Mikecp421 Mikecp421 is offline
 
Join Date: Sep 2005
Location: NY
Posts: 208
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by RapCapital
Before i install i need to know if there's a way to add in people customly who have not donated using the hack but have donated directly through paypal.
yes there is, I do it all the time
Reply With Quote
  #578  
Old 10-06-2005, 12:37 AM
Trana Trana is offline
 
Join Date: Apr 2005
Posts: 604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Now that VB 3.5 is gold, any idea when we can expect an updated version of this script? It works great on my 3.0.7 board, but I am working on moving to 3.5.

Thanks!
Reply With Quote
  #579  
Old 10-07-2005, 04:38 AM
RapCapital RapCapital is offline
 
Join Date: Mar 2005
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello i have recently installed this hack, everything seems to work well so far except when i goto my ppverify.php file i get a white page that says there's a problem with my database

Database error in vBulletin 3.0.7:

Invalid SQL: INSERT INTO vb3_donation_paypalipn (
`txn_id`, `userid`, `test_ipn`, `notify_version`, `verify_sign`,
`first_name`, `last_name`, `payer_business_name`, `address_name`,
`address_street`, `address_city`, `address_state`, `address_zip`,
`address_country`, `address_status`, `payer_email`, `payer_id`,
`payer_status`, `business`, `receiver_email`, `receiver_id`,
`item_name`, `ip_address`, `quantity`, `invoice`,
`memo`, `tax`, `option_name1`, `option_selection1`, `option_name2`,
`option_selection2`, `payment_date`, `parent_txn_id`, `txn_type`,
`payment_type`, `payment_status`, `pending_reason`, `reason_code`,
`mc_gross`, `mc_fee`, `mc_currency`, `mc_handling`, `mc_shipping`,
`settle_amount`, `settle_currency`, `exchange_rate`, `case_id`,
`case_type`, `case_creation_date`, `valid`
) VALUES (
'', '0', '0', '0', '',
'', '', '', '',
'', '', '', '',
'', '', '', '',
'', '', '', '',
'', '', '0', '',
'', '0', '', '', '',
'', '', '', '',
'', '', '', '',
'0', '0', '', '0', '0',
'0', '', '0', '',
'', '', '0'
);
mysql error: Duplicate entry '' for key 1

mysql error number: 1062

Date: Thursday 06th of October 2005 10:35:59 PM
Script: http://www.rapcapital.com/forum/ppverify.php
Referer:
Username:****
IP Address: ******
Reply With Quote
  #580  
Old 10-09-2005, 08:41 AM
Tony89 Tony89 is offline
 
Join Date: Oct 2005
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I couldnt get this to work with 3.5.0. :ermm:
Reply With Quote
  #581  
Old 10-20-2005, 08:55 AM
micheal332001 micheal332001 is offline
 
Join Date: Apr 2004
Posts: 1,112
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

for this to work on 3.5 there needs to be code changes to all the php files.
As the new 3.5 uses a diffarent call for info from the database and othere things.
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 01:16 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06265 seconds
  • Memory Usage 2,353KB
  • 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
  • (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
  • (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