Jump to content
Mark Evans

Official PayPal IPN Support Thread

Recommended Posts

I've installed this contribution before -without incident...

Tried it on another site today - and it won't save the changes in the admin...

 

Any ideas?

 

Thanks, in advance!

 

--Jeff

Edited by HDLLC

Share this post


Link to post
Share on other sites

I was reading the install guide and it recommends not to use 'per item' for transaction type...instead use 'aggregate'.

 

Is it safe though for me to use 'per item'? It's exactly what I want, and have been after.

 

Thanks

Share this post


Link to post
Share on other sites

Hmm, ok.

 

Already noticed 'per item' is not passing on my discount coupon contribution.

 

Any word on when per item might be working fully? It's great.

 

If not, anyway to get the same information to display ie. X Number of items with a Total Value of Y. Then all in a seperate list when you click the dropdown in Paypal.

 

Thanks.

Share this post


Link to post
Share on other sites

I get this message on my site I need to know how to fix this:

Warning: reset(): Passed variable is not an array or object in /home/content/k/u/s/kustomjs/html/catalog/admin/includes/classes/object_info.php on line 17

 

Warning: Variable passed to each() is not an array or object in /home/content/k/u/s/kustomjs/html/catalog/admin/includes/classes/object_info.php on line 18

Share this post


Link to post
Share on other sites

Hello again,

 

I had a look through the file suggested above and found nothing obvious, but then I'm hardly proficient in matter of php.

 

So, I decided to reinstal, deleted IPN, installed the lates (2.2) contribution, and set it up as per the instructions... but I still have the same problem.

 

Every order is appearing as Preparing [Paypal IPN]

 

I can't understand why this would happen, it worked perfectly on the old host, and having been clean installed on the new ghost, should surely work equally well on here? The rest of the site hasn't changed at all, and address is the same.

 

Any help hugely appreciated, getting a bit tired of manually checking and updating each order individually.....

Share this post


Link to post
Share on other sites

QUOTE(SteveDallas @ Aug 16 2006, 11:27 AM) *

If the status doesn't update, PayPal cannot access ipn.php, or your change to it has caused a problem. The first step would be to verify that you can access ipn.php through your browser. It should bring up a blank page with no error messages. If you have enabled debug email, you should also receive an email message entitled "PayPal IPN Invalid Process". This message is generated whenever ipn.php cannot process the POST variables sent to it. When you access ipn.php from your browser, there are no POST variables, so you get the email.

 

If accessing ipn.php results in an error message displayed in the browser, you will need to find the cause of the error and fix it. At that point, real transactions should get updated status automatically.

 

--Glen

 

Hi I tried this, here is the error I am getting, what do I have to do to resolve this

 

2013 - Lost connection to MySQL server during query

 

select count(*) as total from sessions where sesskey = '3ef7cd0ff35598dc20afebef41079bd7'

 

[TEP STOP]

 

2006 - MySQL server has gone away

 

select count(*) as total from sessions where sesskey = '3ef7cd0ff35598dc20afebef41079bd7'

 

[TEP STOP]

 

 

Warning: Unknown(): A session is active. You cannot change the session module's ini settings at this time. in Unknown on line 0

 

Any help would be greatly appreciated!

 

Thanks

Craig

Share this post


Link to post
Share on other sites
I've installed this contribution before -without incident...

Tried it on another site today - and it won't save the changes in the admin...

 

Any ideas?

 

Thanks, in advance!

 

--Jeff

 

I've checked permissions on the installed files - all set to 755 - so not sure where else to look.

 

I install it through the admin, and go to add my settings (email address, debug, etc.) and the changes won't save.

 

Any ideas?

 

Thanks in advance!

 

--Jeff

Share this post


Link to post
Share on other sites

As many of the other posts I have seen; my customers and I are not receiving e-mail invoices, the status is not being updated, and order quantity is not updated. I have done the check list provided by Terra that has been linked to somewhere and all of that passes. I've loaded the URL that links to the ipn.php and there are no errors and I do receive an e-mail of the IPN Invalid process. My first question is the page is not completely blank as have read it's suppose to be, it does have the background and a few other items; is this incorrect?

 

