Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution]Paypal IPN - Devosc


devosc

Recommended Posts

Yes. That is the one. Works great, my clients like it. It is from osCommerce, you know that this will be the paypal module in the next major release, so why not now?

Link to comment
Share on other sites

  • Replies 2.1k
  • Created
  • Last Reply

Top Posters In This Topic

Mibble has already said this, but it is obviously worth saying in full "Forget about 2.9 - use the new contribution!? It's free standing, you can leave the other PayPal mods were they are, just deactivate them, and use the new one - without having to make any changes to the files!"

 

Vger

 

 

There's a problem with this contribution.... although it installs very fast... and it's great... it doesn't require an address to be chosen, nor can you verify the address where you're shipping your products.

 

If you don't mind losing anything... that's fine... just know this will show up on all your orders at paypal.

 

Seller Protection Policy:

Ineligible

 

Anyone working on a mod to verify addresses??

Edited by jonathn
Link to comment
Share on other sites

There's a problem with this contribution.... although it installs very fast... and it's great... it doesn't require an address to be chosen, nor can you verify the address where you're shipping your products.

 

If you don't mind losing anything... that's fine... just know this will show up on all your orders at paypal.

 

Seller Protection Policy:

Ineligible

 

That alone reders this module useless for those that sell anything of value.

 

Anyone working on a mod to verify addresses??

Edited by jonathn
Link to comment
Share on other sites

Hi, I was having a problem with 2.9 (the update order status problem) so I have now just installed the new 1.0 version from oscommerce but im still having the same problem. COuld someone post example config of what should be in each box when you eidt the config for this payment module. Also what needs to be done in the paypal account if it is a new paypal account?

Thanks,

Richard

Link to comment
Share on other sites

'popup_paypal.php' is the public catalog page for the popup info page shown (available) during checkout, it's name, e.g. 'popup_' is specifically chosen so as to be compatible for use with STS and not requiring any modifications of STS itself. It also serves up the css used on the catalog side, but this could also be achieved by specifying the explicit path to the css files used (templates/css).

 

In regard to the order status, or lack of, first look for the debug email and see what info is being shown.

 

For this module, v2.9, no settings need to made in your PayPal account profile, other than having a PayPal account, and possibly enabling Auto-Return, see the config and faqs.

 

Verifying addresses, PayPal will include info as to whether the address is confirmed. It is possible to do a cross tabulation to determine whether the order would be eligible for buyer protection but PayPal have advised against doing this at this time (or a while ago atleast).

 

In regard to some of the above posts, it should be noted that the other module is currently not suitable for downloadable media, the problem about changing the url to checkout_process.php without actually paying at PayPal still exists, so downloads still become immediately available. Also if using that module, one must ensure that Encryption is enabled in the PayPal IPN config otherwise the payment information is not obfuscated and from reading it's code it seems like that it is possible to send PayPal a payment for that order for only $0.01 and the module will accept the payment regardless of the expected actual order amount. Another aspect is that since that module prestores the order prior to the customer actually clicking the 'osCommerce Order Confirmation Button' the storeowner cannot determine whether the customer actually confirmed that they wanted to make the order, which prevents the storeowner from potentially following up the sale/order without any clear indication that the customer wanted to make the purchase.

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

Link to comment
Share on other sites

Hi,

Just worked out what the problem was, as the shop I am creating is not live yet, I had protected the shop with a password and obviously paypal didnt have the password, doh!!! One of those stupid simple mistakes that you just dont think of :-)

But thanks for the help,

Richard

Link to comment
Share on other sites

Greg dont know if you can help or anyone else.

 

Had to reinstall my mysql database from the original oscommerce so had to re-put up the paypal ipn sql.

 

All works it appears as a payment module and i install it.

 

However, when your in the shop and you get to payment section it doesnt appear as a payment, the user cannot select it.

 

Anyone had this problem and fixed it?

 

Many thanks for any help :)

 

