Question

[Flutter/Android] introductoryPrice is null.

  • 11 August 2023
  • 2 replies
  • 97 views

Badge +3

I'm operating an app that provides annual subscription products developed using Flutter. I'm currently working on addressing the Google Play Billing Library 4 version deprecation in this app. As a result, I have upgraded the version of the `purchases_flutter` library from 4.10.2 to 5.6.0. I haven't made any changes to the subscription product settings on Google Play.

The issue I'm encountering is that the information for the free trial period of the product (introductoryPrice) is being received as null.

The `storeProduct` information received for each version is as follows:

Version 4.10.2:
```
storeProduct => StoreProduct(identifier: us.beentogether.ad.premium, description: , title: Subscription for premium features. (Been Together (Ad)), price: 19000.0, priceString: ₩19,000, currencyCode: KRW, introductoryPrice: IntroductoryPrice(price: 0.0, priceString: ₩0, period: P1W, cycles: 1, periodUnit: PeriodUnit.day, periodNumberOfUnits: 7), discounts: null, subscriptionPeriod: P1Y)
```

Version 5.6.0:
```
storeProduct => StoreProduct(identifier: us.beentogether.ad.premium:premium-1099-1y-1w0, description: , title: Subscription for premium features. (Been Together (Ad)), price: 19000.0, priceString: ₩19,000, currencyCode: KRW, introductoryPrice: null, discounts: null, productCategory: ProductCategory.subscription, defaultOption: SubscriptionOption(id: premium-1099-1y-1w0, storeProductId: us.beentogether.ad.premium:premium-1099-1y-1w0, productId: us.beentogether.ad.premium, pricingPhases: [PricingPhase(billingPeriod: Period(unit: PeriodUnit.year, value: 1, iso8601: P1Y), recurrenceMode: RecurrenceMode.infiniteRecurring, billingCycleCount: 0, price: Price(formatted: ₩19,000, amountMicros: 19000000000, currencyCode: KRW), offerPaymentMode: null)], tags: [], isBasePlan: true, billingPeriod: Period(unit: PeriodUnit.year, value: 1, iso8601: P1Y), isPrepaid: false, fullPricePhase: PricingPhase(billingPeriod: Period(unit: PeriodUnit.year, value: 1, iso8601: P1Y), recurrenceMode: RecurrenceMode.infiniteRecurring, billingCycleCount: 0, price: Price(formatted: ₩19,000, amountMicros: 19000000000, currencyCode: KRW), offerPaymentMode: null), freePhase: null, introPhase: null, presentedOfferingIdentifier: default_offering), subscriptionOptions: [SubscriptionOption(id: premium-1099-1y-1w0, storeProductId: us.beentogether.ad.premium:premium-1099-1y-1w0, productId: us.beentogether.ad.premium, pricingPhases: [PricingPhase(billingPeriod: Period(unit: PeriodUnit.year, value: 1, iso8601: P1Y), recurrenceMode: RecurrenceMode.infiniteRecurring, billingCycleCount: 0, price: Price(formatted: ₩19,000, amountMicros: 19000000000, currencyCode: KRW), offerPaymentMode: null)], tags: [], isBasePlan: true, billingPeriod: Period(unit: PeriodUnit.year, value: 1, iso8601: P1Y), isPrepaid: false, fullPricePhase: PricingPhase(billingPeriod: Period(unit: PeriodUnit.year, value: 1, iso8601: P1Y), recurrenceMode: RecurrenceMode.infiniteRecurring, billingCycleCount: 0, price: Price(formatted: ₩19,000, amountMicros: 19000000000, currencyCode: KRW), offerPaymentMode: null), freePhase: null, introPhase: null, presentedOfferingIdentifier: default_offering)], presentedOfferingIdentifier: default_offering, subscriptionPeriod: P1Y)
```

I conducted testing using a sandbox test account on an actual device, and the subscription history for that account and the registered account information on RevenueCat have been deleted. Additionally, when specifying the `purchases_flutter` library version as 4.10.2, everything is functioning correctly.

The configuration in the Google Play Console for the subscription plans is as shown in the attached image.

 

What further steps should I take to resolve this issue?


2 replies

Badge +3

I referenced other posts on the community and conducted tests using a new account and a new emulator. As a result, I confirmed that the `introductoryPrice` value is being received correctly.

In general, since users who have ever subscribed once wouldn't need the `introductoryPrice`, I believe there shouldn't be an issue.

However, during development, there's a need to simulate behavior as if the user has never subscribed for various reasons. In such cases, is it necessary to create a new account every time for testing? Is there no way to reset the subscription history?

Userlevel 4
Badge +6

Hey There,

 

For an issue like this, can you please create a ticket via the dashboard. Once you create a ticket, we will be able to work with you through our normal support format and get more information on what is happening and how to fix the issue at hand! 

 

You can create a ticket here: https://app.revenuecat.com/settings/support

Reply