"Expired Product Details" auto cancel IAP (Unity IAP 4.12.2 + Unity 2022.3.21f1

Hi there, We are running into an issue with Unity IAP on Android:

Error:

onPurchaseFailedEvent(productId: com....productid
message: Expired Product details. Please fetch product details again and use it to retry the call. {M: GPUL.HEC} 
- Google BillingResponseCode = DeveloperError

Shortly after this appears, the OnPurchaseFailed callback stack trace looks suspicious:

#0 0x796bc20dbc (split_config.arm64_v8a.apk) ? 0x0

Versions / Setup:

  • Unity Editor: 2022.3.21f1
  • com.unity.purchasing: 4.12.2
  • Platform: Android

What I’ve Tried So Far:

  • Verified that Unity IAP initializes successfully before any purchase attempt.
  • Confirmed all product IDs match and are correctly added to the ConfigurationBuilder.
  • Only one initialization call is made (no duplicate inits).
  • The error consistently states “Expired Product details,” which suggests stale product metadata.
  • I checked google play console, all products looks active, running without an issue.

Whats happening for user

  • IAP Request cancelled automatically.
  • This native pop up shown

English Translate: Error, Something went wrong. Please try again.

Has anyone else encountered the “Expired Product details” Any guidance or best practices for handling this would be greatly appreciated. Thanks in advance.

Hello @emirkivrak

Does this occur for consumables and non-consumables?
If this occurs only on subscriptions, can you validate that you are using only 1 subscription plan that is backwards compatible?

After retrieving products from the store (when OnInitialized is called), does the product metadata match for that product?

Another cause could be the Google Play Store. Some reports mention that logging out then logging back to the Google Play Store solved this issue.

If this doesn’t work, would you be able to provide more information to reproduce and device logs?