Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

PayPal_Shopping_Cart_IPN


devosc

Recommended Posts

I agree that the exclusive use of IPN is somewhat puzzling. As you are the expert, please correct me where I am wrong. Perhaps, it is considered more *reliable* since PayPal automatically retries IPN until you successfully confirm (or it exhausts all attempts). Alternatively, using auto-return or RM2 does not get re-attempted. If there were a communication failure on the return to your site then that data is lost. In this scenario, of course, you still have the IPN as a backup. But, if you have to accommodate for this scenario, you might as well have used IPN exclusively. What do you think?

Link to comment
Share on other sites

  • Replies 1.1k
  • Created
  • Last Reply

Top Posters In This Topic

Hi Anthony :)

 

You do have a subtle point there, the independent IPN is resent irrespective of the return methodology, but extending upon your point about returning to the site and there being a communications error, you could at this point still store the order especially as you would now particularly know that the customer for all intentional purposes has fullfilled the transaction process.

 

It could possibly be forseen that the order must be pre-stored, but the client (storeowner) should have the choice, and if the RM 2 method was revised as suggested might make it somewhat more reliable/usable.

 

I'll contact you soon about this, if you could make your script available for download I look soon (my computer burned), but I'm pressed this week for time.

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

Link to comment
Share on other sites

Hi guys,

 

Just a piece of useful warning information about eCheck payment from Paypal...

 

This is registered as a blank transaction on an 'order', hopefully someone reading this won't panic when it happens to them next =)

 

By the time the eCheck clears, I'm guessing that there's nothing telling IPN that it's associated with a particular order...

Link to comment
Share on other sites

Hi, Whay I don't have amount from shopping cart in paypal login page. Customers must put there amount from shopping cart manualy. This contribution doesn't pass value to amount field? I'm lost. Thanx for any reply or explanation

Link to comment
Share on other sites

so why by far the most reliable method is to soley rely on the independent PayPal IPN is somewhat puzzling

IPN is more reliable for at least 3 reasons:

1) there is no dependence on the shopper pressing Continue OR the Auto-Return working.

2) IPN retries until it is successful.

3) IPN handles the echeck situation. A second IPN posts when the echeck clears.

 

The importance of using IPN exclusively cannot be overstated.

 

PayPal do not offer any suggestions about protecting access to the ipn.php script

It's OK not to provide protection from the script being accessed from other than PayPal but precautions must be in place:

1) ipn.business must equal button.business

2) ipn.mc_gross must equal button.amount and ipn.mc_currency must equal button.currency_code

3) ipn.txn_id must not have been previously processed (for payment_status=Completed)

4) the IPN must be authenticated with a "VERIFIED" response

Patrick Breitenbach

Link to comment
Share on other sites

Patrick,

 

Those points are getting very repetitive. The point of the forum as such is to discuss suggestions and solutions and not neccessarily a place to stipulate terms and conditions, you still have not made any direct response to my suggestion about combing the auto-return feature with the RM 2 method.

 

Firstly the development of this contribution has been at the expense of the developer(s), even though breifly suggested by you there has been no forthcoming gesture of faith from PayPal towards this area, for example, sandbox.

 

The e-check can still be handled by both the customer returning with RM and the IPN, as you stated there are 2 IPNS sent for this transaction, the information recieved by the customer could be considered as the first of these 2, the second simpy updates it's status.

 

the second point you highlighted of mine was in regard to access to the script not it's validation.

 

The point I am trying to make is that ultimately it is the client who should have the choice by what means their store's transactions are made, there is an overhead with the insistance of the your recommendations, but I'm suggesting that there should be no reason why PayPal cannot offer a combined solution. They offer a bit of both so there should be no reason why it can't be combined, it would now seem that PayPal should offer an official complete technical specification for developing shopping carts to use the PayPal gateway, the insistence of these recommendations is not backwards compatible and therefore at the expense of the storeowner and developers.

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

Link to comment
Share on other sites

would now seem that PayPal should offer an official complete technical specification for developing shopping carts to use the PayPal gateway
Actually what I meant is that PayPal themselves should develop an osCommerce compatible module rather than taking the free ride of promotion of their services, giving nothing in return but just repetitively interjecting their recommendations.

 

As previously said it works both ways in a client relationship. People should have a choice on how their store runs and to that end the best possible instances should provided in all methods.

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

Link to comment
Share on other sites

The above are suggestions based on experience, not stipulations. It is OK to combine the "rm=2" method but we typically recommend against it because it is unnecessary and can introduces a lot of room for error, especially with something as widely distributed as osCommerce.

 

