Jump to content
Sign in to follow this  
devosc

[Contribution]Paypal IPN - Devosc

Recommended Posts

The only thing I can really think of is that your currencies are not configured as that of PayPal, e.g ('GBP','USD','CAD','JPY','EUR'), otherwise please and try to provide as much info about the transaction as possible etc...

Edited by devosc

"Any fool can know. The point is to understand." -- Albert Einstein

Share this post


Link to post
Share on other sites

Have only one currency installed that being GBP.

 

What info would be useful for you.

 

Is it something i have not done the paypal side does something need to be turned on that i have missed.

 

Basicly order something get to payment select paypal, confirm paypal splash comes up then get to paypal and nothin at all in the amount box. Manually put amount in confirm goes bacl to order_success. Added to orders ready to be excepted in the admin section. Except payment money goes into paypal account. As i say it strange cause everything works ok apart from the passing of the cart amount to paypal :(

 

Thankyou for you help

Share this post


Link to post
Share on other sites

With help from Greg i have finaly managed to get this work and what a surprise it was me being stupid after all.

 

So everyone who is having problems of the final amount not sending to paypal this is what i did and may be helpful to you.

 

Check that you have set up your currency correct and what code you have used.

I for example had GBR, once changed that it still didnt work, so installed a new currency as the default and had it as GBP.

Once you have done that change DEFAULT_LANGUAGE_CURRENCY, in catalog/includes/languages/english.php to what you have set up as your default currency.(Its near the top)

 

Then it worked the final amount appeared in paypal in all its glory never been so happy that something has worked.

 

Hope that help someone out :)

 

Thanks again greg

Share this post


Link to post
Share on other sites

Why?

 

I changed it to CAD like you suggested and now all my item prices are 0

WHAT THE HELL ?????

 

 

Nelson, in the osC Admin change your store's currency configuration for canadian dollars, from CAN, to CAD.

Share this post


Link to post
Share on other sites

Ok, I only had 1 Currency setup as CAN for Canadian instead of the CAD.

So what I did is add another currency as USD. Then set that one up as default and delete the CAN, then re-added it as CAD. Still, now all over my store is 0

I also tried to change the DEFAULT_LANGUAGE_CURRENCY from USD to CAD and still my store item prices are all 0's....

 

How can I fix this?

 

I even tried added a new item and inserting the price, the price shows up before clicking on add but then in the store it's 0

 

Damn ! :angry:

 

With help from Greg i have finaly managed to get this work and what a surprise it was me being stupid after all.

 

So everyone who is having problems of the final amount not sending to paypal this is what i did and may be helpful to you.

 

Check that you have set up your currency correct and what code you have used.

I for example had GBR, once changed that it still didnt work, so installed a new currency as the default and had it as GBP.

Once you have done that change DEFAULT_LANGUAGE_CURRENCY, in catalog/includes/languages/english.php to what you have set up as your default currency.(Its near the top)

 

Then it worked the final amount appeared in paypal in all its glory never been so happy that something has worked.

 

Hope that help someone out :)

 

Thanks again greg

Share this post


Link to post
Share on other sites

Finaly got this working after tickling the app sideways ! LOL

I had to delete both currencies, then add the CAD then the USD then set the CAD as default and change the line DEFAULT_LANGUAGE_CURRENCY from USD to CAD and everything come up. My store items are showing the correct pricing and when going to paypal, it is sending the correct amount to paypal also.

 

Thanks all... This was the groosome week I ever had trying to fix this. There should be something in the KB about this potential problem with paypal.

 

Thanks again.

 

Now I have to clean up my files fro some Mods I dont want anymore.... Here we go again, and YES I WILL BACKUP EVERYTHING BEFOREHAND ! LOL

 

Thanks! You Gotta love this software and I will donate to it !

 

Nelson Pereira

Shop.Ott-Motorcycles.ca

 

Ok, I only had 1 Currency setup as CAN for Canadian instead of the CAD.

So what I did is add another currency as USD. Then set that one up as default and delete the CAN, then re-added it as CAD. Still, now all over my store is 0

I also tried to change the DEFAULT_LANGUAGE_CURRENCY from USD to CAD and still my store item prices are all 0's....

 

How can I fix this?

 

I even tried added a new item and inserting the price, the price shows up before clicking on add but then in the store it's 0

 

Damn ! :angry:

Share this post


Link to post
Share on other sites

I'm trying to install 2.8 in a shop that had some other version installed (not sure which one). I'm getting two PayPal entries in the modules section of admin and I found this

// PayPal IPN
 define('TABLE_PAYPALIPN_TXN', 'paypalipn_txn'); // PAYPALIPN

in admin/includes/database_tables.php. I've searched the zip files I have for this term but can't find it anywhere. I would like to get this other version backed out completely if possible. Does anyone know where the above comes from?

 

