Interface PurchasesEntitlementInfo

The EntitlementInfo object gives you access to all of the information about the status of a user entitlement.

interface PurchasesEntitlementInfo {
    billingIssueDetectedAt: null | string;
    billingIssueDetectedAtMillis: null | number;
    expirationDate: null | string;
    expirationDateMillis: null | number;
    identifier: string;
    isActive: boolean;
    isSandbox: boolean;
    latestPurchaseDate: string;
    latestPurchaseDateMillis: number;
    originalPurchaseDate: string;
    originalPurchaseDateMillis: number;
    ownershipType: "FAMILY_SHARED" | "PURCHASED" | "UNKNOWN";
    periodType: string;
    productIdentifier: string;
    productPlanIdentifier: null | string;
    store: "PLAY_STORE" | "APP_STORE" | "STRIPE" | "MAC_APP_STORE" | "PROMOTIONAL" | "AMAZON" | "RC_BILLING" | "EXTERNAL" | "UNKNOWN_STORE";
    unsubscribeDetectedAt: null | string;
    unsubscribeDetectedAtMillis: null | number;
    verification: VERIFICATION_RESULT;
    willRenew: boolean;
}

Properties

billingIssueDetectedAt: null | string

The date a billing issue was detected in ISO8601 format. Can be null if there is no billing issue or an issue has been resolved

Entitlement may still be active even if there is a billing issue. Check the isActive property.

billingIssueDetectedAtMillis: null | number

The date a billing issue was detected in milliseconds. Can be null if there is no billing issue or an issue has been resolved

Entitlement may still be active even if there is a billing issue. Check the isActive property.

expirationDate: null | string

The expiration date for the entitlement in ISO8601, can be null for lifetime access. If the periodType is trial, this is the trial expiration date.

expirationDateMillis: null | number

The expiration date for the entitlement in milliseconds, can be null for lifetime access. If the periodType is trial, this is the trial expiration date.

identifier: string

The entitlement identifier configured in the RevenueCat dashboard

isActive: boolean

True if the user has access to this entitlement

isSandbox: boolean

False if this entitlement is unlocked via a production purchase

latestPurchaseDate: string

The latest purchase or renewal date for the entitlement in ISO8601 format.

latestPurchaseDateMillis: number

The latest purchase or renewal date for the entitlement in milliseconds.

originalPurchaseDate: string

The first date this entitlement was purchased in ISO8601 format.

originalPurchaseDateMillis: number

The first date this entitlement was purchased in milliseconds.

ownershipType: "FAMILY_SHARED" | "PURCHASED" | "UNKNOWN"

Supported ownership types for an entitlement. PURCHASED if the purchase was made directly by this user. FAMILY_SHARED if the purchase has been shared to this user by a family member. UNKNOWN if the purchase has no or an unknown ownership type.

periodType: string

The last period type this entitlement was in. Either: NORMAL, INTRO, TRIAL.

productIdentifier: string

The product identifier that unlocked this entitlement

productPlanIdentifier: null | string

The product plan identifier that unlocked this entitlement. Android subscriptions only, null on consumables and iOS.

store: "PLAY_STORE" | "APP_STORE" | "STRIPE" | "MAC_APP_STORE" | "PROMOTIONAL" | "AMAZON" | "RC_BILLING" | "EXTERNAL" | "UNKNOWN_STORE"

The store where this entitlement was unlocked from.

unsubscribeDetectedAt: null | string

The date an unsubscribe was detected in ISO8601 format. Can be null.

Entitlement may still be active even if user has unsubscribed. Check the isActive property.

unsubscribeDetectedAtMillis: null | number

The date an unsubscribe was detected in milliseconds. Can be null.

Entitlement may still be active even if user has unsubscribed. Check the isActive property.

verification: VERIFICATION_RESULT

If entitlement verification was enabled, the result of that verification. If not, VerificationResult.NOT_REQUESTED

willRenew: boolean

True if the underlying subscription is set to renew at the end of the billing period (expirationDate).