Developing the PayPal module ourselves is a difficult proposition both because we don't have the right php and osCommerce expertise and because the osC community seems to work really well. We will continue providing consultative support and are evaluating other ways to provide promotional and financial support.

Patrick Breitenbach

Link to comment
Share on other sites

Hi Patrick,

 

I appreciate what you said.

 

I'll have to look again but from the tests I did before the Automatic-Return feature did not post the RM 2 fields back to the site.

 

When you said room for error, was this in regard to the possibility of revising the content of the RM 2 fields such that the storeowners account details are omitted and would have to be appended to the info posted back to PayPal for verfication? In either case I do feel that this should be seriously considered since it will restrict the amount of information that a customer could attain about the storeowners website which increases the opportunity for potential spoof ipns etc...

 

Untill such time that the core osCommerce package fully commits to pre-storing orders, the storeowners should continue to have the choice in the way that their transactions are made and stored inline with the current MS2 2.2 methodology.

 

Some reasons for this are in that having to pre-store the order, an intermediate page must then be shown prior to posting the customer to the site, this increases the opportunity for the customer to think and therefore might even give them room for doubt, the payment process should be as streamlined as possible, this might be considered crucial for newly established and unknown sites (another reason for why the Itemized PayaPal Shopping Cart feature is available).

 

Also making such a siginificant change in the way a PayPal transaction occurs actually has an impact on all the other types of payment methods/modules.

 

It also has an impact on whether or not a customer can be prompted upon their return to receive product notifications, since this info is based upon the order being stored, which in this case assumes the payment has been successfully fullfilled and verified.

 

This contribution does not currently go so far as to fully accomodate the latter of the above, this was to keep amount of changes required to the core osCommerce package to an absolute minimum, yet provide the potential if neccessary on indivually customized basis, or until a general consensus is made or established.

 

Since this does not occur in the the current osCommerce MS2 2.2 Milestone release and that there are alot of storeowners who currently use MS2 2.2, they will not be upgrading in a hurry, if at all. Thus it is my belief that some form of choice and compatability should currently remain and be provided.

 

Regards,

Greg.

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

Link to comment
Share on other sites

Just to correct something said above about impacting other payment modules, if the information is posted back to the site once the customer clicks the osCommerce confirmation button then in this way there is no real impact on the other payment modules. Another page would then be displayed on the storeowners site from which the customer is then posted to PayPal, this is inline with Anthony's thoughts.

Edited by gregbaboolal

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

Link to comment
Share on other sites

Another page would then be displayed on the storeowners site from which the customer is then posted to PayPal

 

Just to clarify, that this page is automatically submitted, so in most cases the user does not see this page before they are taken to PayPal. (You can equate this page to the behavior you see on PayPal where it says: "If you see this page for more that 5 seconds, click here.")

Link to comment
Share on other sites

Patrick

 

I just read an update announcement about the secpay module, and actually I had a similar idea but specifically in regard to the customers session id and that is to encrypt the info passed to PayPal, how about using the storeowners PayPal client id (not the email addr) as the key or something similar?

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

Link to comment
Share on other sites

Hello, I'm not sure if this has ever come up, but I just had a customer place an order through the PayPal module. This customer was unconfirmed and therefore I had to first "accept" the payment. Once I did that, the IPN came over with just the $1.50 handling fee and no other information at all.

 

However, when I look in my admin under PayPal IPN it shows the order amount is correct, but when I click on "Order" it shows nothing but $1.50. No customer address, no product information...nothing.

 

I don't seem to have a problem when the customer is confirmed and has a PayPal account. But this is the first order I received where the customer used the Quick Checkout using PayPal and used the feature where they do not have to have an account with PayPal if using their credit/debit card.

 

Any ideas?? Thanks!

Link to comment
Share on other sites

I think the reason is the particular IPN for unconfirmed address user is not sent immediatly but after you accept the payment.

 

Same situation when customer pays an eCheck. The IPN is not recieved immediatly but after it is cleared.

 

Another possible scenario is that the immedia IPN is not understandable by this contribution. Didn't have time to play with the debug E-mail on this contribution.

 

I just simply accept all the payment regardless is confirmed address or unconfirmed address.

 

If the amount is big enoug to worry me, then I just refund the payment and "piss" of the customer a little. LOL.

 

But I still have problems with eCheck payment in which I got a empty order few days later.

Edited by polaris
Link to comment
Share on other sites

