I saw several examples of implementing the Paypal IPN protocol in PHP, like https://github.com/paypal/ipn-code-samples/blob/master/IPN_PHP.txt. It works fine. Nevertheless I have a doubt that bothers me.
The documentation on https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/ says:
...
2. PayPal HTTP POSTs your listener an IPN message that notifies you of this event.
3. Your listener returns an empty HTTP 200 response.
4. Your listener HTTP POSTs the complete, unaltered message back to PayPal.
...
In the examples I've seen step 3 is skipped and 4 is done right after 2. Why is that?