Skip to main content

Products

Product objects in backstage are "thin" objects in the sense that they only contain a type and external reference, however based on this reference we dynamically populate additional data in the API.

Retrieving products

We offer 2 API's for retrieving products:

The products endpoint will give you all products (of a certain type) available for the user to purchase in the country that they're currently in and on the device that they currently use. It will also include any product already purchased by a user, so no filtering is applied based on that.

The user products endpoint will give you only the products purchased by a user.

Properties set when purchased

Some properties will only be available on the product object if a user has purchased it (or cancelled).

  • paymentMethod will indicate what method of payment was used by the user to get entitlements to the product, can be used for example to only allow cancellation of IAP from the platform where they were made.
  • expirationDate will only be given when a subscription is cancelled, once cancelled a refund is usually not given but access is retained until the end of the current billing period. This property will denote when the user loses access.

Product visibility

Customers can set visibility rules on products, this means that they can allow certain products to only be visible on certain platforms, in certain platforms or be invisible for front-ends altogether.

Any purchased product will however always be returned in the User products API regardless of wether they should be hidden or not.