Any other input is appreciated as I'm scratching my head on what to do. All of the files are loaded in the correct locations, and I have changed the permissions of the ipn.php file to 755.

Share this post


Link to post
Share on other sites

If this sheds any light on the problems I am having, when I view ipn.php in interent explorer, I get the following message:

 

Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory.

Share this post


Link to post
Share on other sites
I've checked permissions on the installed files - all set to 755 - so not sure where else to look.

 

I install it through the admin, and go to add my settings (email address, debug, etc.) and the changes won't save.

 

Any ideas?

 

Thanks in advance!

 

--Jeff

Jeff, can you update any of the other modules such as shipping and default payment modules? If you can't, then your shop has the refresh bug that first shown up in osC version 060817.

 

Here's the official fix:

http://forums.oscommerce.com/index.php?sho...p;#entry1117449

 

Hope this helped you out,


Bill Kellum

 

Sounds Good Productions

STS Tutorials & more: STSv4.6, STS Add-ons (STS Power Pack), STS V4 Forum STS Forum FREE TEMPLATE

Share this post


Link to post
Share on other sites

I was trying to find a solution for: PayPal IPN Invalid Process emails

I read everything and see that where is a lot of complains about it, can you please tell the solutions for

all the personal data removed.

$_POST:

mc_gross=102.10
invoice=22569
address_status=confirmed
payer_id=XXXXXXXXXXXX
tax=0.00
address_street=XXXXXXXXXXXXXXXX
payment_date=13:41:52 Sep 07, 2007 PDT
payment_status=Completed
charset=windows-1252
address_zip=77777
first_name=XXXXXXXXX
mc_fee=5.02
address_country_code=US
address_name=XXXXXXXXXXXXXXX
notify_version=2.4
custom=1077
payer_status=verified
business=XXXXXXXXXXl@XXXXXXXXXX.com
address_country=United States
address_city=XXXXXXXXXXXX
quantity=1
verify_sign=XXXXXXXXXXXXXXXXXXXXXXXXXX
payer_email=XXXXXXXXXXXXXXXXXX@yahoo.com
txn_id=XXXXXXXXXXXXXXXXXX
payment_type=instant
last_name=XXXXXXXXXXXX
address_state=XXXXXXXXXXX
receiver_email=XXXXXXXXXX@XXXXXXXXXXXX.com
payment_fee=5.93
receiver_id=XXXXXXXXXXXXXXX
txn_type=web_accept
item_name=XXXXXXXXX
mc_currency=USD
item_number=
residence_country=US
payment_gross=102.10
shipping=0.00

$_GET:

 

Also use a PayPal Express Checkout, however was working fine before, newer change a code.

Instant Payment Notification (IPN) => Off

 

Server config:

HTTP Server: Apache

PHP Version: 4.4.7 (Zend: 1.3.0)

osCommerce 2.2-MS2

Share this post


Link to post
Share on other sites

I've scoured this thread for more info starting around page 100. I've found one debugging item Terra posted which was to include this to the top of the ipn.php file : mail('myemail@mysite.com', 'testing paypal', 'paypal has found the file');

 

I've added that right below the comments of the page and I'm not receiving this e-mail when doing a test run on the cart, but if I load the ipn.php page I do get the e-mail. I have loaded the entire directory in the correct place, and have just got done uninstalling the entire module and have re-added it with absolutely no luck. I've done everything that I can think of to get this to work, but I'm stuck again.

Share this post


Link to post
Share on other sites
Jeff, can you update any of the other modules such as shipping and default payment modules? If you can't, then your shop has the refresh bug that first shown up in osC version 060817.

 

Here's the official fix:

http://forums.oscommerce.com/index.php?sho...p;#entry1117449

 

Hope this helped you out,

 

Thanks a million! That appears to be it!

 

Can't say Thanks Enough, Bill!

 

Have a good one!

 