Hope someone can help :(

Link to comment
Share on other sites

From Greg:

In regard to the order status, or lack of, first look for the debug email and see what info is being shown.

 

Thanks for the response, I'm just not sure what I'm looking for in the debug.

 

Below is an example of a debug email (with x's replacing user info) - Also, in the admin panel under customers/paypal ipn - there is nothing listed.

 

txn_type=send_money

payment_date=04:37:25 Dec 02, 2004 PST

last_name= Wxxxxxx

payment_gross=20.75

mc_currency=USD

payment_type=echeck

address_street=36 Nxxxxxx Rxxx

payer_status=verified

verify_sign=Ak20Sj18QKfGDdCMWU7JqFT2.GTGA4xZMa-8PU7Dlf6RkKeZZDITWzyI

[email protected]

txn_id=6NY5342765657210M

address_status=unconfirmed

first_name=Axxxxxx

[email protected]

payer_id=ZYCVSVQDP2W6Y

receiver_id=ARZ92SNHKVAQQ

address_city=Sxxxx Hxxxxx

address_state=Mx

payment_status=Completed

mc_fee=0.90

payment_fee=0.90

mc_gross=20.75

address_zip=01982

notify_version=1.6

address_country=United States

address_name=Axxxx Wxxxxxxx

 

 

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

PayPal Response

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

VERIFIED

 

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

Connection Type

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

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

 

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

Email and Business ID config

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

Store Configuration Settings

Primary PayPal Email Address: [email protected]

Business ID: [email protected]

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

PayPal Configuration Settings

Primary PayPal Email Address: [email protected]

Business ID:

 

PayPal Transaction ID: 6NY5342765657210M

 

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

Edited by StarryJen
Link to comment
Share on other sites

 

Is the PayPal payment module, 'installed' and 'enabled' in your osC Admin config? these are the only two factors that should determine whether the payment module is available during checkout. Try uninstalling (click remove) and then re-install again and see if it re-appears.

 

 

 

You shouldn't need to specify any url or even have to enable it in your paypal account profile, the contrib will specify to paypal to use IPN, whoever you could view the source of the checkout 'splash' page (disable javascript in your browser prior to clicking the confirm button) and see what URL is being specified in the 'notify_url' field.

 

 

From Greg:

Business ID:

 

PayPal Transaction ID: 6NY5342765657210M

 

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

 

From the above it looks like there's something wrong with the expected 'Business ID' being passed back from PayPal, here I'm assuming that it is supposed to be the same as your Primary Email Address, but for some reason it's missing, wierd? also notice that you have a PayPal Transaction ID showing, I can't recall this being done in the debug emails being sent by this contrib. Can you look to see if these two things are happening in your other debug emails...

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

Link to comment
Share on other sites

Can you look to see if these two things are happening in your other debug emails...

 

 

Yep, it occurs in a previous transaction:

 

Business ID:

 

PayPal Transaction ID: 7HX0247515976262F

***

Business ID:

 

PayPal Transaction ID: 1SV47434PH7324049

***

 

I am not able to find anything before 12/4, as my webmail dumps deleted items at the beginning of the month.

 

Also, the customers must be seeing some sort of error, it looks like they are trying over and over again. I get multiple debug emails for the same purchase just minutes apart.

Edited by StarryJen
Link to comment
Share on other sites

Help I am stumped. I cannot find the Transaction ID in the admin orders all I see is

 

No PayPal Transaction Information Available (f0e4e6b6749453dee586d7c08035d852)

 

am I supposed to use the invoice # for the transaction id.

 

I am trying to final test the ipn & paypal

 

Jimmy

I'm not a coder just a splicer.

Link to comment
Share on other sites

hmm, that edit button disappears too quick!

I checked my mom's paypal account and she did not have any business information set up. I've added the basic info without upgrading her account.

I am going to turn the debug emails back on, and I will report back here with the results of whether the Business id is populated now. Still stumped on that other id though...

Link to comment
Share on other sites

The transaction signature, e.g for the above transaction (f0e4e6b6749453dee586d7c08035d852), could then be used in the IPN Test Panel (see the help page), and this will determine whether the IPNs should then work in live (or sandbox) mode, the IPN Test Panel test will determine whether there are any errors occuring (must be in test mode first). Once an IPN has been processed you should then see info about the payment, see the documentation for info.

 

Don't you already have a 'Premier' PayPal account, you need either a Premier or Merchant PayPal account in order to receive money, but you've been doing so for some time now???

Regarding the edit button, you need to disable javascript so as to do this, download the FireFox Web Browser

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

Link to comment
Share on other sites

Thanks Greg, I just seem to be stuck somewhere here when using the ipn test panel, I get a blank page and no IPN update. I am using 2.9 I had 2.6 working like a breeze but I must be missing somthing. All my edits ar correct & file copying.

 

Jimmy

I'm not a coder just a splicer.

Link to comment
Share on other sites

Hi Jimmy,

 

Ok, edit catalog/includes/modules/payment/paypal/application_top.inc.php

 

and at the top change

 

// set the level of error reporting
   //error_reporting(E_ALL & ~E_NOTICE);
   error_reporting(0);

To

// set the level of error reporting

    error_reporting(E_ALL & ~E_NOTICE);

    //error_reporting(0);

 

This will now display the errors instead of showing a blank page. Previously the most common error was because of '$language' or '$languages_id' but this should be ok now, see the bottom of that application_top.inc.php page for '$language' and '$languages_id' should be taken of now in the main ipn.php script.

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

Link to comment
Share on other sites

Don't you already have a 'Premier' PayPal account, you need either a Premier or Merchant PayPal account in order to receive money, but you've been doing so for some time now???

Regarding the edit button, you need to disable javascript so as to do this, download the FireFox Web Browser

 

I've been using firefox since beta - the edit button disappears after a certain time period. The admin have set this, as I run an ipb board and we have turned that feature off. pain to not be able to edit posts after say 20 minutes or whatever.

 

For the paypal thing, I got another email and it's the same:

Business ID:

 

PayPal Transaction ID: 6NY5342765657210M

 

I will check the status of my mom's account. I know that she accepts credit cards, but I'm not sure what kind of account she has exactly. Oh, and yes, she has been recieving paypal money for some time now via the ipn modules.

 

//edit:

 

Per paypal her account is Premier:

this is from the start page after logging in.

U.S. Premier Account Overview

Edited by StarryJen
Link to comment
Share on other sites

Ah, thought you meant viewing the source of the html 'splash' page during checkout. Regarding the empty Buisiness ID field, this really shouldn't have any effect from any of your PayPal settings, PayPal will automatically insert the same email address into both the Primary Email Address (receiver_id) and Business ID (business) fields in the IPN (assuming that the PayPal account has only one email address registered).

Edited by devosc

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

Link to comment
Share on other sites

Ok, makes sense - what of the paypal id?

 

Any other ideas what might be wrong with the admin panel not being updated in either the customers/paypal ipn section or the status changing once the webshop has been notified back by paypal that the payment was processed?

 

I don't think I'm getting a notification back from paypal at all.

Edited by StarryJen
Link to comment
Share on other sites

If you're getting the debug emails, then your receiving the IPNs, it's because the Business ID field is empty that prevents the IPN from being processed, this is part of the IPN validation proceedure to ensure payment was sent to the correct person (you).

The PayPal Transaction ID is being included (I just checked the script) because the the Receiver and Business ID validation is failing. We could work around it as long as the receiver email address is the correct one, but it's puzzling why all of a sudden your reporting this problem, I haven't noticed this problem in recent tests....

 

If you like, in catalog/includes/modules/payment/paypal/classes/Client/Connector.class.php

change (near line 105)

if(!strcmp(strtolower($receiver_email),strtolower($this->key['receiver_email'])) && !strcmp(strtolower($business),strtolower($this->key['business']))) {

To

if(!strcmp(strtolower($receiver_email),strtolower($this->key['receiver_email']))) {
but as said it's puzzling why this problem is happening in the first place. Edited by devosc

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

Link to comment
Share on other sites

Hi Jimmy,

 

Ok, edit catalog/includes/modules/payment/paypal/application_top.inc.php

 

and at the top change

 

// set the level of error reporting
? ?//error_reporting(E_ALL & ~E_NOTICE);
? ?error_reporting(0);

To

This will now display the errors instead of showing a blank page. Previously the most common error was because of '$language' or '$languages_id' but this should be ok now, see the bottom of that application_top.inc.php page for '$language' and '$languages_id' should be taken of now in the main ipn.php script.

 

Ok Greg, I may have missinformed you, when I enter say 35 for a transaction id I get a blank page, if I enter the long alphnumeric above, I get error invalid transaction id or paypal350000000 etc the same error.

 

Jimmy

I'm not a coder just a splicer.

Link to comment
Share on other sites

The transaction signature should be inserted into both the 'Custom' and 'Transaction ID' in the IPN Test Panel, the Transaction ID field will truncate the transaction signature since it only needs to be 17 chars in length but 'must' be unique (hence suggestion to past the transaction signature). This should then cause the test to go through ok and you'll see the same info sent in the debug email being displayed to the screen, scroll through and you should see IPN 'inserted' and as long as the 'amount and currency' as correct (e.g. must enter the correct values in the Test IPN as what is expected of the order) then you'll see the transaction info in the admin (if the amounts are not the same the order will be put on hold and you'll have to manually accept the order/IPN payment).

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

Link to comment
Share on other sites

Thank you for the work around, I have since realized that my mom's account was not upgraded to a business account - which is what allows me to enter her business id email, and allows her to accept credit cards.

 

I will await another ipn transaction to see if there are any changes, if not - I will do the edit above and get back to you.

 

Thanks so much for all your assistance on this. I really like the look, feel, and flexibility of this module over the core teams.

Link to comment
Share on other sites

Ok I noticed my order_id counter is incrementing by 2 or 3 this is weird I am the only one testing.

 

IPN states completed, but the order is still pending where I think it should change to processed

 

Got a debug.

 

 

Test Complete

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

PayPal_Shopping_Cart_IPN Debug Email Notification

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

[email protected]

[email protected]

verify_sign=PAYPAL_SHOPPING_CART_IPN-TEST_TRANSACTION-00000000000000

payment_date=23:10:11 Dec 07, 2004 EST

digestKey=9649d3edc68b63f177143a965fade074

first_name=John

last_name=Doe

payer_business_name=ACME Inc.

payer_email=root@localhost

payer_id=PAYERID000000

payer_status=verified

invoice=

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=0f6b48168f85a22abc501cd9ebb16608

txn_id=0f6b48168f85a22ab

parent_txn_id=

num_cart_items=1

notify_version=1.6

memo=PAYPAL_SHOPPING_CART_IPN TEST

mc_currency=USD

mc_gross=10.00

mc_fee=0.01

settle_amount=0.00

settle_currency=

exchange_rate=0.00

payment_status=Completed

pending_reason=

reason_code=

submit=Test IPN

 

 

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

PayPal Response

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

INVALID

 

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

Connection Type

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

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

 

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

Email and Business ID config

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

Store Configuration Settings

Primary PayPal Email Address: [email protected]

Business ID: [email protected]

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

PayPal Configuration Settings

Primary PayPal Email Address: [email protected]

Business ID: [email protected]

 

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

Duplicate Transaction

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

A duplicate IPN transaction (0f6b48168f85a22ab) has been received.

Please check your PayPal Account

 

 

Jimmy

I'm not a coder just a splicer.

Link to comment
Share on other sites

Try starting a fresh with a new order and see what happens (you shouldn't get a duplicate since each transaction signature is unique), also check your osC Admin PayPal Payment config settings, they should be something like:

Set Pending Notification Status

Pending

 

Set Order Status

Processing

 

Set On Hold Order Status

On Hold

 

Set Canceled Order Status

Canceled

The 'Set Order Status' is what is used once the IPN is processed (successfully, e.g Payment is 'Completed').

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...