Skip to main content
Question

Monthly subscriptions with 12-month commitment for react-native

  • August 18, 2026
  • 1 reply
  • 14 views

Forum|alt.badge.img

The support for the native side has been released recently. However, it doesn’t seem like the same support is in place for React Native SDK. Is there any timeline for that?

1 reply

Tarek
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • August 18, 2026

Hi there,

I'm Tarek from Developer Support, thanks for reaching out!

Part of the support is available on React Native today, so there is a way to make it work.

The 12-month commitment product does reach the React Native SDK, and your customers can purchase it. React Native compiles the iOS SDK from source, so the commitment code is present in your build. The product appears in your offerings on devices with iOS 26.4 or later.

You can sell it with RevenueCat Paywalls.

Warning: versions before react-native-purchases 10.5.0 show the upfront price in the {{ product.price }} variable. Apple requires you to show the correct total price. Please use version 10.5.0 or later.

To show it, do these steps:

  1. Update react-native-purchases to version 10.5.0 or later.
  2. In App Store Connect, add both billing plans to one subscription. Put the upfront plan first.
  3. In RevenueCat, create the product and enable the "12 months commitment" option. The product ID becomes <your_apple_product_id>:monthly.
  4. Add this product to its own package.
  5. Use Targeting to show that package only to devices with iOS 26.4 or later.
  6. On the paywall, use {{ product.price_per_month }} for the monthly price and {{ product.price_per_year }} for the total commitment price. Add the "12 months" text for each locale.

Please note that Apple does not offer this plan in the United States or Singapore. You must build with Xcode 26.5 or later. The commitment total must be equal to or more than the upfront price, and a maximum of 1.5 times the upfront price.

However, the part that is genuinely missing is the InstallmentsInfo API. It stays in the native iOS SDK, and we do not map it to the hybrid SDKs yet.

 

Thus, it means a custom paywall on React Native cannot read installmentBillingDisplayPrice and commitmentTotalDisplayPrice from the SDK. Apple requires both values on your purchase screen, so a custom paywall needs these fields.

I do not have a timeline to share for it.

Let me know if that makes sense and if there's anything else I can help with!

Have an excellent day.

Best regards,