Jack

Share this post


Link to post
Share on other sites

Still having problems with the IPN.

 

 

Payment goes through but this shows up on the order invoice page:

 

No PayPal Transaction Information Available (070d5dba03af30b1523e61b615b6cbf0)

 

Also, NOTHING shows up in the IPN section.

 

What might be causing PayPal not to send the info back to the database?

 

On a side note -- I had a problem with the checkout function if someone paid by check. I found old code (from a previous IPN version) that wasn't needed. Is there any way of finding out what pages are not needed anymore? Such as:

 

 

 

catalog/include/classes/paypal_ipn.php

catalog/include/classes/paypal/

 

and others?

 

Thanks,

 

King Snake

Share this post


Link to post
Share on other sites

Hi,

 

 

I'm having problems testing this module. I have turned error reporting on, so I don't get a blank page anymore. Now I get this error message

Warning: main(payment/paypal/classes/Client/Connector.class.php): failed to open stream: No such file or directory in path_to_catalog\includes\modules\payment\paypal\classes\IPN\IPN.class.php on line 21

Fatal error: main(): Failed opening required 'payment/paypal/classes/Client/Connector.class.php' (include_path='.;c:\php4\pear') in path_to_catalog\includes\modules\payment\paypal\classes\IPN\IPN.class.php on line 21

 

Here's my ipn.txt file

business = payments@hermitswonders.com
receiver_email = payments@hermitswonders.com
verify_sign = PAYPAL_SHOPPING_CART_IPN-TEST_TRANSACTION-00000000000000
payment_date = 00:00:42 Oct 20, 2004 Eastern Daylight Time
digestKey = 12285046ca52bde6ff1432a509b43915
first_name = John
last_name = Doe
payer_business_name = ACME Inc.
payer_email = root@localhost
payer_id = PAYERID000000
payer_status = verified
invoice = 1
address_name = John Doe
address_street = 1 Way Street
address_city = NeverNever
address_state = CA
address_zip = 12345
address_country = United States
address_status = confirmed
payment_type = instant
txn_type = cart
custom = 1
txn_id = PAYPAL00000000012
parent_txn_id = 1
num_cart_items = 1
notify_version = 1.6
memo = PAYPAL_SHOPPING_CART_IPN TEST
mc_currency = USD
mc_gross = 0.01
mc_fee = 0.01
settle_amount = 12.00
settle_currency = 
exchange_rate = 0.00
payment_status = Completed
pending_reason = 
reason_code = 
submit = Test IPN

 

Am I missing something? The file is there in the correct path, but it just isn't seeing it. Did a search for the error message within this topic to no avail.

 

Thanks for any help you can provide,

 

Tim

Share this post


Link to post
Share on other sites

The above is not part of this contribution and is not needed.

 

 

King Snake

 

Look at the info you posted and use it in the IPN Test Panel, see earlier posts about how to switch error reporting on if neccessary.

 

 

in IPN.class.php, change

require_once($modules_directory . 'payment/paypal/classes/Client/Connector.class.php');

To

require_once('./../Client/Connector.class.php');

 

Basically I'm guessing that $modules_directory = defined('DIR_FS_CATALOG_MODULES') ? DIR_FS_CATALOG_MODULES : DIR_WS_MODULES; is not working, or you have DIR_FS_CATALOG in your catalog configure script, etc...


"Any fool can know. The point is to understand." -- Albert Einstein

Share this post


Link to post
Share on other sites

Hi-

 

I just installed this recent version. I had some issues with the install (mostly mysql probs since this was an upgrade)

 

In the last 2 transactions the store had, I see this under 'Transaction Activity' in admin/orders.php:

 

No PayPal Transaction Information Available (1264e60a3291d535bea0af1a20946bfe)

 

Any ideas? This thread is entirely too huge to see if this has been addressed...Perhaps furhter threads can be broken up according to releases? Just a thought...

Share this post


Link to post
Share on other sites

I ran the IPN test. I noticed in admin/orders.php under the edit, delete, invoice, packing slip buttons it shows up like this...

 

Date Created: 10/20/2004

Last Modified: 10/20/2004

 

Payment Method: PayPal

TABLE_HEADING_PAYMENT_STATUS:

 

I still get what I posted above so the directions on the page about TransactionIDs Etc. do not make any sense...

 

Thanks!

Share this post


Link to post
Share on other sites

Dunno, but ipn.php is showing up blank...

 

I *think* I followed the directions correctly...anything Im missing?

Share this post


Link to post
Share on other sites

Does anyone have a fix for IPN 2.8 working with OSC-Affiliate? I have tried the solutions in the text file of v2.6a but the files don't match 2.8.

 

