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