How to know which products are available for purchase for a user

I implement in-app purchase and have multiple products (4 products) in my app. So at the time of displaying those products, i want to show only those products which are not already purchased.


How i identify for a user that which products are purchased already and which are available for purchase?


Second if all the product have free trial then how to know which product is available for free trial and on which product free trial is used?


Third i have a confusion suppose a user change his iTunes & App Store id then how to get updated receipt for that iTunes id or the receipt is automatically change for that iTunes & app store id?


Fourth can we bind a iTunes & app store id with my app user account?