title: Typical lag time for PayPal "Instant" Payment Notifications (IPN)?
body: <p>The PayPal developer docs state that "<a href="https://developer.paypal.com/docs/classic/products/instant-payment-notification/" rel="nofollow noreferrer">Instant Payment Notification</a>  (IPN) notifies merchants <strong><em>almost</em></strong> instantly about transaction events..." (emphasis mine).</p>
  
  <p>Elsewhere, their docs state that when using <a href="https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNPDTAnAlternativetoIPN/" rel="nofollow noreferrer">Payment Data Transfer</a>, "your site is notified <strong><em>immediately</em></strong> when a customer completes payment. With IPN, however, there is a material lag between the time a customer completes payment and the time your site receives notification of this event" (emphasis theirs).</p>
  
  <p>Can anyone quantify how "material" IPN's "material lag" might be in a typical, non-pathological case, i.e., IPN-listener server up and running normally, and reachable from IPN sender? How far from "instantly" might "almost" instantly be?</p>
  
  <p>Are we talking seconds? Minutes? More?</p>
  
  <p><em>Looking for actual experience in practice here, not conjecture or theory.</em> Thanks.</p>
  
  <hr>
  
  <p>Some context for this question is given in <a href="https://stackoverflow.com/q/40426194/1337498">this other question over here</a>. The use case presented there <em>could</em> in fact tolerate a few minutes of lag time between the user's requesting an instance of the service and the service delivering the answer, since the user needs to interactively answer a series of questions to provide the input required for computing the answer.</p>
  
  <p>In the context of the simple approach proposed in that question (Payouts + IPN),  PDT isn't helpful, since (again, per PayPal's docs): "IPN ... sends many types of notifications, while PDT sends <em>just order confirmations</em>" (emphasis mine) -- and a payout isn't the same thing as an order confirmation.</p>
  
  <p>But if the lag time for an IPN message reporting a payout could (in a non-pathological case) exceed, say, five minutes, then there might be an argument for going to the extra trouble of having the partner site place an order, and then subsequently do the order confirmation (even though it's a machine-to-machine relationship and there'd be no order or confirm "pages" or "buttons", just HTTP requests/responses).</p>
  
  <p>Thoughts?</p>