public static PurchaseError ToPurchaseError(this BillingResponseCode code) { PurchaseError error; switch (code) { case BillingResponseCode.BillingUnavailable: error = PurchaseError.BillingUnavailable; break; case BillingResponseCode.DeveloperError: error = PurchaseError.DeveloperError; break; case BillingResponseCode.Error: error = PurchaseError.GeneralError; break; case BillingResponseCode.FeatureNotSupported: error = PurchaseError.GeneralError; break; case BillingResponseCode.ItemAlreadyOwned: error = PurchaseError.AlreadyOwned; break; case BillingResponseCode.ItemNotOwned: error = PurchaseError.NotOwned; break; case BillingResponseCode.ItemUnavailable: error = PurchaseError.ItemUnavailable; break; case BillingResponseCode.ServiceDisconnected: error = PurchaseError.ServiceDisconnected; break; case BillingResponseCode.ServiceTimeout: error = PurchaseError.NetworkConnectionFailed; break; case BillingResponseCode.ServiceUnavailable: error = PurchaseError.ServiceUnavailable; break; case BillingResponseCode.UserCancelled: error = PurchaseError.UserCancelled; break; default: error = PurchaseError.Unknown; break; } return(error); }
/// <summary> /// Returns Exception if return code is not OK /// </summary> /// <param name="billingResponseCode"></param> /// <returns></returns> private InAppBillingPurchaseException GetErrorCode(BillingResponseCode billingResponseCode) { switch (billingResponseCode) { case BillingResponseCode.Ok: return(null); case BillingResponseCode.BillingUnavailable: return(new InAppBillingPurchaseException(PurchaseError.BillingUnavailable)); case BillingResponseCode.DeveloperError: return(new InAppBillingPurchaseException(PurchaseError.DeveloperError)); case BillingResponseCode.Error: return(new InAppBillingPurchaseException(PurchaseError.GeneralError)); case BillingResponseCode.FeatureNotSupported: return(new InAppBillingPurchaseException(PurchaseError.FeatureNotSupported)); case BillingResponseCode.ItemAlreadyOwned: return(null); case BillingResponseCode.ItemNotOwned: return(new InAppBillingPurchaseException(PurchaseError.NotOwned)); case BillingResponseCode.ItemUnavailable: return(new InAppBillingPurchaseException(PurchaseError.ItemUnavailable)); case BillingResponseCode.ServiceDisconnected: return(new InAppBillingPurchaseException(PurchaseError.ServiceDisconnected)); case BillingResponseCode.ServiceTimeout: return(new InAppBillingPurchaseException(PurchaseError.ServiceTimeout)); case BillingResponseCode.ServiceUnavailable: return(new InAppBillingPurchaseException(PurchaseError.ServiceUnavailable)); case BillingResponseCode.UserCancelled: return(new InAppBillingPurchaseException(PurchaseError.UserCancelled)); default: return(new InAppBillingPurchaseException(PurchaseError.GeneralError)); } }