Su aplicación debe proporcionar una lista de productos para venta. Cada producto debe ser uno de los siguientes tipos:
| Consumable | Puede ser comprado repetidamente. Apto para items consumibles como monedas virtuales. No se pueden recuperar. | 
| NonConsumable | Solamente puede ser comprado una sola vez. Apto para compras de una sola vez tal como niveles extras. Recuperable. | 
| Subscription | Tiene una ventana finita de validad. Recuperable. | 
Un identificador entre tiendas debe ser también proporcionado, y por defecto el Unity IAP sume que este es el mismo identificador configurado en cada tienda específica.
Dónde sus productos tienen diferentes identificadores en diferentes tiendas usted debe informarle a Unity IAP cuando las defina. Por ejemplo, el siguiente snippet define un producto conocido como ‘100_gold_coins_google’ en Google Play, ‘100_gold_coins_mac’ en la Mac App Store y ‘100_gold_coins’ en otras plataformas.
using UnityEngine;
using UnityEngine.Purchasing;
public class MyIAPManager {
    public MyIAPManager () {
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
        builder.AddProduct("100_gold_coins", ProductType.Consumable, new IDs
        {
            {"100_gold_coins_google", GooglePlay.Name},
            {"100_gold_coins_mac", MacAppStore.Name}
        });
    }
}
Tenga en cuenta que definir los identificadores específicos de tiendas solamente cambia el identificador que el Unity IAP utiliza cuando se comunica con las tiendas; usted debería continuar a utilizar el identificador del producto multi-plataforma cuando haga llamados al API.