Represents product's listing details.

interface Product {
    currentPrice: Price;
    defaultNonSubscriptionOption: null | NonSubscriptionOption;
    defaultPurchaseOption: PurchaseOption;
    defaultSubscriptionOption: null | SubscriptionOption;
    description: null | string;
    displayName: string;
    freeTrialPhase: null | PricingPhase;
    identifier: string;
    introPricePhase: null | PricingPhase;
    normalPeriodDuration: null | string;
    period: null | Period;
    presentedOfferingContext: PresentedOfferingContext;
    presentedOfferingIdentifier: string;
    price: Price;
    productType: ProductType;
    subscriptionOptions: { [optionId: string]: SubscriptionOption };
    title: string;
}

Properties

currentPrice: Price

Price of the product. This will match the default option's base phase price in subscriptions or the price in non-subscriptions.

Use Product.price.

defaultNonSubscriptionOption: null | NonSubscriptionOption

The default non-subscription option for this product. Null in the case of subscriptions.

defaultPurchaseOption: PurchaseOption

The default purchase option for this product.

defaultSubscriptionOption: null | SubscriptionOption

The default subscription option for this product. Null if no subscription options are available like in the case of consumables and non-consumables.

description: null | string

The description of the product as configured in the RevenueCat dashboard.

displayName: string

Name of the product.

freeTrialPhase: null | PricingPhase

Free trial phase information for subscriptions. Null for non-subscriptions or when no free trial is available. Convenience accessor for defaultSubscriptionOption?.trial.

identifier: string

The product ID.

introPricePhase: null | PricingPhase

Introductory price phase information for subscriptions. Null for non-subscriptions or when no introductory price is available. Convenience accessor for defaultSubscriptionOption?.introPrice.

normalPeriodDuration: null | string

The period duration for a subscription product. This will match the default option's base phase period duration. Null for non-subscriptions.

period: null | Period

Base subscription duration. Null for non-subscriptions. Convenience accessor for the default subscription option's base phase period.

presentedOfferingContext: PresentedOfferingContext

The context from which this product was obtained.

presentedOfferingIdentifier: string

The offering ID used to obtain this product.

price: Price

Base price (after any offers) for subscriptions, price for non-subscriptions.

productType: ProductType

The type of product.

subscriptionOptions: { [optionId: string]: SubscriptionOption }

A dictionary with all the possible subscription options available for this product. Each key contains the key to be used when executing a purchase. Will be empty for non-subscriptions

If retrieved through getOfferings the offers are only the ones the customer is entitled to.

title: string

The title of the product as configured in the RevenueCat dashboard.