The specifics depend on the PayPal product you use, although the logic works similarly (`ish) on both buttons of the Standard Payments Standard and Express Checkout Recurring Payments subscription buttons (via the CreateRecurringPaymentsProfile API):
It depends on whether you have installed MAXFAILEDPAYMENTS or not. If MAXFAILEDPAYMENTS> 0 is set, it will cancel the subscription after n number of attempts, and you will get subscr_cancel. If you have set MAXFAILEDPAYMENTS = 0, you will receive recurring_payment_skipped and the recurring payment will be marked as having an outstanding balance. If you specify AUTOBILLOUTAMT = AutoBillAmt, the outstanding balance will be added to the next billing cycle.
I would suggest a look at https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_IPNandPDTVariables#id091EB0901HT , which lists all IPN variables, including recurring payments.
source share