Q:

How to test Recurring Billing (Paypal Payments Pro)

I have implemented PayPal payments pro in my web application for recurring billing. When a user creates a subscription, I change an initial amount for the current year, and set the profile start date to one year from today's date. I have it set to cancel the profile if the initial payment fails, and also have the maxfailedpayments set to 1. Immediately after creating the profile, I check the status to see if it is Active (initial payment successful). If so, I process the initial payment transaction. Otherwise, if it is pending, I alert the user that the payment is pending and rely on the IPN listener. This works well if every payment is successful, but this will not be the case in the real world. I am wondering what other cases must be tested, and how can I test them. Right now, my IPN listener only handles cases where 'txn_type' is recurring_payment_profile_created and the profile_status is active. I don't know what the IPN notification will look like if the initial transaction failed, if a subsequent recurring transaction failed, etc. I've looked through PayPal's documentation extensively but it has not given much information.
Thanks,
Paul

A:

Unfortunately, PayPal's IPN documentation has been rather lacking for years.  
Here's a question I answered awhile back with lots of recurring payments IPN samples from IPN's I've gotten from using it:  Send Paypal Recurring Payments commands with IPN Simulator
I'll see if I can find one specific to the initial payment failing and add it.

