I am working on a Newsstand app that has an Auto-renewable subscription that renews after every 12 months. The problem is when an already subscribed user tries to purchase the Subscription again. According to the documents, StoreKit framework should return SKPaymentTransactionStateRestored
if the user is already subscribed, but it returns SKPaymentTransactionStateFailed
in StoreKit delegate method:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
Steps:
- Purchase an auto renewal subscription
- Upon successful purchase, delete and reinstall the App again.
- Again purchase an auto renewal subscription with same Apple id and password or try to purchase the same Subscription on a different device using the same Apple Id.
I doubt that instead of restoring the previous purchase, it makes a new purchase request and updates the Subscription period accordingly.
This is not an account based app, so I cannot store and check the Subscription period on server.