I'm encountering an issue with the App Store Server API where the appAccountToken
is not preserved when users migrate their Apple ID email addresses. I've submitted
Feedback Assistant ticket FB18709241 but wanted to check if anyone else has experienced this and get community input on best practices.
The Issue
When a user migrates their Apple ID from one email to another (e.g., from olduser@example.com
to newuser@icloud.com
), the App Store creates a new subscription
transaction with a different originalTransactionId
, but the appAccountToken
is not carried forward from the original transaction.
What I'm Seeing
note: these values are fake
When querying /inApps/v1/subscriptions/{originalTransactionId}
with the either post-migration transaction ID or the pre-migration transaction ID, the API returns both transactions:
-
Pre-migration transaction (status: 2 - inactive):
originalTransactionId
: "12345678910111"- Contains:
"appAccountToken": "abc123-def456-ghi789"
-
Post-migration transaction (status: 1 - active):
originalTransactionId
: "67891011121314"- Missing:
appAccountToken
entirely
The Problem
The appAccountToken
is our only way to link App Store subscriptions to user accounts. Without it on the new transaction:
- Users lose access to premium features despite having valid subscriptions
- Server-side renewal notifications can't be matched to user accounts
- Manual support intervention is required for each affected user
Questions for the Community
- Has anyone else encountered this issue with Apple ID migrations?
- What's the recommended approach for handling this scenario?
- Is there an alternative mechanism to maintain the subscription-to-user linkage across migrations?
Questions for Apple Engineers
- Is this the expected behavior, or should the
appAccountToken
be preserved? - Are there any planned improvements to handle this migration scenario?
- What's the best practice for developers to handle this case?
Interestingly, both the old and new transaction IDs return the same JSON response from the App Store Server API, suggesting Apple maintains internal linkage between
these transactions, but the appAccountToken
isn't carried forward to the active transaction.
Any insights or similar experiences would be greatly appreciated!
Thank you!!
Feedback Assistant: FB18709241