Нажатие на кнопку отлавливается с помощью OnClickListener. В этом листенере дергайте функцию из ViewModel, которая через viewModelScope дергает функцию покупки товара из репозитория. Для отслеживания изменений в базе данных нужна observable-функция в DAO. Т.е. эта функция должно возвращать Flow/LiveData/любой другой Observable. Далее эту функции обсервите в UI через всю цепочку: DAO-Repository-ViewModel-UI через LiveData observe/Flow collect и обновляете UI этими данными.