Well, as long as the payment is in PayPal I guess I shouldn't worry too much. I'll just have to call him Monday morning and verify the shipping information since it differs on PayPal from what he used in the Quick Checkout. Same city/state, first/last name, just the physical address in PayPal seems to go to a college where the Quick Checkout info is to a personal address.

 

We don't want unhappy customers by sending to the incorrect address!!

 

Thanks for the quick reply, I'll have to keep an eye on it and see if it happens again.

Link to comment
Share on other sites

I just upgraded to the newest version of the contribution, and I'm having the same problem as only2empires. We just received an order like this:

 

On the admin Paypal IPN page, payment status is shown as "completed", amount is 29.99. When I click the orders button, there is no info on the customer at all.

 

On the orders page, the customer's name is missing from the listing and the amount is $0.00. Clicking on the invoice or edit buttons show no info on the customer, not even an email address.

 

Before today, we were using the 1.5 version, I did make sure to upgrade very carefully though. Any ideas why this may happen?

Link to comment
Share on other sites

Error

SQL-query :  

ALTER TABLE `orders` ADD `paypal_ipn_id` INT( 11 ) DEFAULT '0' NOT NULL 

MySQL said: 


#1060 - Duplicate column name 'paypal_ipn_id'

 

Anyone else getting this when trying to query install the ipn in their database? I dont see anything "paypal" getting into the database, although I did try and install this contrib a few weeks ago and bailed.

Link to comment
Share on other sites

1146 - Table 'warrior007.paypal_ipn' doesn't exist

I get this error in the admin too, since I figure I installed the sql before, then half deleted the tables.. I am pretty sure I got it half installed (and half not! LOL)

 

See if I can alter it to try and put only what I need..

Link to comment
Share on other sites

I commented out the altering of the orders table for paypal ipn and the rest went through a-ok..

 

Still not making much of a difference though, I get no ipn at all. I get back to my website ok though but no option for product notification and no history of the products I bought....

 

I might have missed uploading a file so I will have to go throough it again.

Link to comment
Share on other sites

I just upgraded to the newest version of the contribution, and I'm having the same problem as only2empires. We just received an order like this:

 

On the admin Paypal IPN page, payment status is shown as "completed", amount is 29.99. When I click the orders button, there is no info on the customer at all.

 

On the orders page, the customer's name is missing from the listing and the amount is $0.00. Clicking on the invoice or edit buttons show no info on the customer, not even an email address.

 

Before today, we were using the 1.5 version, I did make sure to upgrade very carefully though. Any ideas why this may happen?

I think I got mine working. I had similar problems until I found I did not have ipn.php in my "catalog" directory. Once I placed it there things started working good.

Link to comment
Share on other sites

Thank you for the advice, but I did have ipn.php in my catalog directory. Maybe the auto-return feature is causing the problems with blank orders? I do have that enabled in Paypal as well as in the admin module. "Account optional" feature is set to off (in Paypal).

 

Has anyone else experienced this?

Link to comment
Share on other sites

Very odd....

 

I think the blank order did not originate from the site in question. I think it came from another site my client owns, both sites use the same Paypal account.

 

We only received one order on March 28 for $109.... the blank order was for $29.99, and according to the number of people who signed up for an account within the past few days this transaction could not have occured at this particular site. We do, however, have a downloadable product on the other site (which isn't even using oscommerce for shopping, just paypal buttons) that is $29.99 and no shipping, and could also explain why no information was recorded, because there was nothing to record using plain Paypal buy now buttons.

 

I do not have direct access to the Paypal account, so I'll have my client check this later today to make sure. So if anyone else is having the same problem, this may be what is happening. We will disable auto-return (in Paypal) and see if that resolves the problem.

Link to comment
Share on other sites

In my case, the auto-return in PayPal is turned off and also in the admin (as per Gregs advise to have the customer click continue). Even with the auto-return off and customers not clicking the continue button on PayPal, the orders were coming through just fine on emails and in the admin.

 

I'll have to watch the next order and see if it happens again, if not, then it has something to do with the delay in uncomfirmed PayPal accounts and having to accept the payment before it goes through to the admin. Haven't had an echeck yet (as mentioned prior), so not sure what's going to happen there.

 

Luckily I placed fake orders myself and then copy/pasted the text from my emails to notepad and I use those to email the customer their order updates if something like this occurs. This way it looks just like the real deal coming from the admin section should they ever place another order and it goes through fine, they won't notice a difference in the emails they receive :D

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...