Troubleshoot App Store integration

This article covers common App Store integration issues. Each section below lists the symptoms, root cause, and resolution.

”The provided field values are incorrect” when saving credentials

When you save the In-App Purchase credentials, Adapty builds an authentication token from the In-app purchase Issuer ID, In-app purchase Key ID, and the .p8 file, and validates it against Apple. This error means Apple rejected the token. Verify the values in this order:

  1. Key type. The key must be an In-App Purchase key from Users and AccessIntegrationsIn-App Purchase in App Store Connect. A key from the Team keys tab (the App Store Connect API key) has its own Issuer ID and Key ID, but Apple rejects it here — that key belongs in Step 6 of the configuration.
  2. Same account and team. The Issuer ID, Key ID, and .p8 file must come from the same App Store Connect team as the app. A key generated in another team’s account — for example, an agency account — fails validation.
  3. The .p8 file itself. Upload the file exactly as downloaded from App Store Connect. A file recreated from pasted key contents often fails. App Store Connect lets you download the key only once, so if the original file is lost, generate a new key.
  4. Bundle ID. The Bundle ID must match your app’s bundle ID in App Store Connect exactly — reverse-DNS format with no spaces, for example, com.company.app.
  5. Hidden characters. Re-copy each ID directly from App Store Connect. Stray whitespace or lookalike characters — for example, a lowercase l in place of the digit 1 — make validation fail.

This validation uses only the three In-App Purchase key fields and the Bundle ID. The App-Specific Shared Secret and the App Store Connect API key take no part in it, so re-entering either one won’t change the outcome.

Products don’t appear

Two surface symptoms point to the same root cause:

  • The App Store Connect API key is set up correctly, but Adapty can’t fetch products at all.
  • Products exist in App Store Connect but don’t appear in Adapty, or fewer appear than expected. The SDK reports “Product Id not found” on attempted purchase.

The most common root cause is unsigned Apple agreements — the paid agreement, tax forms, or banking forms in pending or unsigned state. When agreements are pending, the App Store Connect API silently returns 403 on product-related endpoints. No clear error surfaces to Adapty; products are silently filtered out.

Go to App Store Connect → Agreements, Tax, and Banking and sign every pending agreement. Then re-sync in Adapty’s App settings → iOS SDK.

App Store Server Notifications show “Delayed”

In App Store Connect, the App Store Server Notifications status may show as Delayed. This means Apple is delayed in sending subscription event notifications — renewals, cancellations, and billing issues are queued and arrive late.

Install statistics are not affected. Adapty counts installs from the first app launch, not from server-side notifications.

If renewal or cancellation data lags behind, the Delayed status is the most likely cause. The status usually clears automatically as Apple processes the backlog.

A purchase succeeds but the customer loses access

A customer pays and briefly has access, but loses it the next time your app refreshes the profile from Adapty. Apple took the payment, but the transaction never reached Adapty — until it does, the profile has no access level and the sale is missing from your reports.

The cause is usually one of these:

  • A credential stopped working: Adapty couldn’t validate the transaction with Apple. Work through the credentials in If updates stop arriving and replace the one that covers purchase validation.
  • The product isn’t linked in Adapty: The store product ID the customer bought isn’t linked to an Adapty product, so no access level exists to grant. Confirm the product exists with the exact App Store Product ID and has an access level assigned.

The Adapty SDK keeps retrying the transaction, so access returns once Adapty can record it.

Prices in Adapty don’t match App Store

The price field on Adapty’s product edit page behaves differently depending on how the product was added.

If you create a product in Adapty and push it to the store from the dashboard, this price is used as the initial store price.

If you add a product that already exists in the store, this price is a placeholder. Adapty’s analytics, integrations, and SDK use the real prices fetched from the App Store regardless. Changes to App Store prices don’t sync back to update the placeholder, and you can’t currently edit the placeholder from the dashboard.

CSV price export is empty

If your CSV price export returned only column headers, your App Store Connect API key isn’t fully configured. See Step 6 — Add App Store Connect API key.

Can’t push new products to App Store

Adapty can push new products to App Store Connect when you create them in the dashboard. The push option is blocked if your App Store integration isn’t fully configured. Two settings are required: