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

Reply
 
Thread Tools
Paypal Donations (With Instant Payment Notification) -- RC1 (Public Testing) Details »»
Paypal Donations (With Instant Payment Notification) -- RC1 (Public Testing)
Version: 1.00, by Cloudrunner Cloudrunner is offline
Developer Last Online: Feb 2022 Show Printable Version Email this Page

Version: 2.3.x Rating:
Released: 06-16-2003 Last Update: 06-27-2003 Installs: 51
Is in Beta Stage  
No support by the author.

This hack is obsolete, and is currently being ported to 3.0.7, and will be ported to 3.5 when it is allowed.

Thank you for your understanding.
[b]

Version 0.9.5 is a major fix to a bug that was found by shortywz. Please download the new archive and overwrite your old files to upgrade to 0.9.5 if you are running 0.9.4, if you are running any version lower than 0.9.4 then after overwriting the old files run the installer

Paypal Donations for vBulletin

What it does:
Quite simply this hack provides you a way to receive donations from your website's users and provide them with the recognition deserving of a donating member of you community. It uses Paypal exclusively for the time being because of Paypal's "Instant Payment Notification" system. For more information on Paypal's IPN, please see the supplied manual for IPN located here in the docs directory. The file name is: "IPN.PDF".

The basics are this, your users goto your donations page where you have certain levels of donations available via hyperlinked "buttons". These buttons take your user to paypal's secure payment processing system where they pay you your donation. Once payment has been received, paypal sends your server a notification containing certain information pertaining to that specific transaction. Your server then repeats this information to the verification server (which is hardcoded into the system so that *spoofing* is rendered virtually impossible) which first checks to see if the information was sent by it, then checks the validity of the information. If everything checks out, it then sends your server a response of "VERIFIED". When this hack see that word after running the script it inserts all the information into your database so that you can see what was donated, who donated it, and where.

If the server returns a response of "INVALID" then this script drops the information into a separate table so that you can investigate the transaction further to detect fraud attempts. It also does this on any suspicious entries after a few checks. Once payment is verified and information has been inserted into the tables, the system then adds a few toys and items for the user to be recognized as a donating user. What you do with that recognition is up to you.

Features:
  • You as the admin have the ability to show as little or as much as you want about what happens with your donations.
  • Your users will only see what you want them to see.
  • Can block other admins from seeing the actual payment information (you have to explicitly allow them access to that).
  • Your members who have donated are recognized for doing so in the memberlist and their postbit.
  • You can show your donation goals to the public and on your forumhome.
  • Automatic updates EVERY time a user donates or retracts a donation.
  • Postbit Awards for certain levels of donations that you decide on
  • User has the ability to choose whether they receive the awards recognition
  • Admin can customize the PM sent to donators thanking them for donating.
  • Guest donations are now listed individually, sorted by IP(not displayed) on the Top Ten list, and within the database
**Coming Soon**
  • Add a time-limited feature for the donation buttons
  • Fix guest donations to show each indiviual guest's donations sorted uniquely
  • Integration with Lesane's Store Hack
  • The ability to verify Paypal's Secure Server ID and transfer the payment information via SSL if you have that enabled
Stuff you have to do:
Files to upload: 9
Files to modify: 7
Templates to modify: 4
Queries to run: (The install script does this for you, uninstallation is also provided as well)
Ease of install: Simple, but abit intensive with some file edits
Time of install: ~10 minutes

***REMEMBER! Add your email address that Paypal has on file in the ppfunc.php file. This step is not an option, your payments, although they may be valid, will all be considered invalid if you do not do this! Sign up for Paypal's Premiere Account (Business), and setup IPN.

Paypal Registration:
You will need to register with Paypal for a premiere account if you have not already, if you have, but your account is probably a personal account, you will need to upgrade the account to a premiere account. Assuming that you have a premiere account and have been verified, you then go into your profile at https://www.paypal.com and the select Instant Payment Notification. There will be a checkbox that you must check, and an inputbox where you will need to place your script file. Simply place your entire URL to the paypal.php file there.

On most systems it will be either:

http://www.yourdomain.com/paypal.php

or

http://www.yourdomain.com/forum/paypal.php

That's all there is to setting up Paypal to work with your site!

Install:
Upload the following files to your $ROOT/forum directory:

