I have an iOS app with a companion watchOS app. (The watch app does support running without the iOS app)
When testing in Xcode with a storeKit Config file, I’m noticing different behaviors.
On the iOS app, If I refund the transaction through the storekit > manage transactions window, the SDK immediately responds to the event and thus updates the entitlements etc.
On the watchOS app, If I refund the transaction there is no response from the SDK. The only way I’ve been able to reset the entitlements is to go into the revenue cat dashboard and delete the associated customer.
I’ve configured and implemented the Revenue Cat SDK in both through a single class such that the overall integration is identical. Similarly, they are both referencing the same storekit Configuration file that matches the offerings set up in the Revenue Cat dashboard. The bundle Id’s reflect MyApp and MyApp.watchkit accordingly.
Is this the expected behavior? Does the SDK listen for events differently on watchOS? Ideally both targets respond to a transaction refund in such a way that I can predictably respond to them and set entitlements.
Do you mind creating a support ticket for this here? This might require more looking into on our end into how your RevenueCat project is set up and logs.
A few additional details after further investigation:
Subscription cancelation events are not showing up for either the iOS or watchOS simulator in the RC dashboard. This is true if the cancelation is initiated from the storekit > manage transactions window in Xcode, or the Manage Subscription Sheet within the app its self.
Refunds are immediately visible in the RC dashboard for the iOS target, but do not propagate for the watchOS target. I believe this is the root cause of the behavior I am seeing in the simulator.
Additionally, both apps due update entitlements once the subscription has been canceled and it expires.
Im new to IAP and simply looking to confirm if this is expected behavior in the simulator with Store-kit config files vs a potential implementation issue on my end.