RedemptionResult

Result types returned when the Flutter SDK redeems a web checkout link.

Purpose

Represents the result passed to didRedeemLink() after the SDK handles a web checkout redemption link.

Signature

sealed class RedemptionResult {}

class RedemptionResultSuccess extends RedemptionResult {
  final String code;
  final RedemptionInfo redemptionInfo;
}

class RedemptionResultError extends RedemptionResult {
  final String code;
  final ErrorInfo error;
}

class RedemptionResultExpiredCode extends RedemptionResult {
  final String code;
  final ExpiredCodeInfo info;
}

class RedemptionResultInvalidCode extends RedemptionResult {
  final String code;
}

class RedemptionResultExpiredSubscription extends RedemptionResult {
  final String code;
  final RedemptionInfo redemptionInfo;
}

Types

Prop

Type

Success Data

Prop

Type

Usage

void didRedeemLink(RedemptionResult result) {
  switch (result) {
    case RedemptionResultSuccess(redemptionInfo: final info):
      final purchaser = info.purchaserInfo;
      print('Redeemed for ${purchaser.appUserId}');
      break;
    case RedemptionResultError(error: final error):
      print('Redemption failed: ${error.message}');
      break;
    case RedemptionResultExpiredCode(info: final info):
      print('Code expired; resent email: ${info.resent}');
      break;
    case RedemptionResultInvalidCode():
      print('Invalid code');
      break;
    case RedemptionResultExpiredSubscription():
      print('Expired subscription');
      break;
  }
}

How is this guide?

On this page