Skip to content

displayPrice returns "0" or "Free" when a 7-day Free Trial is active; unable to easily retrieve the base recurring price. #606

@aryan-xentrixlabs

Description

@aryan-xentrixlabs

I am using flutter_inapp_purchase to display 16 different subscription plans. Each plan includes a 7-day free trial configured in both Google Play Console and App Store Connect. Currently, when fetching products, the displayPrice returns 0 or Free.

Users need to see the actual price they will be charged after the 7-day trial ends (e.g., "7 days free, then ₹999/month"). However, the plugin does not provide a unified way to get the base/original recurring price without complex manual parsing of native sub-objects.

Steps to Reproduce:

Configure a subscription product in Play Console/App Store Connect with a 7-day free trial.

Fetch the product details using getProducts().

Observe the value of product.displayPrice.

Expected Behavior: There should be a consistent property (like basePrice or recurringPrice) that returns the price of the subscription after the introductory period ends, regardless of whether a free trial is active.

Actual Behavior:

Android: displayPrice returns "Free". To get the real price, one must loop through subscriptionOfferDetailsAndroid -> pricingPhases -> pricingPhaseList and filter by recurrenceMode.

iOS: displayPrice returns "Free". The actual price is hidden inside introductoryPrice logic or requires manual formatting of the price double and currency.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions