IAP latest version bugs

Hi,

I updated to the latest IAP version, and suddenly it stopped working predictably on Android.
Every time I start the app it doesn’t remember the bought subscription, even though I can see this in the log

11-16 16:17:13.963  3553  3553 I Unity   : Already recorded transaction fcelinflabdppclkkfbkdiek.AO-J1Oxc0cSjG6R-vsDlxk04W1eiYDSLS66t94RhcuNg7sVkvzfKqnNwXFLUjjDkRxG7vF0-q_6yC0B3zauUY1J9R8HQmPwFuUQUsPTaLseifU_Bm4foQqg
11-16 16:17:13.963  3553  3553 I Unity   : UnityEngine.Purchasing.PurchasingManager:ProcessPurchaseIfNew(Product)
11-16 16:17:13.963  3553  3553 I Unity   : UnityEngine.Purchasing.GoogleFetchPurchases:OnFetchedPurchaseSuccessful(List`1)
11-16 16:17:13.963  3553  3553 I Unity   : System.Action`1:Invoke(T)
11-16 16:17:13.963  3553  3553 I Unity   : System.Action`1:Invoke(T)
11-16 16:17:13.963  3553  3553 I Unity   : System.Action`1:Invoke(T)
11-16 16:17:13.963  3553  3553 I Unity   : System.Action`1:Invoke(T)
11-16 16:17:13.963  3553  3553 I Unity   : System.Action`1:Invoke(T)
11-16 16:17:13.963  3553  3553 I Unity   : UnityEngine.Purchasing.QuerySkuDetailsService:ConsolidateOnSkuDetailsReceived(AndroidJavaObject, AndroidJavaObject, Action`1)
11-16 16:17:13.963  3553  3553 I Unity   : System.Action`2:Invoke(T1, T2)
11-16 16:17:13.963  3553  3553 I Unity   : System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
11-16 16:17:13.963  3553  3553 I Unity   : UnityEngine.AndroidJavaProxy:Invoke(String, Object[])
11-16 16:17:13.963  3553  3553 I Unity   : UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr)
11-16 16:17:13.963  3553  3553 I Unity   : 
11-16 16:17:13.963  3553  3553 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35

Also when I try to purchase and I cancel I get the following error:

11-16 16:37:17.690  5061  5061 E Unity   : ArgumentNullException: Value cannot be null.
11-16 16:37:17.690  5061  5061 E Unity   : Parameter name: key
11-16 16:37:17.690  5061  5061 E Unity   :   at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00000] in <00000000000000000000000000000000>:0
11-16 16:37:17.690  5061  5061 E Unity   :   at System.Collections.Generic.Dictionary`2[TKey,TValue].TryGetValue (TKey key, TValue& value) [0x00000] in <00000000000000000000000000000000>:0
11-16 16:37:17.690  5061  5061 E Unity   :   at UnityEngine.Purchasing.ProductCollection.WithStoreSpecificID (System.String id) [0x00000] in <00000000000000000000000000000000>:0
11-16 16:37:17.690  5061  5061 E Unity   :   at UnityEngine.Purchasing.PurchasingManager.OnPurchaseFailed (UnityEngine.Purchasing.Extension.PurchaseFailureDescription description) [0x00000] in <00000000000000000000000000000000>:0
11-16 16:37:17.690  5061  5061 E Unity   :   at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <00000000000000000000000000000000>:0
11-16 16:37:17.690  5061  5061 E Unity   :   at UnityEngine.AndroidJavaProxy.Invoke (System.String methodName, System.Object[] args) [0x00000]

Please fix this as soon as possible, there’ve been lots of Android bugs in IAP, I think it is high time to get this sorted since this is a serious issues that makes or breaks an app.

Now I just found out that I need to wait one more update to check what was already purchased, but I’m still getting this weird cancel purchase error.

We are aware of the issue and working on it.

All right, thank you for your answer. Please keep me posted.

Follow the release thread here Unity IAP package 4.12.2 is now available