Initialization Failed: NoProductsAvailable

IAP is working great on Android but iOS it’s returning the following:

UnityIAP: Requesting 4 products
UnityIAP: Requesting product data…
UnityIAP: Received 0 products and 4 invalid products
UnityIAP: No App Receipt found
UnityIAP: No App Receipt found
UnityIAP: No App Receipt found
UnityIAP: No App Receipt found
Unity IAP Initialization Failed: NoProductsAvailable. Additional message: No product returned from the store.
Stacktrace is not supported on this platform.

I have 4 items and the product id’s are the same between android and ios.
In App Store Connect, all 4 of my items are Approved.
Under my business agreements, all of them are active. (I saw another post that said it wouldn’t work without the paid app agreements filled out).

What else can I check to figure out what this issue is?

2 Likes

Apple has a list of criteria that must be met for your products to be returned by the store:

2 Likes

I’m having the same issue, anyone know how to fix it?

Having the same issue here too.

var builder = ConfigurationBuilder.Instance(
            StandardPurchasingModule.Instance()
        );
        builder.AddProduct("sub_1_month", ProductType.Subscription, new IDs {
            { "sub_1_month", AppleAppStore.Name },
            { "sub_1_month", MacAppStore.Name }
        });
UnityPurchasing.Initialize(this, builder);
  • All business, tax, bank info filled in and approved by Apple
  • Subscription Product ID matches “sub_1_month”
  • Tried both running via Xcode and testflight
  • Bundle identifier matches in Unity, Xcode and appstore connect
  • Running latest Unity IAP package

I have tripple-checked that the product ID is correct (I hope it’s Product ID and not Apple ID, they both exist on the individual subscription pages)

Is the issue that it’s not submitted to App Store? Surely others are testing their IAPs through xcode before submitting for review?

Also, I’m wondering if this is correct for testing:
InitializationOptions options = new InitializationOptions().SetEnvironmentName(“production”);

EDIT (SOLVED):
I sent it in for review and it magically started working. Jesus christ…

1 Like

I’ve been having the same issue, everything is double checked on;

  • bundle identifier
  • purchase ID’s
  • IAP initialization
  • latest IAP purchasing
    But still cannot get this to test, the app isn’t ready to submit @FlippyPls - did you submit for review (completing all meta data) and then pull the app?

I found a solution that worked for me.

Instead of using a distribution certificate, use a development certificate.

Next, open your folder at terminal and run this command.

xattr -lr .
This will list all extra folders that won’t let you distribute to app store connect

xattr -cr .
This will delete the extra folders

That worked for me and the IAPs showed up, also make sure that the SKU matches and the Team ID does aswell.

Hi @John_magana -
Thanks - I tried this, was already on development cert, but ran the commands, no success.
Been banging head against a wall on this for a while now. Will try submitting the app for review next I think.

I solved my issue by filling out the tax info and the additional agreements that needed to be accepted.

1 Like

Issue: When building the app in Unity and opening it in Xcode, I encountered an error in the console:
“Unity IAP Initialization Failed: NoProductsAvailable. Additional message: No product returned from the store”.
“UnityIAP: Received 0 products and 8 invalid products”.

Even though I had set up a Sandbox account and configured all the in-app products in App Store Connect, I was still encountering this error.


Solution:

  1. Check your App Store Connect account**:
    Make sure you’ve filled in all the required Agreements, business, tax, banking, and Compliance information in your App Store Connect account. This is necessary, even for testing in the Sandbox environment.
  2. Wait for approval:
    After completing the necessary info, Apple will need to approve it. Once approved, your account status should be marked as Active.
  3. Test in Sandbox again:
    After everything is approved and active, you should be able to successfully make In-App Purchases (IAP)in your iOS app during testing.

After filling the above mentioned requirements (1.) you have to wait for sometime.

I was able to test in app purchase in Iphone device in sandbox environment by running through x code (not the simulator) after implementing the above mentioned solution.