OptionalProcessUsed to process receipt for this Product, This should be used over .Purchased event, The Purchased event only fires after the ProcessProductReceipt ran, meaning you can still faill to award the Player.
The Root level Gacha Module ProcessReceipt will be used if this isn't provided.
Useful in cases where you can have a discounted price for the product.
The Purchased event for this GachaProduct will be fired if the SubProduct is Purchased.
OptionalnoCache: boolean
Runs only after the main/root ProcessProductInfo is ran, passing the results as the second argument. Here you can modify it more to fit the current state of the GachaProduct.