paypal.php
ppverify.php
ppfunc.php

Upload the following files to your $ROOT/forum/admin directory:

paypal_admin.php
paypal_donations_install.php

Upload the following files to your $ROOT/forum/images directory:

donate.gif
donate2.gif
donate3.gif
donate4.gif

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

This will usually be:

http://www.yourdomain.com/forum/admi...ns_install.php

or

http://www.yourdomain.com/admin/payp...ns_install.php

Upgrading:
Upload the following files to your $ROOT/forum directory overwriting the old files:

paypal.php
ppverify.php
ppfunc.php

Upload the following files to your $ROOT/forum/admin directory:

paypal_admin.php
paypal_donations_install.php

Upload the following files to your $ROOT/forum/images directory:

donate.gif
donate2.gif
donate3.gif
donate4.gif

Run the provided install file and follow the upgrade instructions, after upgrading, DELETE THE FILE!

This will usually be:

http://www.yourdomain.com/forum/admi...ns_install.php

or

http://www.yourdomain.com/admin/payp...ns_install.php

After Install:
You will need to add a link somewhere in your navigation system for vBulletin pointing your users to the donations page.

------------------------------------------------------------------------
I sincerely hope that you enjoy this hack.

This thread is specifically for the use of bugs reporting and feature suggestions.

You are allowed to hack the crap outta this here script for your own personal use, BUT, if you do, I will not be able to provide you with support for the system if the base code has been changed! Also, if we find another hack that interferes with this one, I will do my best to provide a work around for it, but I will not garuantee that to occur!

For those of you who have been alpha testing this for me, THANK YOU! To upgrade from Alpha to Beta, you will have to do a complete uninstall (including file modifications) and reinstall. This is due to the extensive redo of code in vb resident pages. I hope you can understand.

