abstract fun purchaseProduct(productID: String, quantity: Number? = definedExternally, callback: ((isProductValid: Boolean) -> Unit)? = definedExternally): Unit