Parental approval issues

In the last couple of months our users have been writing to us a lot about parental purchase approval issues. The child tries to make a purchase (often a subscription), the parent either doesn't see it in time or accidentally declines it, but the app is stuck with the status of awaiting approval.

The docs indicate that this state will only last 24hrs, but even after that period and longer, Reloads of the receipt, even deleting/re-installing the app the child account still has SKPaymentTransactionStateDeferred stuck in the transaction queue.

Is there a way to force that Off? The docs say, Update your UI to show the deferred state, and wait for another callback that indicates the final status.

This seems like a new issue as we haven't had problems with it in the 8+ years our app has been in the store.

Replies

The .deferred transaction will remain in the paymentQueue after the 24hr expiry, For this reason it is suggested to mark those transactions as finished after 24hrs (https://developer.apple.com/documentation/storekit/skpaymentqueue/1506003-finishtransaction) to remove it from the queue.

Also you can allow customers to re-purchase the product in your application before the expiry, as the parent will still only be able to review and approve/reject the most recent attempt.