Search code examples
paypalpaypal-ipnpaypal-nvp

Paypal Express NVP is IPN necessary?


We are building a new website for a take-away service and are integrating with PayPal Express (Using the NVP API). As orders are dispatched the same evening eCheck payments have been disabled.

The process we're going to follow is as below:

  • User places order with PayPal and when using DoExpressCheckoutPayment the action used is Authorization
  • The takeaway confirms the order and a DoCapture request is made setting the complete type to COMPLETE

It is my understanding that at this point, so long as the response status indicates it has COMPLETED that the funds are guaranteed. In fact, apart from very rare scenarios, it should usually be guaranteed at the point of Authorization.

Therefore I do not see the requirement for the IPN? There are no further notifications to be received with a given transaction. I could see the benefit it we were taking eChecks but when that's disabled does it offer anything?


Solution

  • IPN is an optional "messaging service". Your checkout/purchase flow doesn't have any "dependency" (shouldn't as PayPal puts it).

    IPN is an asynchronous message service, meaning that IPNs are not synchronized with actions on your website...

    ...

    The IPN message service is not a real-time service. As a result, your listener may not receive an IPN message for many seconds after an event occurs. As a result, your checkout flow should not depend upon receiving an IPN message to complete. If it does, your checkout flow will be slow during periods of heavy system load and complicated, since it must handle retries.

    It's been some time for me, but you are correct about IPN being very helpful if/when you support eCheck - re: notified when Paypal has cleared the check/funds (if memory serves, 1 - 3 business/banking days).

    Hth...