using System.Collections.Generic; using System.Collections.ObjectModel; namespace UnityEngine.Purchasing.Extension { /// /// Represents the public interface of the underlying store system such as Google Play, /// or the Apple App store. /// public interface IStore { /// /// Initialize the instance using the specified . /// /// The callback interface for the store. void Initialize(IStoreCallback callback); /// /// Fetch the latest product metadata, including purchase receipts, /// asynchronously with results returned via IStoreCallback. /// /// The collection of products desired void RetrieveProducts(ReadOnlyCollection products); /// /// Handle a purchase request from a user. /// Developer payload is provided for stores /// that define such a concept (Google Play). /// /// The product to be purchased. /// The developer payload expected by the specific store implementation void Purchase(ProductDefinition product, string developerPayload); /// /// Called by Unity Purchasing when a transaction has been recorded. /// Store systems should perform any housekeeping here, /// such as closing transactions or consuming consumables. /// /// The product purchased /// The id of the transaction void FinishTransaction(ProductDefinition product, string transactionId); } }