Unity IAP build on iOS initializes and validates receipts even when in airplane mode

I’m not even sure how this is possible. I am using Unity IAP and have a check when the user opens the app to see if they’re subscribed. And, to be honest, it works 100% of the time… even when the devices is in airplane mode.

As per documentation, I was expecting the “Initialize” to hang, which I prepared for, if there is no internet connection. However, it initializes successfully, and will check the receipt and see if the user is subscribed. In airplane mode, if the subscription has not ended, it will return true on “IsSubscribed”, and if the subscription has ended, it will say “no receipt”—without being connected to the internet.

How is this possible? Or is this indicative that my handling of receipts and initialization is flawed?

IAP will verify the transactions cached on the device. As far as I know, even if IAP is initialized without the network, the purchase will not be affected after the network is restored.