Thank you!

)O( Cloudrunner )O(

P.s. --> I you want to be notified whenever I updated the Paypal Donations System, I suggest that you push that little button up top and down below that says install, It's especially useful to you to do so, cus when a New Version comes out, I can simply update and anyone who has it installed will be notified.....Just a suggestion...

A special thank goes out to ap0c for keeping me on my toes during Alpha testing...dude can find some bugs, lemme tell ya! And thanks for the suggestions as well bro! I added all of em.

Attached is the full release which includes screenshots and the manuals from Paypal for IPN and Donations for those of you who really want to play with the code for reference. Warning, the file is large!

If you want a smaller file, then look here. The archive in that post is the smaller of the two at ~30K compared to ~1M. It does NOT contain the manuals OR the screens (as requested by gmarik).

Enjoy

(with the addition of the manuals and screens, the archive is too big to attach. If you want these, pm me and I'll send it them too you, or simply download the screens archive a few posts down, and then download the manuals from Paypal.)

Supporters / CoAuthors

Show Your Support

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

Comments
  #112  
Old 08-06-2003, 10:28 PM
Dras Dras is offline
 
Join Date: Dec 2002
Posts: 50
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How do you add a goal? I can't seem to find it in my AdminCP
Reply With Quote
  #113  
Old 08-11-2003, 06:43 PM
jc2002 jc2002 is offline
 
Join Date: Feb 2003
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

it did not work using mail().

anyway, now I have another problem. After I installed paypal hack, I cannot do a full database dump any more. It always stops at one of the paypal tables. I think one of the tables has a problem with empty column.
Reply With Quote
  #114  
Old 08-18-2003, 04:03 PM
sHORTYWZ sHORTYWZ is offline
 
Join Date: Jan 2002
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cloud -

I already did that, I'm wondering if it didn't update the keys for these records?

The weird thing is that they are getting inserted into the db, just giving me and the donating user an error before it does it.
Reply With Quote
  #115  
Old 08-20-2003, 09:45 PM
Briskoda Briskoda is offline
 
Join Date: Mar 2003
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Firstly, great hack, reading notes from proposal to install, very good material.

Apologies if this is already known, but in summary:
Auto complete IPN causes duplicate txn_id insert attempt.
Default post back of txn_id causes VERIFIED display only.
Refund sets all funds to 0.
Refund does not reduce contributors sum.

Assumption: guest processing. Not permitting guests to this page, at present...

Okay onto my experince, not sure if a few bugs are known or if it's a recent change at PayPals end.

Basically the first few payments where a manual deny was issued worked a treat, the user was returned to the success page. Although the payment was still pending in my account (to be denied or accepted) So I accepted it, thus enabling the autocomplete processing in paypal, so now each payment that comes in is appearing as completed.

So initially this hack worked, then the continue button induced the duplicate keys bug as eluded to previously, so I checked the id's all was fine, ran a few more through, same issue.

After going throught the code it seems that the IPN is beating the continue button process, but still by default it seems posting back txn_id. As such ppverify is picked up and processed where by the insert is run at 104 regardless at this point. For a completed status where the entry is already in the db I cannot see why this is needed. So I commented it out and the process began to work, except now I was rewarded with just the word VERIFIED, so I modified the paypal to do ppverify.php processing and sucess/cancel, it all seems to work again, apart from duplicated payments amounts, the update circa 139 was commented out.

I created a multitude of credits and refunds, it seems to be working now...

I then began to check what was happening for refunds, it set's all funds to 0.00 not the txn_id record passed in for the refund. Also noted the contributors table was not downdated for the refund. So I added an SQL in for that.

Has anybody else noted this behaviour, are the fixes in, if needed atall?

Does the fact I'm a UK user of paypal, the transactions appearing as complete immediatly have any bearing?

Apologies if this is a wild goose chase and I really do appreciate the hack, newborn pressures on time, so one for everybody else to ponder over

Colin.

vB2.3.0
Reply With Quote
  #116  
Old 08-23-2003, 08:18 PM
Voltron420 Voltron420 is offline
 
Join Date: Oct 2001
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm having problems with the success page, all that is displayed is the word "VERIFIED"

There is no HTML whatsoever on the page, viewing the source code just shows the word "VERIFIED"

The transaction is logged correctly, and all of the information is stored, but the user is left with blank page seeing the word "VERIFIED" when they should be seeing the thank you/successful text page.

Any ideas?
Reply With Quote
  #117  
Old 08-27-2003, 06:50 AM
Briskoda Briskoda is offline
 
Join Date: Mar 2003
Posts: 24
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Voltron,

As per the post above, I modified paypal.php to do the ppverify processing and the paypal.php processing. There is an obvious (sorry not at dev machine to qoute source) if else statement that tests for Post vars, I changed this to a If/End around the inluced for ppverify, this still processes and displays VERIFIED, but also the sucess page texts.

Intresting you have the same symptom as I had. I'm not saying what I have done is correct, just it now appears to work, original mod worked fine till I added the CC and payments were automatically confirmed.
Reply With Quote
  #118  
Old 09-05-2003, 02:59 AM
b00tsauce b00tsauce is offline
 
Join Date: Aug 2003
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cool hack indeed. However I have a couple of important questions.

I've been loving the VB3 integration of PayPal. However, there are some bugs with it and stuff. Is this one any stable?

I'll be looking to use a hack for PayPal with vBulletin but can it be labeled as a "subscription" rather than a "donation". Maybe there are examples somewhere?

The reason that I wanna really go back to 2.29 or 2.30 is because of all the hacks that are available for them. vbindex, vbhome, etc are stuff that I would really need. VB3 has no support for that.

Anyway, you can see my dilemma:

VB3 = Has PayPal, but its a little buggy, but has no widespread hacks like 2.x

VB2.x = Stable, with a lot of hacks, but doesnt have PayPal integrated.

If someone could shine some light on this for, it would be great!

Thanks!
Reply With Quote
  #119  
Old 10-23-2003, 03:39 PM
steve@dvdlard steve@dvdlard is offline
 
Join Date: Dec 2002
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is a great hack, very useful.

I do have one question, is there any quick way to change the currency symbols etc to GBP instead of USD on all the screens?
Reply With Quote
  #120  
Old 10-23-2003, 04:19 PM
gmarik's Avatar
gmarik gmarik is offline
 
Join Date: May 2002
Location: Mocsow
Posts: 1,288
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, if only it would be more easy to integrate into other vB hacks ...
Reply With Quote
  #121  
Old 11-05-2003, 09:13 PM
Itworx4me's Avatar
Itworx4me Itworx4me is offline
 
Join Date: Feb 2002
Posts: 210
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyway to make it so that members are the only ones that can donate?
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 11:46 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.07134 seconds
  • Memory Usage 2,328KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete