Microsoft Store In-App Purchase Issue: Add-On Products Keep Loading and Show "PEX-CatalogAvailabilityDataNotFound" Error

MecanzLuna 0 Reputation points
2024-10-31T14:35:41.2666667+00:00

I'm experiencing an issue with in-app purchases (IAP) in my Unity game published on the Microsoft Store. I have created multiple store-managed consumable add-ons (e.g., "speed_x1", "speed_x3") and have set up their respective product IDs in the Partner Center. However, when attempting to purchase these add-ons within the game, the IAP buy panel keeps loading indefinitely and eventually displays the error: PEX-CatalogAvailabilityDataNotFound.

Details:

  • Game: Published on Microsoft Store as public, accessible to everyone.
  • Environment: Production environment (not using CurrentAppSimulator for testing).
  • Product IDs: Product IDs in my code match exactly with the ones set in Partner Center.
  • Regional Pricing: I enabled automatic currency conversion and set a base price in USD.
  • Error Message: After the buy panel loads for some time, I receive the following error:
      yaml
      PEX-CatalogAvailabilityDataNotFound
      
      
    
    Troubleshooting Steps Taken:
    1. Verified that all Product IDs in the code match the ones in Partner Center.
    2. Confirmed that each add-on is published and available as store-managed consumables in the Partner Center.
    3. Tested the IAP flow on a published version of the game from the Microsoft Store to simulate the actual user experience.
    4. Confirmed that there are no network restrictions and no regional or account-specific limitations applied to the game or add-ons.
    Additional Context: Other games on the Microsoft Store display the buy panel and complete the purchase process without issues. This problem appears unique to my game, despite correct setup of product IDs and add-ons. I'm concerned about users experiencing this issue since the game is already published. Assistance Requested:
    • How can I resolve the "PEX-CatalogAvailabilityDataNotFound" error?
    • Is there any way to ensure that the price displayed in the game updates according to the player's local currency?
    • Are there additional steps or settings I should check in the Partner Center to verify that my add-ons are correctly linked to my game?
    Any guidance or support on resolving these issues would be highly appreciated, as they impact the user experience for my game on the Microsoft Store.
    • Confirmed that there are no network restrictions and no regional or account-specific limitations applied to the game or add-ons.
    Additional Context: Other games on the Microsoft Store display the buy panel and complete the purchase process without issues. This problem appears unique to my game, despite correct setup of product IDs and add-ons. I'm concerned about users experiencing this issue since the game is already published. Assistance Requested:
    • How can I resolve the "PEX-CatalogAvailabilityDataNotFound" error?
      • Is there any way to ensure that the price displayed in the game updates according to the player's local currency?
        • Are there additional steps or settings I should check in the Partner Center to verify that my add-ons are correctly linked to my game?
        Any guidance or support on resolving these issues would be highly appreciated, as they impact the user experience for my game on the Microsoft Store.
Universal Windows Platform (UWP)
Microsoft Partner Center
Microsoft Partner Center
A Microsoft website for partners that provides access to product support, a partner community, and other partner services.
1,022 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Junjie Zhu - MSFT 19,216 Reputation points Microsoft Vendor
    2024-11-04T04:00:06.3166667+00:00

    Hello @MecanzLuna ,

    Welcome to Microsoft Q&A!

    According to the official documentation, StoreContext.GetAssociatedStoreProductsAsync(IIterable<String>), productKinds should be converted to List<String>.

    You can refer to this code.

    string[] productKinds = { "Durable", "Consumable", "UnmanagedConsumable" };
    List<String> filterList = new List<string>(productKinds); 
    StoreProductQueryResult queryResult = await context.GetAssociatedStoreProductsAsync(filterList);
    

    Thank you.


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.