convertToPurchaseError function
Implementation
iap_err.PurchaseError convertToPurchaseError(
PurchaseResult result, {
required gentype.IapPlatform platform,
}) {
gentype.ErrorCode code = gentype.ErrorCode.Unknown;
if (result.code != null && result.code!.isNotEmpty) {
final detected =
iap_err.ErrorCodeUtils.fromPlatformCode(result.code!, platform);
if (detected != gentype.ErrorCode.Unknown) {
code = detected;
}
}
if (code == gentype.ErrorCode.Unknown) {
switch (result.responseCode) {
case 0:
code = gentype.ErrorCode.Unknown;
break;
case 1:
code = gentype.ErrorCode.UserCancelled;
break;
case 2:
code = gentype.ErrorCode.ServiceError;
break;
case 3:
code = gentype.ErrorCode.BillingUnavailable;
break;
case 4:
code = gentype.ErrorCode.ItemUnavailable;
break;
case 5:
code = gentype.ErrorCode.DeveloperError;
break;
case 6:
code = gentype.ErrorCode.Unknown;
break;
case 7:
code = gentype.ErrorCode.AlreadyOwned;
break;
case 8:
code = gentype.ErrorCode.PurchaseError;
break;
}
}
return iap_err.PurchaseError(
message: result.message ?? 'Unknown error',
code: code,
);
}