--Jeff

Share this post


Link to post
Share on other sites

What is the exact folder that the files in this contribution belong in?

 

I do not know if I have to create a 'Catalog' folder, and upload the files to the sub folders where they should go. I assume that I need to create these folders under /public_html?

 

I can't find a 'Catalog' folder anywhere with my File Manager

Share this post


Link to post
Share on other sites
Hello,

 

I have just installed the Paypal IPN 2.2 and it works about 60%.

 

1. When I place an order it updates everything except it does not move my Order Status to Pending once the customer returns to the Checkout_success.php page. It remains at PreParing (paypal ipn)

 

2. No Order email is sent when the purchase is complete either to the customer. It does send an email once I manually change the order status from PreParing (paypal ipn) to processing.

 

I have searched this forum for an answer and have not found anything precise to my problem, but I ran across a thread that said to go to your WWW.MY SITE.com/ext/modules/payment/paypal_ipn/IPN.PHP file and make sure you get a blank page. I do not get a blank page when I do so I get the following errors and warnings.

 

Warning: chdir() [function.chdir]: No such file or directory (errno 2) in d:\hosting\member\mysite\ext\modules\payment\paypal_ipn\ipn.php on line 13

 

Warning: main(includes/application_top.php) [function.main]: failed to open stream: No such file or directory in d:\hosting\member\mysite\ext\modules\payment\paypal_ipn\ipn.php on line 14

 

Warning: main(includes/application_top.php) [function.main]: failed to open stream: No such file or directory in d:\hosting\member\mysite\ext\modules\payment\paypal_ipn\ipn.php on line 14

 

Warning: main(includes/application_top.php) [function.main]: failed to open stream: No such file or directory in d:\hosting\member\mysite\ext\modules\payment\paypal_ipn\ipn.php on line 14

 

Fatal error: main() [function.require]: Failed opening required 'includes/application_top.php' (include_path='.;c:\php4\pear') in d:\hosting\member\mysite\ext\modules\payment\paypal_ipn\ipn.php on line 14

 

Can anyone help me out with this? Thanks

 

I am responding to my own issue and have corrected much of these errors listed above by hardcoding my website address into the appropriate code for each warning. Each time I would hardcode the site address, a new one would pop up, but I have narrowed it down to these two fatal errors. Can anyone please help me clear these two errors: I get both of them when I go to my ipn.php page.

 

Fatal error: Call to undefined function: tep_db_connect() in d:\hosting\member\MYSITE\includes\application_top.php on line 70

 

Fatal error: Call to undefined function: tep_not_null() in d:\hosting\member\MYSITE\ext\modules\payment\paypal_ipn\ipn.php on line 303

 

Also - should I have hard coded my website into the application_top.php in the require ('includes/whatever.php') lines? or was there an easier way to correct the above errors. Any assistance with these issues would be very helpful. I would love it if I could get the paypal_ipn config working today.

Share this post


Link to post
Share on other sites

Hi,

 

This might have already been answered but have unable to find it so far. I've installed the Paypal IPN 2.2 module for a client and it works fine except that it doesn't send the customer or vendor the confirmation email. It sends the paypal email just fine and it does put the order in the database for oscommerce.

 

Any help would be much appreciated.

 

One last thing I noticed in the admin area is that it says "PayPal IPN Verified [Completed (Unverified; $0.01)] " 3 times and then the last one says "Preparing [PayPal IPN]" with an X for the customer notify box.

 

Thanks.

 

Toby Sapusek

Edited by tsapusek

Share this post


Link to post
Share on other sites

Suddenly, from nowhere, with nothing changed since it worked, I am getting the following error if I browse to the ipn.php in the ext folder -

 

Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or '$' in /home/www/SITENAME/store/ext/modules/payment/paypal_ipn/ipn.php on line 79

 

Line 79 =

