Skip to main content
Question

Purchase result delayed when upgrading plan on iOS

  • December 19, 2025
  • 1 reply
  • 8 views

Forum|alt.badge.img

I was testing plan upgrade on iOS in sandbox, and there seems to be inconsistent results from revenueCat log and delegate call.

I was subscribed to plan_casual then purchasing plan_pro.

After successful purchase, I can see in the console log that plan B is purchased “INFO: 😻💰 Purchased product - 'plan_pro'

The delegate purchases(_ purchases: Purchases, receivedUpdated customerInfo: CustomerInfo) got called immediately after, however with product identifier plan_casual.

After about 1 minute, storekit payment queue got update with the correct product id “Plan_pro”, then in about another 5 seconds, revenueCat delegate got called with product id “plan_pro”.



 

1 reply

alejandra-wetsch
RevenueCat Staff
Forum|alt.badge.img+6

Hey ​@Bran

Thank you for reaching out!

What you’re seeing is a known quirk of the iOS Sandbox and StoreKit timing during subscription upgrades/downgrades. In Sandbox, StoreKit may take some time to deliver the final transaction state for an upgrade, and there may be periods when the latest receipt still reflects the original subscription status.

During that window, our SDK’s customerInfo callback can briefly show the previous product until StoreKit finishes the change and the receipt is updated. Once the App Store sends the updated transaction/receipt, our SDK refreshes, and you’ll see plan_pro in the delegate.

Rest assured that real users in production won’t see this inconsistency; it’s essentially a Sandbox limitation.

I hope this helps!