Table of Contents

Event OnRestorePurchases

Namespace
Titipi.MocaLib2

Delivery channel for purchases that arrive outside an active PurchaseProductAsync(string, Action) call: iOS restores, purchases left unconfirmed by a crash, and approved deferred purchases. Subscribe BEFORE InitializeAsync(IAPModuleConfig, List<(string productId, ProductType productType)>) — redeliveries fire during initialization, and an order that arrives while there is no subscriber is left unconfirmed (the store redelivers it next launch: delayed, not lost). Parameters: the Product, the raw receipt string (order.Info.Receipt), and true when the product is the one recorded as pending from a purchase interrupted on this device (UX only — never gate grants on it). Handlers must grant idempotently: the store may redeliver the same order more than once. Use the receipt's transaction ID (see UtilityModule's receipt parsing) to recognize an order you already granted.

public static event Action<Product, string, bool> OnRestorePurchases

Returns

Action<Product, string, bool>
Delivery channel for purchases that arrive outside an active call: iOS restores, purchases left unconfirmed by a crash, and approved deferred purchases. Subscribe BEFORE — redeliveries fire during initialization, and an order that arrives while there is no subscriber is left unconfirmed (the store redelivers it next launch: delayed, not lost). Parameters: the Product, the raw receipt string (order.Info.Receipt), and true when the product is the one recorded as pending from a purchase interrupted on this device (UX only — never gate grants on it). Handlers must grant idempotently: the store may redeliver the same order more than once. Use the receipt's transaction ID (see UtilityModule's receipt parsing) to recognize an order you already granted.