if (isset(substr($_POST['invoice'],1)) && is_numeric(substr($_POST['invoice'],1)) && (substr($_POST['invoice'],1) > 0)) {

 

 

I have no idea how to fix the error

Can someone help me please?

 

Thanks

Gaz


Wearing a seatbelt prevents head injuries when the computer crashes - - - Yeah Right!!! - not in this office.

Share this post


Link to post
Share on other sites
I am responding to my own issue and have corrected much of these errors listed above by hardcoding my website address into the appropriate code for each warning. Each time I would hardcode the site address, a new one would pop up, but I have narrowed it down to these two fatal errors. Can anyone please help me clear these two errors: I get both of them when I go to my ipn.php page.

 

Fatal error: Call to undefined function: tep_db_connect() in d:\hosting\member\MYSITE\includes\application_top.php on line 70

 

Fatal error: Call to undefined function: tep_not_null() in d:\hosting\member\MYSITE\ext\modules\payment\paypal_ipn\ipn.php on line 303

 

Also - should I have hard coded my website into the application_top.php in the require ('includes/whatever.php') lines? or was there an easier way to correct the above errors. Any assistance with these issues would be very helpful. I would love it if I could get the paypal_ipn config working today.

 

Please Read This Post I Still Need Assistance... Please help

 

I have gotten my EXT/MODULES/PAYMENT/PAYPAL_IPN/IPN/PHP page to return blank, but not without allot of hardcoding and small modifications. Here is what I did:

 

In my IPN.PHP file I removed the CHDIR line and Require line and replaced it with this -

 

Require('ipn_application_top.php');

 

at the bottom I replaced the last line with this -

 

tep_db_close();

 

I then created a new file to put into my Paypal_ipn folder with IPN.PHP called ipn_application_top.php

 

The code in that is this (I hardcoded the require pages to my hosting folders) -

 

<?php // ipn_application_top.php, v 1.0

chdir('../../../');

// include server parameters
//require('/includes/configure.php');
require('D:/hosting/member/MYSITE/includes/configure.php');

// include the list of project database tables
//require(DIR_WS_INCLUDES . 'database_tables.php');
require('D:/hosting/member/MYSITE/includes/database_tables.php');

// include the database functions
//require(DIR_WS_FUNCTIONS . 'database.php');
require('D:/hosting/member/MYSITE/includes/functions/database.php');

// make a connection to the database... now
tep_db_connect() or die('Unable to connect to database server!');

// set the application parameters
$configuration_query = tep_db_query('select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_CONFIGURATION);
while ($configuration = tep_db_fetch_array($configuration_query)) {
  define($configuration['cfgKey'], $configuration['cfgValue']);
}

// Add in specific other functions
function tep_not_null($value) {
  if (is_array($value)) {
 if (sizeof($value) > 0) {
   return true;
 } else {
   return false;
 }
  } else {
 if (($value != '') && ($value != 'NULL') && (strlen(trim($value)) > 0)) {
   return true;
 } else {
   return false;
 }
  }
}

// Return a random value
  function tep_rand($min = null, $max = null) {
 static $seeded;

 if (!isset($seeded)) {
   mt_srand((double)microtime()*1000000);
   $seeded = true;
 }

 if (isset($min) && isset($max)) {
   if ($min >= $max) {
	 return $min;
   } else {
	 return mt_rand($min, $max);
   }
 } else {
   return mt_rand();
 }
  }

// Wrapper function for round()
function tep_round($number, $precision) {
  if (strpos($number, '.') && (strlen(substr($number, strpos($number, '.')+1)) > $precision)) {
 $number = substr($number, 0, strpos($number, '.') + 1 + $precision + 1);

 if (substr($number, -1) >= 5) {
   if ($precision > 1) {
	 $number = substr($number, 0, -1) + ('0.' . str_repeat(0, $precision-1) . '1');
   } elseif ($precision == 1) {
	 $number = substr($number, 0, -1) + 0.1;
   } else {
	 $number = substr($number, 0, -1) + 1;
   }
 } else {
   $number = substr($number, 0, -1);
 }
  }
  return $number;
}

// include currencies class and create an instance
// require(DIR_WS_CLASSES . 'currencies.php');
require('D:/hosting/member/MYSITE/includes/classes/currencies.php');
$currencies = new currencies();

// charset for emails
define('CHARSET', 'iso-8859-1');

// include the mail classes
// require(DIR_WS_CLASSES . 'mime.php');
require('D:/hosting/member/MYSITE/includes/classes/mime.php');
// require(DIR_WS_CLASSES . 'email.php');
require('D:/hosting/member/MYSITE/includes/classes/email.php');

// Send an Email
function tep_mail($to_name, $to_email_address, $email_subject, $email_text, $from_email_name, $from_email_address) {
  if (SEND_EMAILS != 'true') return false;

  // Instantiate a new mail object
  $message = new email(array('X-Mailer: osCommerce Mailer'));

  // Build the text version
  $text = strip_tags($email_text);
// if (EMAIL_USE_HTML == 'true') 
  if (EMAIL_USE_HTML == 'false') {
 $message->add_html($email_text, $text);
  } else {
 $message->add_text($text);
  }

  // Send message
  $message->build_message();
  $message->send('', $to_email_address, $from_email_name, $from_email_address, $email_subject);
}  
?>

 

I changed the EMAIL_USE_HTML to 'False' because I want a 'text' email sent.

 

The final changes I made were in the /classes/email.php file. I had to comment out the lines that refered to the HTML emails around lines 150-160.

 

Once I added this ipn_application_top.php file and made the hardcoding changes I would get the blank IPN.PHP file when I went to Http://www.MYSITE.com/ext/modules/payment/paypal_ipn/ipn.php - BUT I received an email after I accessed this page that said nothing more than -

 

ARRAY

 

I then placed a test order and everything processed well. Paypal came back to my site and updated the Preparing (paypal_ipn) to Pending; however, no emails were sent and I got a comment in my /Admin/ of Paypal IPN Invalid [Complete]

 

I do not know anything about PHP coding. I made all of these changes based off of information posted by other members found within this Official Post for PayPal IPN. Can someone please help me correct my errors so that the Emails and orders are processed properly.

 

 

your assistance is greatly appreciated

Share this post


Link to post
Share on other sites
I was trying to find a solution for: PayPal IPN Invalid Process emails

I read everything and see that where is a lot of complains about it, can you please tell the solutions for

all the personal data removed.

$_POST:

mc_gross=102.10
invoice=22569
address_status=confirmed
payer_id=XXXXXXXXXXXX
tax=0.00
address_street=XXXXXXXXXXXXXXXX
payment_date=13:41:52 Sep 07, 2007 PDT
payment_status=Completed
charset=windows-1252
address_zip=77777
first_name=XXXXXXXXX
mc_fee=5.02
address_country_code=US
address_name=XXXXXXXXXXXXXXX
notify_version=2.4
custom=1077
payer_status=verified
business=XXXXXXXXXXl@XXXXXXXXXX.com
address_country=United States
address_city=XXXXXXXXXXXX
quantity=1
verify_sign=XXXXXXXXXXXXXXXXXXXXXXXXXX
payer_email=XXXXXXXXXXXXXXXXXX@yahoo.com
txn_id=XXXXXXXXXXXXXXXXXX
payment_type=instant
last_name=XXXXXXXXXXXX
address_state=XXXXXXXXXXX
receiver_email=XXXXXXXXXX@XXXXXXXXXXXX.com
payment_fee=5.93
receiver_id=XXXXXXXXXXXXXXX
txn_type=web_accept
item_name=XXXXXXXXX
mc_currency=USD
item_number=
residence_country=US
payment_gross=102.10
shipping=0.00

$_GET:

 

Also use a PayPal Express Checkout, however was working fine before, newer change a code.

Instant Payment Notification (IPN) => Off

 

Server config:

HTTP Server: Apache

PHP Version: 4.4.7 (Zend: 1.3.0)

osCommerce 2.2-MS2

Is anybody have a solution?

Where is a lot of errors similar to this, however I can not find a solution.

please help.

Share this post


Link to post
Share on other sites
Hi,

 

This might have already been answered but have unable to find it so far. I've installed the Paypal IPN 2.2 module for a client and it works fine except that it doesn't send the customer or vendor the confirmation email. It sends the paypal email just fine and it does put the order in the database for oscommerce.

 

Any help would be much appreciated.

 

One last thing I noticed in the admin area is that it says "PayPal IPN Verified [Completed (Unverified; $0.01)] " 3 times and then the last one says "Preparing [PayPal IPN]" with an X for the customer notify box.

 

Thanks.

 

Toby Sapusek

 

 

I also have the problem of not receiving a Confirmation Email, only the Paypal Email.

Share this post


Link to post
Share on other sites

Hi,

 

I'm having terrible trouble completing transactions with this module. Everything seems to go fine, but when Paylpal has finished and passed the customer back to my site, the order status isn't getting updated, no confirmation emails are being sent and the stock level isn't amended.

 

I've checked the permissions and locations of ipn.php and paypal_ipn and both seem fine. No debug emails either, so presumably it's all valid.

 

I've also read over several threads involving people with a similar problem, but nothing seems to work.

 

Any suggestions would be very gratefully received. Apologies in advance if there's already an answer to this and I haven't been able to find it.

 

 

Richard

 

(PaypalIPN 2.1.0.0

OsCommerce 2.2 MS2)

Share this post


Link to post
Share on other sites

I have a few questions about the PayPal module that comes with osCommerce 2.2

 

In the admin section, the PayPal module is shown. I pressed install, but when I went to my online store and tried to check something out, the pay pal paymetn option is not there.

 

Do I have to add to the php code in order to integrate the pay pal module to my store? If so, what do I have to add?

Share this post


Link to post
Share on other sites

I may have found a solution to all my ailments in Paypal_ipn regarding viewing the IPN.PHP file and the error it caused

 

If you read my previous few logs starting on page 141 you will see that after installing PayPal IPN 2.2 I was having trouble opening the EXT/MODULES/PAYMENT/PAYPAL_IPN/IPN.PHP file. I would get all kinds of fatal errors and warnings about not being able to open certian files. No matter what I did: Changed the chdir from 0-10 (ie. ../ to ../../../../etc), I hardcoded my files (whiched caused even more problems), to adding a new file called ipn_application_top.php into the PAYPAL_IPN folder, to cursing, to tapdancing, to what ever. i could not get the IPN.PHP file to work.

 

So I had the idea of moving the IPN.PHP file to the root folder, removing the chdir('../../../../'); line and testing it by going to www.mysite.com/ipn.php to see if it would work correctly. This would rule out if the file IPN.PHP or the chdir was the problem. When it worked properly, I went to my PAYPAL_IPN.PHP file in includes/modules/payment/Paypal_ipn.php and changed the require line from

$parameters['notify_url'] = tep_href_link('ext/modules/payment/paypal_ipn/ipn.php', '', 'SSL', false, false);

 

to

$parameters['notify_url'] = tep_href_link('ipn.php', '', 'SSL', false, false);

 

made a few test orders, and viola! everything is working great!

 

Do any coders see this as a potential issue? I could not get the chdir to work properly in the IPN.PHP ext folder so I thought I would move it to the root and change the files that referred to it there. Will this cause any forseealbe future issues?

Share this post


Link to post
Share on other sites
I have a few questions about the PayPal module that comes with osCommerce 2.2

 

In the admin section, the PayPal module is shown. I pressed install, but when I went to my online store and tried to check something out, the pay pal paymetn option is not there.

 

Do I have to add to the php code in order to integrate the pay pal module to my store? If so, what do I have to add?

 

Hi Crownbrown. Probably an obvious question, but did you enable the Paypal module after installing it? I think it's disabled by default.

 

If not, go to the modules admin section, click on Paypal, click 'edit' and the enable/disable switch is right at the top. If that doesn't do it, make sure not restricting it by zone / currency (also in the 'edit' dialogue).

 

Any use?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×