Few more observations
Seems the expired transaction receipt in question was returning a status code of 21002 when calling verifyReciept on the deprecated web API.
This was causing us to flag the transaction as an error rather than accept the transaction. We've now moved over to the JWT method of verifying the receipt. As far as we can tell its not fixed the underlying issue where it's impossible to get a new subscription.
Topic:
App & System Services
SubTopic:
StoreKit
Tags: