Sandbox products load, but purchases fail with productUnavailable

We have a new iOS app in App Store Connect with six consumable in-app purchases.

Environment:

  • Bundle ID: live.mymi.ios
  • TestFlight version: 1.0.4 (70)
  • Storefront: KOR
  • Environment: Sandbox
  • Example product ID: ios_spark_5000

StoreKit product queries return all six products with localized KRW prices. For example, ios_spark_10000 is returned as ₩12,000.

However, requesting a purchase fails with Product.PurchaseError.productUnavailable / “This item is not available.”

The issue can also be reproduced independently of the app: Settings > Developer > Sandbox Apple Account > Test Transactions

Entering bundle ID live.mymi.ios and product ID ios_spark_5000 is rejected with a message stating that the product ID or bundle ID is invalid.

The previous app/product pair live.mymi.app + spark_5000 still works on the same device and with the same Sandbox tester.

We verified the following:

  • Paid Apps Agreement, banking, and tax information are active
  • The explicit App ID has the In-App Purchase capability enabled
  • The TestFlight build uses the correct bundle ID
  • Product pricing, localization, and availability in all 175 storefronts are configured
  • All six IAPs are attached to the first app version review submission
  • No local StoreKit configuration is involved

This has persisted for multiple days. It appears that the product-query catalog contains the products, while the Sandbox transaction service does not recognize the product-to-bundle association.

Has anyone seen this with a newly created App Store app/IAP catalog? Did Apple need to re-index the products?We have a new iOS app in App Store Connect with six consumable in-app purchases.

Environment:

  • Bundle ID: live.mymi.ios
  • TestFlight version: 1.0.4 (70)
  • Storefront: KOR
  • Environment: Sandbox
  • Example product ID: ios_spark_5000

StoreKit product queries return all six products with localized KRW prices. For example, ios_spark_10000 is returned as ₩12,000.

However, requesting a purchase fails with Product.PurchaseError.productUnavailable / “This item is not available.”

The issue can also be reproduced independently of the app: Settings > Developer > Sandbox Apple Account > Test Transactions

Entering bundle ID live.mymi.ios and product ID ios_spark_5000 is rejected with a message stating that the product ID or bundle ID is invalid.

The previous app/product pair live.mymi.app + spark_5000 still works on the same device and with the same Sandbox tester.

We verified the following:

  • Paid Apps Agreement, banking, and tax information are active
  • The explicit App ID has the In-App Purchase capability enabled
  • The TestFlight build uses the correct bundle ID
  • Product pricing, localization, and availability in all 175 storefronts are configured
  • All six IAPs are attached to the first app version review submission
  • No local StoreKit configuration is involved

This has persisted for multiple days. It appears that the product-query catalog contains the products, while the Sandbox transaction service does not recognize the product-to-bundle association.

Has anyone seen this with a newly created App Store app/IAP catalog? Did Apple need to re-index the products?

Sandbox products load, but purchases fail with productUnavailable
 
 
Q