By having an API like this
boolean MarketplaceService.PromptIsVisible
RBXScriptSignal MarketplaceService.PromptOpened
RBXScriptSignal MarketplaceService.PromptClosed
we can let developers know when the purchase prompt is visible, and disable any background buttons for the user, so they don’t interfere or steal focus from the experience. (PromptIsVisible would be readonly, and PromptOpened/PromptClosed would only change if the prompt popup changed visible state - changing the information in the prompt would not fire the events)
The developer doesn’t know if the prompt tells the player they can buy the item or not, or if it’s processing the purchase, only that the prompt is visible for the given player. That way you can disable GUI buttons while the prompt is visible.
A similar setup can already be seen with