Re: Paypal IPN and PHP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux