Skip to main content

User Storage

note

User Storage is a feature of paid plans. Default storage duration is 1 year, with custom durations available on a CUSTOM plan.

Definition

A database record is created for each user logging into your app and making purchases. This entry can also be referred to as User Storage or User Inventory. The user inventory contains most recent subscriptions and non-consumables. It is stored in the cloud and can be retrieved by calling the Get User API endpoint.

Use the inventory to grant active products received in the response, or display messages about billing issues or expired subscriptions to the user.

note

There is no user inventory if you selected Disabled in your App Setup for User Behaviour.

note

Please try to minimize calls to retrieve user inventory as they could be rate limited. For more information on how to avoid excessive API usage, please see the notes in the Get User API.

Expiration

Each user can access its inventory for the duration stated in the plan. The expiration date is reset when adding new transactions to the user's inventory. With no further interaction, the user record is deleted on the expiration date.

So, if the user is doing a purchase at least every few months, its record will not expire. Although consumable purchases are not stored in user inventory, they will also extend the expiration date, if the record contains at least one active product. To ensure a continuous storage in a subscription based app, the storage duration should be equal or longer than your maximum subscription cycle.

You should consider switching to a CUSTOM plan in case you are offering subscriptions with a renewal cycle longer than the default storage duration, or if you expect a multi-year usage period for non-consumable in-app purchases.

note

After its expiration, products can be re-added to the user inventory by invoking the native restore transactions workflow and validating receipts again.