Was IAP working for you previously? What changed? You can certainly try to initialize again, have you tested this? I would suspect however that a second attempt would behave as the first. Can you show the code that you are using to add your products, and a screenshot of your products on iTunes Connect? I would want to compare the products for spelling, etc.
The problem is, when the IAP fails to initialize at the beginning (like when Apple’s servers fail) with the error code “InitializationFailureReason.PurchasingUnavailable”, it cannot recover by itself even when Apple’s servers recover. Our users will have to restart the game for it to initialize again so that they can make the purchase.
So my question is, when initialize failed (like “InitializationFailureReason.PurchasingUnavailable”), can we call “UnityPurchasing.Initialize” manually to try initializing again without restarting the app?