Re-purchasing an expired auto-renewable subscription

Hi,


In the following scenario :

  • User purchases an auto-renewable subscription (ex: 1 month) for a premium access
  • User cancels the subscription but still has premium access until it expires
  • When expired, the user purchases the subscription again


--> I receive a .restored transaction state in the paymentQueue updated transactions (sandbox environment)

I was expecting a .purchased instead.

The problem is that in that case, there is no call to paymentQueueRestoreCompletedTransactionsFinished(_: SKPaymentQueue)


How should I handle this case properly?


Thank you!

Replies

1) when you write '(u)ser cancels the subscription' - you mean the user turns autorenew off - they do not request a refund from Apple and Apple does not generate a new receipt with a cancellation_date field. Correct? It is hard to turn off a subscription in the sandbox.


2) I am surprised that you got a .restored transaction state in updatedTranscations without getting a call to paymentQueueRestoreCompletedTransactionsFinished - check that that is actually happening. If it is, please report it as a bug. I do not think that is the expected behavior and it might be just a sandbox bug.


3) I am surprised that you got a restore rather than a purchase after a purchase request