IPN is all you need to manage your backend subscription status.
When a customer completes a subscription, your IPN script will recieve a PayPal post-back message which is supposed to be like this:
txn_type=subscr_signup&subscr_id=I-T174N7E5R9YK&last_name=US&residence_country=US&mc_currency=USD&item_name=USM+Sample+Subscription&business=USM%40email.com&amount3=1.00&recurring=1&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AfmX-ZMkgBlWAFEHv-hrAdTpuXhH&payer_status=verified&test_ipn=1&payer_email=USP%40email.com&first_name=Payer&receiver_email=USM%40email.com&payer_id=8FMFQ2KVYYHTY&reattempt=1&item_number=S1&recur_times=2&subscr_date=20%3A41%3A18+Oct+25%2C+2015+PDT&charset=gb2312¬ify_version=3.8&period3=6+D&mc_amount3=1.00&ipn_track_id=683b212770787
You may want to look at the txn_type=subscr_signup
and subscr_id=I-T174N7E5R9YK
, the former one tells the transaction type (signup, cancelation, subscription payment, expiration, etc), and the latter one is for your database reconciliation usage (store the ID along with your customer profile entry into your database)
PDT is good for showing your customer order details when they return to your site after the payments, but is not recommended for backend order management use, as it's a synchronized method and could be 'aborted' by user browser behavior (back button, browser closed, etc)