Post

Replies

Boosts

Views

Activity

Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Important clarification: The issue appears to happen at the moment the app is backgrounded while the external bank authentication / 3D Secure screen is displayed. The exact visible behavior is: The App Store purchase sheet appears normally. The user taps Subscribe. The App Store sheet completes and disappears. A 3D Secure / bank authentication screen appears. The user must leave the app to approve the payment in their banking app. When the user swipes up to background the app, the 3D Secure screen visibly disappears. The underlying paywall is shown again. The user approves the payment in the banking app. When returning to the original app, the 3D Secure screen is gone and the app is back on the paywall as if the purchase flow had been discarded. StoreKit / RevenueCat then reports the purchase as cancelled/interrupted. No subscription is created, no transaction is delivered, and restore does not recover anything. So the problem is not only that the user leaves the app. The problem is that the 3D Secure authentication UI appears to be dismissed/cancelled as soon as the app is backgrounded, even though leaving the app is required to complete the bank authentication. Can you confirm whether StoreKit/App Store payment authentication is expected to survive app backgrounding during a required external bank authentication step? If it is expected to be cancelled when the app is backgrounded, then users whose banks require approval in a separate banking app cannot complete the subscription purchase flow.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hello, I have an important update regarding this issue. I created a new production App Store build (1.0.7) and implemented RevenueCat’s official Paywall UI (RevenueCatUI.presentPaywall()) in order to eliminate the possibility that the issue was caused by my custom purchase flow. The result is exactly the same. Steps: Open RevenueCat official paywall. Start monthly subscription purchase. App Store redirects to the banking app for 3D Secure authentication. Bank authentication succeeds. User returns to the app. Paywall closes with a CANCELLED result. No active entitlement is received. No subscription is created. Relevant logs: app_background app_foreground paywall result = CANCELLED CustomerInfo = entitlement inactive This reproduces in a production App Store build using RevenueCat’s official Paywall UI, not only with my custom purchase implementation. Given this result, do you still believe this is expected StoreKit behavior, or does it suggest that the purchase flow is being interrupted or discarded when returning from the banking application after successful 3D Secure authentication? Any guidance would be greatly appreciated. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
We implemented the recovery pattern and tested again in production. After StoreKit reported the purchase as cancelled/interrupted following the external bank authentication flow, our app forced a RevenueCat receipt/transaction resync and then re-fetched CustomerInfo before allowing another purchase attempt. The recovery path executed successfully, but no subscription entitlement was recovered. Relevant logs from the production app: 01:16:26.513 purchase.premium.tap 01:16:26.532 purchase.premium.package_found {“productId”:“com.newundercover.app.premium.monthly”,“price”:“5.99 €”} 01:16:26.533 purchase.premium.purchase_call_started 01:16:29.133 purchase.premium.app_background 01:16:39.303 purchase.premium.app_foreground 01:17:00.950 purchase.premium.cancelled_after_background 01:17:00.951 purchase.premium.sync_after_cancel_start 01:17:02.394 purchase.premium.sync_after_cancel_done 01:17:32.214 purchase.premium.restore_after_cancel_start 01:17:32.243 rc.restore {“active”:false} 01:17:32.244 purchase.premium.restore_after_cancel_result {“active”:false} So the app now does attempt to resync after the interrupted/cancelled transaction, but the subscription is still not created and no entitlement becomes active. This confirms the issue is not just that the app failed to retry/resync after the interrupted transaction. Can you please confirm what else the app is expected to do in StoreKit 2 after the user successfully completes the external bank authentication but StoreKit still reports the purchase as cancelled/interrupted? At this point, for affected payment methods, every purchase attempt fails after bank authentication, even after resyncing and retrying. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Thank you. That distinction helps. To clarify the production behavior we are seeing: If the payment method does not require external bank authentication, the subscription purchase completes successfully. If the payment method requires external bank authentication / 3D Secure, the user completes the bank approval, returns to the app, and StoreKit reports the purchase as cancelled/interrupted. If the user then taps the purchase button again, the same flow repeats and the purchase is cancelled/interrupted again. So this is not just one interrupted attempt. For affected users/payment methods, retrying the purchase does not resolve the issue. You mentioned: “Be sure to finish this cancelled transaction.” Could you clarify what “finish this cancelled transaction” means specifically in a StoreKit 2 flow? We are using StoreKit 2 through RevenueCat in non-observer mode, so our app does not call finishTransaction manually. RevenueCat normally manages StoreKit transaction finishing. We have now added a targeted recovery path for this exact case: when the app went to background during the purchase and StoreKit reports the purchase as cancelled/interrupted, we force a RevenueCat receipt/transaction resync, then re-fetch CustomerInfo and check the entitlement again before allowing another purchase attempt. Is this the correct expected recovery pattern for a StoreKit 2 purchase interrupted by external bank authentication? Or is there another StoreKit 2 API/pattern that should be used to finish or clear the interrupted transaction before retrying? The key issue is that purchases without external bank authentication work, but purchases requiring bank authentication consistently fail after returning to the app. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Thank you for the clarification. However, this is not a one-off interrupted transaction. The transaction ID we provided was only one example. The actual issue is that this happens consistently for our production subscription purchase flow whenever the user is required to complete bank authentication outside the app. The user flow is always: The user starts the subscription purchase in our app. The App Store payment sheet opens. The user is required to complete bank authentication / 3D Secure in their banking app. The user successfully approves the payment in the banking app. The user returns to our app. StoreKit reports the purchase as cancelled/interrupted. No subscription is created. The subscription never appears under Apple ID > Subscriptions. Retrying the purchase produces the same result. So the practical result is that users with this payment flow cannot subscribe to our app at all. We understand that an interrupted purchase may require the user to start a new transaction. The problem is that starting a new transaction does not resolve the issue — it fails again in the same way after bank authentication. Could you please clarify what the app is expected to do when the user has already completed the external bank authentication, returns to the app, and StoreKit still reports the purchase as cancelled every time? Is there any additional StoreKit integration requirement for production purchases that involve external bank authentication / Strong Customer Authentication? For context: We are using StoreKit 2 through RevenueCat. RevenueCat investigated and confirmed that Apple returned a receipt for the example transaction, but the receipt contained no subscription record. No entitlement can be granted because no subscription record is created. This prevents affected users from purchasing our subscription at all. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hi, Just following up on this thread. I am still trying to understand how this situation fits the interrupted purchase flow. RevenueCat was able to observe an Apple receipt associated with transaction ID 705593352482713602, even though the receipt contained no subscription record. If no transaction took place at all, could you clarify how a transaction ID and receipt were generated by Apple’s systems? Does this indicate that the purchase progressed beyond the normal interrupted purchase state and was later cancelled internally by the App Store? Thank you for any additional insight.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
I understand that an interrupted purchase should not create a transaction until the user completes the flow. However, in this case the user did complete the bank authentication step and returned to the app. What is confusing us is that RevenueCat was able to observe an Apple receipt associated with transaction ID 705593352482713602, but the receipt contained no subscription record and no subscription was ever created. Can you clarify whether Apple generated this transaction ID and receipt as part of a normal interrupted purchase flow, or whether this indicates that the purchase progressed further and was later cancelled by Apple's systems? We are trying to understand why a transaction ID exists while no subscription record was ever created. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hi, We are using StoreKit 2 through RevenueCat (react-native-purchases 9.15.2). The user was not charged. However, we now have additional information from RevenueCat's engineering team. RevenueCat investigated the transaction and confirmed: the initial purchase never reached RevenueCat, Apple returned a receipt, the receipt did not contain any subscription record, the subscription never appeared under Settings > Apple ID > Subscriptions, therefore no entitlement could be granted. RevenueCat's conclusion is that Apple appears to be cancelling the subscription before it is created. Apple Transaction ID: 705593352482713602 Could you help determine why this transaction is cancelled after successful bank authentication and why no subscription record is created? Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Important clarification: The issue appears to happen at the moment the app is backgrounded while the external bank authentication / 3D Secure screen is displayed. The exact visible behavior is: The App Store purchase sheet appears normally. The user taps Subscribe. The App Store sheet completes and disappears. A 3D Secure / bank authentication screen appears. The user must leave the app to approve the payment in their banking app. When the user swipes up to background the app, the 3D Secure screen visibly disappears. The underlying paywall is shown again. The user approves the payment in the banking app. When returning to the original app, the 3D Secure screen is gone and the app is back on the paywall as if the purchase flow had been discarded. StoreKit / RevenueCat then reports the purchase as cancelled/interrupted. No subscription is created, no transaction is delivered, and restore does not recover anything. So the problem is not only that the user leaves the app. The problem is that the 3D Secure authentication UI appears to be dismissed/cancelled as soon as the app is backgrounded, even though leaving the app is required to complete the bank authentication. Can you confirm whether StoreKit/App Store payment authentication is expected to survive app backgrounding during a required external bank authentication step? If it is expected to be cancelled when the app is backgrounded, then users whose banks require approval in a separate banking app cannot complete the subscription purchase flow.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hello, I have an important update regarding this issue. I created a new production App Store build (1.0.7) and implemented RevenueCat’s official Paywall UI (RevenueCatUI.presentPaywall()) in order to eliminate the possibility that the issue was caused by my custom purchase flow. The result is exactly the same. Steps: Open RevenueCat official paywall. Start monthly subscription purchase. App Store redirects to the banking app for 3D Secure authentication. Bank authentication succeeds. User returns to the app. Paywall closes with a CANCELLED result. No active entitlement is received. No subscription is created. Relevant logs: app_background app_foreground paywall result = CANCELLED CustomerInfo = entitlement inactive This reproduces in a production App Store build using RevenueCat’s official Paywall UI, not only with my custom purchase implementation. Given this result, do you still believe this is expected StoreKit behavior, or does it suggest that the purchase flow is being interrupted or discarded when returning from the banking application after successful 3D Secure authentication? Any guidance would be greatly appreciated. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
We implemented the recovery pattern and tested again in production. After StoreKit reported the purchase as cancelled/interrupted following the external bank authentication flow, our app forced a RevenueCat receipt/transaction resync and then re-fetched CustomerInfo before allowing another purchase attempt. The recovery path executed successfully, but no subscription entitlement was recovered. Relevant logs from the production app: 01:16:26.513 purchase.premium.tap 01:16:26.532 purchase.premium.package_found {“productId”:“com.newundercover.app.premium.monthly”,“price”:“5.99 €”} 01:16:26.533 purchase.premium.purchase_call_started 01:16:29.133 purchase.premium.app_background 01:16:39.303 purchase.premium.app_foreground 01:17:00.950 purchase.premium.cancelled_after_background 01:17:00.951 purchase.premium.sync_after_cancel_start 01:17:02.394 purchase.premium.sync_after_cancel_done 01:17:32.214 purchase.premium.restore_after_cancel_start 01:17:32.243 rc.restore {“active”:false} 01:17:32.244 purchase.premium.restore_after_cancel_result {“active”:false} So the app now does attempt to resync after the interrupted/cancelled transaction, but the subscription is still not created and no entitlement becomes active. This confirms the issue is not just that the app failed to retry/resync after the interrupted transaction. Can you please confirm what else the app is expected to do in StoreKit 2 after the user successfully completes the external bank authentication but StoreKit still reports the purchase as cancelled/interrupted? At this point, for affected payment methods, every purchase attempt fails after bank authentication, even after resyncing and retrying. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Thank you. That distinction helps. To clarify the production behavior we are seeing: If the payment method does not require external bank authentication, the subscription purchase completes successfully. If the payment method requires external bank authentication / 3D Secure, the user completes the bank approval, returns to the app, and StoreKit reports the purchase as cancelled/interrupted. If the user then taps the purchase button again, the same flow repeats and the purchase is cancelled/interrupted again. So this is not just one interrupted attempt. For affected users/payment methods, retrying the purchase does not resolve the issue. You mentioned: “Be sure to finish this cancelled transaction.” Could you clarify what “finish this cancelled transaction” means specifically in a StoreKit 2 flow? We are using StoreKit 2 through RevenueCat in non-observer mode, so our app does not call finishTransaction manually. RevenueCat normally manages StoreKit transaction finishing. We have now added a targeted recovery path for this exact case: when the app went to background during the purchase and StoreKit reports the purchase as cancelled/interrupted, we force a RevenueCat receipt/transaction resync, then re-fetch CustomerInfo and check the entitlement again before allowing another purchase attempt. Is this the correct expected recovery pattern for a StoreKit 2 purchase interrupted by external bank authentication? Or is there another StoreKit 2 API/pattern that should be used to finish or clear the interrupted transaction before retrying? The key issue is that purchases without external bank authentication work, but purchases requiring bank authentication consistently fail after returning to the app. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Thank you for the clarification. However, this is not a one-off interrupted transaction. The transaction ID we provided was only one example. The actual issue is that this happens consistently for our production subscription purchase flow whenever the user is required to complete bank authentication outside the app. The user flow is always: The user starts the subscription purchase in our app. The App Store payment sheet opens. The user is required to complete bank authentication / 3D Secure in their banking app. The user successfully approves the payment in the banking app. The user returns to our app. StoreKit reports the purchase as cancelled/interrupted. No subscription is created. The subscription never appears under Apple ID > Subscriptions. Retrying the purchase produces the same result. So the practical result is that users with this payment flow cannot subscribe to our app at all. We understand that an interrupted purchase may require the user to start a new transaction. The problem is that starting a new transaction does not resolve the issue — it fails again in the same way after bank authentication. Could you please clarify what the app is expected to do when the user has already completed the external bank authentication, returns to the app, and StoreKit still reports the purchase as cancelled every time? Is there any additional StoreKit integration requirement for production purchases that involve external bank authentication / Strong Customer Authentication? For context: We are using StoreKit 2 through RevenueCat. RevenueCat investigated and confirmed that Apple returned a receipt for the example transaction, but the receipt contained no subscription record. No entitlement can be granted because no subscription record is created. This prevents affected users from purchasing our subscription at all. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hi, Just following up on this thread. I am still trying to understand how this situation fits the interrupted purchase flow. RevenueCat was able to observe an Apple receipt associated with transaction ID 705593352482713602, even though the receipt contained no subscription record. If no transaction took place at all, could you clarify how a transaction ID and receipt were generated by Apple’s systems? Does this indicate that the purchase progressed beyond the normal interrupted purchase state and was later cancelled internally by the App Store? Thank you for any additional insight.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
I understand that an interrupted purchase should not create a transaction until the user completes the flow. However, in this case the user did complete the bank authentication step and returned to the app. What is confusing us is that RevenueCat was able to observe an Apple receipt associated with transaction ID 705593352482713602, but the receipt contained no subscription record and no subscription was ever created. Can you clarify whether Apple generated this transaction ID and receipt as part of a normal interrupted purchase flow, or whether this indicates that the purchase progressed further and was later cancelled by Apple's systems? We are trying to understand why a transaction ID exists while no subscription record was ever created. Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26
Reply to StoreKit purchase cancelled after app backgrounding during bank authentication (3D Secure)
Hi, We are using StoreKit 2 through RevenueCat (react-native-purchases 9.15.2). The user was not charged. However, we now have additional information from RevenueCat's engineering team. RevenueCat investigated the transaction and confirmed: the initial purchase never reached RevenueCat, Apple returned a receipt, the receipt did not contain any subscription record, the subscription never appeared under Settings > Apple ID > Subscriptions, therefore no entitlement could be granted. RevenueCat's conclusion is that Apple appears to be cancelling the subscription before it is created. Apple Transaction ID: 705593352482713602 Could you help determine why this transaction is cancelled after successful bank authentication and why no subscription record is created? Thank you.
Topic: App & System Services SubTopic: StoreKit Tags:
Replies
Boosts
Views
Activity
Jun ’26