Add easily accessible "purchase failed reasons" for common reasons on iOS

👍 Gathering votes
Adriaan

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!

1 year ago

Activity
Ayyappa

Sure! We will add it in 2.6.0 for all of the features.

0    1 year ago    Reply

Adriaan

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    1 year ago    Reply

Adriaan

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    1 year ago    Reply

2 votes
Categories
Feature
 
A product of Voxel Busters