The following describes how to check that customers are able to make online subscriptions and allow them to to login to the defined secure area using recurring payments or a single payment subscription.
There are two methods to test the system :
Use a second PayPal account to make a purchase.
This is the recommended method to test the installation and the operation of your PayPal account.
The simplest method is to buy a subscription from another PayPal account. You cannot purchase from yourself, so you need to use a friends account, or set up another account. Once you have made the payment and checked that everything has worked, you can reverse the payment.
This is a full test on the live system, and you should set up recurring payments with a low value such as $0.01 which runs with a period of, say, 3 days for 3 installments.
If you use a subscription of 3 days for 3 installments you will receive an email each time a payment is made. At the end of the subscription, access to the secure area will be ended. This will demonstrate most of the situations which will occur.
At each stage of the subscription process, check that the purchaser can access the secure area by logging in. Also, change the purchaser's password and check that the purchaser can still access the secure area.
Note that if you purchase a subscription, test that it has worked and then cancel the subscription, you will receive a subscription end of term for that user when the subscription current period expires which may be a number of days later after you cancelled. Currently, the application will cancel access to the secure area as soon as the person cancels their subscription.
Once you have run through all the above tests, you can be confident that your installation is correct and PayPal is controlling your subscriptions.
Use the build in local test IPN page
I have built in a 'local' ipn test page in the admin area from where you can test the basic operation of the system but without going through PayPal. When you use this method, the script does not wait for the IPN result to be returned from PayPal but always sets the various variables as though it has come through PayPal.
You can test all aspects of the subscription process, the emails, the updating of the database with sales information, logging in to the secure area and so on, but it does not test the exchange of IPN data to and from the PayPal site.
In PHP-SecureArea script, recurring subscription signup has no effect and this test does nothing. A successful subscription payment IPN controls the sign up which is received when a sign up is made.
This will cancel access to the secure area for the user which simulates the subscription cancel IPN from PayPal.
This removes the password to the secure area for this user, so the password state is disabled. The user will not be able to login to the secure area
A payment is made which will appear in the transaction list. It will also allow the customer to log into the secure area.
Subscription end of term (eot)
The password is disabled to the secure area for this user and the end of term flag is set to show that the end of term has been reached.
This is not used in this system.
Web Accept, Cart, Send Money
These are included for completeness but have no function in this application.