If anyone has any ideas, please let me know.

 

Thanks

Share this post


Link to post
Share on other sites
in IPN.class.php, change

require_once($modules_directory . 'payment/paypal/classes/Client/Connector.class.php');

To

require_once('./../Client/Connector.class.php');

 

Basically I'm guessing that $modules_directory = defined('DIR_FS_CATALOG_MODULES') ? DIR_FS_CATALOG_MODULES : DIR_WS_MODULES; is not working, or you have DIR_FS_CATALOG in your catalog configure script, etc...

 

Thanks for the reply. I got that part sorted out by changing a few of the defines to relate to my configure.php file setup. But, now I'm getting

Fatal error: Cannot instantiate non-existent class: paypal_ipn_debug in c:\apache\htdocs\yopete\ipn.php on line 35

when I try to test ipn.

 

Here's line 35 in catalog/ipn.php

$debug = new PayPal_IPN_Debug(MODULE_PAYMENT_PAYPAL_IPN_DEBUG_EMAIL, MODULE_PAYMENT_PAYPAL_IPN_DEBUG);

 

Any ideas?

 

Thanks for your time,

 

Tim

Share this post


Link to post
Share on other sites

I am having problems while testing with the PayPal sandbox. I get all the way through the order process and return from PayPal to my "Your Order Has Been Processed!" page. Everything seems to be fine up to here. Then, when I click the continue button, I get a page with the following:

 

---

Server Requirements Status

PHP version up to date ok!

URL fopen allowed ok!

CURL Installed Curl is installed! Do make sure that it is compiled with SSL support however.

Zend Optimizer Installed ok!

 

Please contact us at pre-installation@saeven.net if you have any questions concerning the data presented in this diagnostics page.

These entries must all read 'ok!' to be eligible for our system guarantee.

---

 

Do I need to fix this Curl issue or is there another reason I am getting this message?

 

In addition, neither the customer nor the store get a confirmation email. Instead, the store gets about 6 emails with the following contents:

 

---

------------------------------------------------------

Unknown Post

------------------------------------------------------

An unknown POST from 66.135.197.164 was received.

Are you running any tests?

 

------------------------------------------------------

PayPal Response

------------------------------------------------------

 

 

 

------------------------------------------------------

Connection Type

------------------------------------------------------

curl: 1 transport: domain: www.sandbox.paypal.com port:

 

------------------------------------------------------

Attention!

------------------------------------------------------

This is email has NOT been sent by PayPal.

 

You have received this email via the osCommerce PayPal_Shopping_Cart_IPN Contribution

 

To discontinue receiving this notice disable 'Debug Email Notifications' in your osCommerce PayPal configuration panel.

---

 

Any ideas what I am doing wrong?

 

Thanks,

David

Share this post


Link to post
Share on other sites

I'm having a recurring problem with PayPal IPN on one of my clients' sites. When someone orders and pays through PayPal, he gets a confirmation from PayPal that a purchase has been made, but no confirmation comes through the OSC cart about the order. Complicating matters further, last night someone placed an order using PayPal, and not only was there no OSC confirmation, if you go into the order in Admin, you see the customer info for the customer who ordered before this one! I went back and looked at the other orders that came through PayPal, and sure enough, we had no order confirmation through OSC. Should we just turn off PayPal IPN completely, or is there some sort of modification or update for this mod?

Share this post


Link to post
Share on other sites

I'm having problems getting 2.8 to work correctly with my SEC shop so I thought I would install it in a blank OSC shop and go from there. But I am having the same problems:

 

1- The order is processed by SandBox and is in my database but it does not show up in admin. It is not being displayed because the orders_total table is empty but I don't know why.

 

2- I only recieve debug emails. The normal ones never arrive.

 

To create this test shop, I just copied the files from the OSC zip file and then used the files from the OverWriteandRun directory. I also uploaded the mysql file.

 

Am I missing something in setup that would prevent this from working? Also, what is a valid IPN number? I tried using the IPN test window instead of Sandbox but it says it probably fails because the IPN number isn't valid. The default value is 1. What should I enter into that field?

 

Jack

Share this post


Link to post
Share on other sites

Hi,

I just installed the PayPal IPN ver 2.8 in my test instance of OSC and I have a few problems and questions. For what it's worth, I did try searching and browsing this thread, but 47 pages is alot to go through...

