With the launch of GameMaker Studio 2 version 2.2.4 (and all future versions), the built-in In App Purchase functions have been deprecated and will no longer work. Projects using them will not crash, but they will not respond correctly and an error message will be logged to the console to inform you that they have been deprecated and you need to update your code.
From now on, all In App Purchase functionality has been delegated to dedicated extensions for each of the platforms that support IAPs, and as such you should be replacing any legacy built-in functions with the functions from these extensions and updating the Asynchronous IAP Event code as appropriate. Unfortunately, this means that you will probably have to completely re-write your IAP code, as the new extensions have more features and function in different ways.
The IAP Asynchronous Event is still present, but is now exclusively used by the IAP extensions and is not triggered by the old iap_...() functions if you still have any of these in your project.
This change has been made to make it easier for YoYo Games to update and maintain the IAP functionality for all the different stores without having to wait for (or create) a new runtime/IDE release, and also enables the extensions to have better parity with the different store APIs. Having the IAP functionality as an extension also means that more experienced users can see and - if required - modify the API code for themselves.
For more information on setting up and using these new extensions, please see the following helpdesk articles:
- macOS: Using The IAP Extension
- iOS and tvOS: Using The IAP Extension
- Amazon: Using The IAP Extension
- Android: Google Play Billing (IAPs)
Also note that each of the new extensions has its own mini-manual in PDF format inside them as an Included File, where you can get information about the different functions and constants that they use.