I am creating non renewable subscription for one of my application.
I have read document that if I implement non renewable subscription then I have to write code to expire it from server side.
I am all done with it.
But I am little bit confuse that If I am going to purchase that item once its expired the alert says as attached in image. That means it will restore the non renewable subscription or it will purchase a new one?
Also another question I have read that on stackoverflow that If application is providing non renewable sunscription that it must has optional registration flow is it true?
About your first question, non-renewing subscriptions can not be restored or sync via the usual Apple way of providing restoring/syncing between devices. You have to provide your own mechanism. You can check this documentation and judge yourself how you want to do it.
Regarding your second question:
You can check how your app relates to the following entry in the review guidelines.