On Mon, Mar 20, 2006 at 11:26:34AM -0500, Manuel Amador (Rudd-O) wrote: > Curt Zirzow wrote: > > >> > >>Isn't there a full proper PayPal API now? IPN hasn't changed in ages, > ... > > > > >Yeah, they have their new Payment Pro system which has a gateway > >API. I dont think they have any preference over the other. > > > >One of the biggest advantages with IPN is you dont have to worry > >about handling credit card numbers and how you are securily > >handling them. But then again like you said it is a bit clunkly to > >add to a payment system, and if paypal somehow fails you have to > >jump through hoops to figure out what happened and what to do next. > > > > > Not really. The state of a transaction can be easily verified. Considering the way a typical ipn transation works there are several steps involved in the whole transaction that could be the problem. 1. You send user to paypal, with item and amount for item. 2. paypal veryifies user and the amount the user is going to pay. 3. paypal contacts your callback script that should validate the transaction. 4. paypal provides a link to the user to return to your site with data related to the transaction. There are several problems in which are hard to tracedown: - Network problems . Paypal is unreachable . Paypal can't resolve your callback script . Your site is unreachable when the user finishes with paypal. - Script problems . Paypal doesn't ever call your callback script . Your callback script has a logic error/parse error, so you can't verify the transaction but yet paypal still transfers the funds. . Paypal changes their API to post data to their system . Paypal doesn't post transaction related data back to your script. - User problems . User modifies a price for a product that is being posted to paypal, instead of paying $100.00 they change the value to $1.00. . Any Network problem or Script problem causes the user to get frustrated with your system. . User never clicks the 'Return to site' button so you never really know if they've completed the transaction or their browser crashed somewhere. If you use a gateway to process funds within your script, it is much easier to catch these points of failures. Since this system can keep track exactly at what point something failed it can gracefully respond to the the user of the status. Curt. -- cat .signature: No such file or directory -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php