Issue with Non-Consumable In-App Purchase in Unity (iOS Sandbox Environment)

Question:

I'm encountering an issue with in-app purchases (IAP) in Unity, specifically for a non-consumable product in the iOS sandbox environment. Below are the details:

Environment:

Unity Version: 2022.3.55f1 Unity In-App Purchasing Version: v4.12.2 Device: iPhone (15, iOS 18.1.1) Connection: Wi-Fi iOS Settings: In-App Purchases set to “Allowed” initially Problem Behavior:

  1. I attempted to purchase a non-consumable item for the first time. The payment is successfully completed by entering the password.

  2. I then background the game app and navigate to the iOS Settings to set In-App Purchases to "Don't Allow."

  3. After returning to the game and either closing or killing the app, I try to purchase the same non-consumable item again.

  4. I checked canMakePayments() through the Apple configuration, and the app correctly detected that I could not make purchases due to the restriction.

  5. I then navigate back to Settings and set In-App Purchases to "Allow."

  6. Upon returning to the game, I try purchasing the non-consumable item again. A pop-up appears, saying, "You’ve already purchased this. Would you like to get it again for free?"

The issue is: Will it deduct money for the second time, and why is the system allowing the user to purchase the same non-consumable item multiple times after purchasing it once?

Is this the expected behavior for Unity In-App Purchasing, or is there something I might be missing in handling non-consumable purchases in this scenario?

Additional Information:

I’ve confirmed that the "In-App Purchases" are set to “Allowed” before attempting the purchase again.

I understand that non-consumable products should not be purchased more than once, so I’m unsure why the system is offering to let the user purchase it again.

I appreciate any insights into whether this is expected behavior or if I need to adjust how I handle the purchase flow.

You mentioned in #6 that it says already purchased. May I know whats the issue as I see it fine for a non-consumable product?

Issue with Non-Consumable In-App Purchase in Unity (iOS Sandbox Environment)
 
 
Q