StoreKit 2 transactions listener not working

My app has in-App subscriptions using StoreKit 2 and it works fine for 98% of devices. However, I have some customers whose devices don't seem to be receiving transactions (one with a iPhone 13 running 16.5), while his wife's identical phone IS receiving them. They both share a working Internet connection.

I appreciate that there is not a lot of detail here, but in principle, are there any iOS settings, other apps, network settings etc which could prevent transactions arriving?

Post not yet marked as solved Up vote post of Baylward Down vote post of Baylward
627 views

Replies

We also are seeing something similar to this. On macOS it seems like for some customers that the Transaction.updates sequence returns immediately. The result of this is that they must then restore purchases to regain access.

Using code similar to the below:

Task.detached(priority: .background) {
    logger.log("starting listening for transaction updates")
    
    defer { logger.warning("stopped listening for transaction updates") }

    for await verificationResult in Transaction.updates {
      logger.log("processing transaction update")
      ...
    }
  }
}

I can see this in logs from some customers that "stopped listening for transaction updates" gets logged almost immediately after "starting listening for transaction updates". I can't see any errors thrown so I'm still unable to to figure out under what conditions this happens. My first guess was maybe them being signed out of the App Store but I was unable to reproduce this at all in testing.