OIP_DISMISSED - the player closed the confirmation without buying
OIP_PURCHASED - the purchase was confirmed and its transaction was broadcast
OIP_REJECTED_FEATURE_DISABLED - in-world purchases are unavailable for this player or client
OIP_REJECTED_NOT_CURRENT_SCENE - the standard restricted-actions current-scene gate rejected the call
OIP_REJECTED_NOT_PURCHASABLE - no listing for that urn: sold out, never listed, or not a collection item
OIP_REJECTED_NO_USER_GESTURE - rejected: the call did not originate from a user gesture
Verdict of an OpenItemPurchase request. Values are prefixed because proto3 enum values are siblings of their enum, so bare names would collide with OpenExplorerUiResult above.
Deliberately coarse: a purchase that could not be completed is always OIP_FAILED, never a reason. Reporting "insufficient credits" separately would let scene code probe a wallet's balance by offering items at different prices, and the client already tells the player what happened.