First, as I understand it, the design of this is such that when the user clicks the Confirm Order button, which redirects to PayPal, the order gets created in the orders table (as opposed to the standard PayPal support where the order doesn't get created until after the user gets returned to the cart from PayPal). It is then supposed to update the order status, making it On Hold if the payment does not get completed. I cannot seem to get this feature to work. I'm using the PayPal sandbox and I have set my sandbox business account to enable IPN with the checkout_success.php page as the target for return. When I go to pay, then cancel, the order remains in Pending status. Any advice on getting this to work?

 

Before you answer that, however, the above would only be a last resort if the following cannot be completed. I'm looking for advice on a way to use this contrib to go back to the method of not creating the order until after the PayPal payment is sent. This would guarantee that all paypal orders I receive are paid instead of many coming in unpaid where I then have to contact the customer and make them pay. Ideally after the customer clicks the Pay button on paypal, it would then redirect back to my cart (without the need for the user to click the Click Here to Continue link at the bottom right of the You Made A Payment screen on paypal); or have it create the order after they click the Pay button regardless of whether they click the Click Here to Continue link. At what point is the IPN supposed to come back - is it only after they click Click Here to Continue or is there a way to get it to send payment confirmation (and therefore a signal to create the order in the orders table) after they click Pay? If any of this is possible, what would I need to change on the OSC side so it doesn't create the order until after it gets the payment confirmation back from PayPal?

 

Hoping for a solution where I don't have to deal with payments but no orders (like with the current OSC PayPal solution), and I don't have to deal with orders but no payments.

Finally, I should note that the top question, and possible solution there where it would put the unpaid order on hold might work, but would not be ideal because of the way I download orders. With that solution, there exists the risk that I would download the order after it gets created but before it goes on hold. Of course I could filter out on hold orders, but that wouldn't protect me from a situation where a customer hits the confirm order button and gets taken to PayPal, but then just sits on the paypal screen for a long time - OSC would still list it as pending, so I would download it not knowing they never paid.

 

Sorry for the long-windedness - any help is appreciated.

 

Scott

Share this post


Link to post
Share on other sites

 

I'm not sure here, seems like there is something occuring at the server end, the first part of your post, e.g. 'Server Requirements Status' is not an output from this contribution. The email received is. Who installed osCommerce and the contrib? For right now I'd say try out the IPN Test Panel.

 

 

I'm not aware of any such problems really, and how to replicate it I don't know? Are you receiving debug emails?

 

 

You shouldn't really have any problems with a dummy test site. Try the IPN Test Panel first, then when trying PayPal or their Sandbox, ensure the primary email and business id fields are ok etc...

 

PayPal payments always means the customer visits the PayPal site in order to make payment, the IPN is sent as soon as they hit the Pay button. If you have PayPal's auto-return feature enabled in your PayPal profile then the customer will not need to click the continue button as PayPal will automatically transfer the customer back to your site.

With this contribution the order is always pre-stored, so if the customer abandons payment, you will have to manually remove this order. The reason why the order is prestored in the main orders table, rather than another one, is so that the customer can see the status of the order in their account history profile as usual (and without any extra code etc...).


"Any fool can know. The point is to understand." -- Albert Einstein

Share this post


Link to post
Share on other sites
You shouldn't really have any problems with a dummy test site. Try the IPN Test Panel first, then when trying PayPal or their Sandbox, ensure the primary email and business id fields are ok etc...
That's what I was trying to do but I keep getting the invalid IPN number message. What should I use for that number?

 

Jack

Share this post


Link to post
Share on other sites

Put it into the IPN Test Panel? There is a help page there.


"Any fool can know. The point is to understand." -- Albert Einstein

Share this post


Link to post
Share on other sites
Put it into the IPN Test Panel? There is a help page there.

I've tried clicking on the help button but it won't open - says error on page. But that doesn't really matter since I manually loaded the help pages and read through them. I've found the part about stopping at the PayPal site and going into admin to get the order number. The problem is, like I mentioned before, there are no orders.

 

I just deleted everything and did it all from scratch again. I know the contribution works since others are using it so I must be missing something. Can you give me any ideas on this at all? Can you tell me where the orders total table gets updated? I can try backtracking from there lacking any other alternative.

 

Jack

Share this post


Link to post
Share on other sites
HI Greg, in oscAffiliate  integration with PayPal IPN that you have directed me to:

 

-------------------------------

//in paypal/application_top.php

-------------------------------

AFTER (approx line 93):

//$shipping = unserialize($orders_session['shipping']);

 

ADD:

  $affiliate_ref = $orders_session['affiliate_id'];

  $affiliate_clickthroughs_id = $orders_session['affiliate_clickthroughs_id'];

  $affiliate_clientdate = $orders_session['affiliate_date'];

  $affiliate_clientbrowser = $orders_session['affiliate_browser'];

  $affiliate_clientip = $orders_session['affiliate_ipaddress'];

 

 

 

I would assume it is paypal/application_top.php.inc file ?

this file does not have

//$shipping = unserialize($orders_session['shipping']);  line or anything that looks like that?

 

what to do?

 

 

just bumping it up a little hoping it is not against the rules...

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
Sign in to follow this  

×