checkReceiptValidity function

bool checkReceiptValidity(
  1. AppStoreReceiptValidationResult receiptValidation
)

Implementation

bool checkReceiptValidity(AppStoreReceiptValidationResult receiptValidation) {
  int status = receiptValidation.status;

  if (status != 0) {
    return false;
  }

  List<AppStoreReceipt> receipts = receiptValidation.latestReceiptInfo.toList();

  if (receipts.length == 0) {
    return false;
  }

  AppStoreReceipt latestReceipt = receipts.last;

  int millis = int.parse(latestReceipt.expiresDateMS);

  DateTime date = new DateTime.fromMillisecondsSinceEpoch(millis);

  if (date.isBefore(DateTime.now())) {
    return false;
  }

  return true;
}