On iOS, the Billing System returns pretty useless error information when a purchase fails.
For example, when the user cancels a purchase, you get the following error:
Domain: null
Error Code: 0
Description: [super long raw Apple error here]
Using this data, I cannot possibly present the player with something that can help them resolve the issue themselves. I would love the failed function to get an enumerator or other custom parameter for some of the common purchase fail reasons like this one. With thousands of players potentially running into errors here, I need to be able to give them support based on a screenshot or a text with a useful error code or sorts...
For example:
PurchaseFailureReason.UserCancelled
PurchaseFailureReason.PaymentDeclined
PurchaseFailureReason.ProductAlreadyOwned
etc
I hope something like this is possible!
2 years ago
Sure! We will add it in 2.6.0 for all of the features.
0 2 years ago Reply
And note that on Android, the domain and error codes also return null and 0, virtually making them useless! However, on Android, a proper error code is returned that I can than easily parse manually.
0 2 years ago Reply
Here are billing response codes for Android that you can look at:
https://developer.android.com/reference/com/android/billingclient/api/BillingClient.BillingResponseCode
And here are the ones for iOS:
https://developer.apple.com/documentation/storekit/skerrorcode?language=objc
This is what the Unity IAP plugin has:
https://docs.unity3d.com/Packages/com.unity.purchasing@4.4/api/UnityEngine.Purchasing.PurchaseFailureReason.html
0 2 years ago Reply