Our auto-renewable subscriptions validations are made via web. When a subscription is about to expire, we request Apple with the receipt data to know if the subscription was renewed or cancelled. What is happening, sandbox and production, is that when the subscription was cancelled by the user, the expires_date keeps coming the same (ok!), but there's no key cancellation date, described in https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html
This way we can't know when to stop requesting Apple for receipt information.
Thank you.
The cancellation_date refers to the very rare case where the user demands a refund. The more usual case is the one in which the user cancels their next renewal. In that case you get an expires_date that is in the past with no new receipt indicating an expires_date in the future - i.e. no renewal.
It sounds like you are sending an old receipt to the servers and expecting them to respond with latest_receipt_info. That field is currently deprecated and may disappear. You will need to acquire the latest receipt from the app itself and forward that to the Apple servers. If you want this feature to remain you will have to file an Enhancement Request to iTunes Connect through the Bug Reporter.