Auto renewal fails after re-subscribing to the auto renewal subscription

Some of our users claim that auto renewal fails after they re-subscribed to our subscription, and they have to restore it at each expiration.

The restoration succeeds so the subscription seems to be valid.


It is my understanding that, if the payment was successful, Store Kit adds a transaction for the renewal to the transaction queue so that the App can handle the renewal (as the document says), not only before cancelling but also after re-subscribing.

But in this case, transaction observer for SKPaymentQueue seems to receive nothing from Store Kit when the transaction for renewal should occurs.

The transaction observer is set at launch time, and auto renewal works fine on sandbox.


Is there any other factor in handling auto renewal?

Or is there anyone had experienced similar issue?


Thanks.

I don't believe in leaving code in memory if it isn't being used (i.e. the renewal code for an IAP subscription). Only when I detect the subscription has expired do I launch (in the background) a transactionObserver and the StoreKit code and collect any transactions that have occured. If there are none, I ask the user if they want to go to the app store to check on their subscription and then launch a restoreCompletedTransactions which may require the user log in.


This is not 'best practice' according to Apple - but I think it is a bit better than what they say is 'best practice' - perhaps it is 'bester'.

Auto renewal fails after re-subscribing to the auto renewal subscription
 
 
Q