If your app contacts your backend servers at runtime to verify purchase validity, your server can verify the purchase based on the cached details, to minimize use of the Purchase Status API and to provide the fastest possible response (and best experience) for the user.

For the validation products on IOS, all necessary data can be retrieved using IOSStoreKitResponse object. And the GooglePurchaseTemplate for Android.

In case  the validation is failed you can remove purchase record using: