Here is my current hunch about this, I also could not find a good document.
I believe that the simple answer is that the purchase date is the date of the original purchase, not the renewal date.
In other words, if the subscription began on March 1 and you receive purchases in July, the purchase date will still be March 1, although there have been several renewals.
You can say that the subscription is active using getPurchaseState () = "0" ("Purchased"), "1" = "Canceled", "2" = Returned.
To find out the expiration date, use Day of the month from the date of purchase and find the next occurrence of that Day of the month. For example, if today is July 15th and getPurchaseState () = "0", then the expiration date should be August 1st.
All of the above is a bit of a hunch. I wish I also found a good document.
source share