refreshPurchaseVerificationData method

Future<PurchaseVerificationData?> refreshPurchaseVerificationData()

Retry loading purchase data after an initial failure.

If no results, a null value is returned.

Implementation

Future<PurchaseVerificationData?> refreshPurchaseVerificationData() async {
  await SKRequestMaker().startRefreshReceiptRequest();
  try {
    String receipt = await SKReceiptManager.retrieveReceiptData();
    return PurchaseVerificationData(
        localVerificationData: receipt,
        serverVerificationData: receipt,
        source: kIAPSource);
  } catch (e) {
    print(
        'Something is wrong while fetching the receipt, this normally happens when the app is '
        'running on a simulator: $e');
    return null;
  }
}