Ну, я не понимаю, почему нужно заново изобретать колесо.
Большинство необходимых вам функций могут быть реализованы через некоторые чат-платформы, такие как ConnectyCube . Вы можете использовать этот бэкэнд и реализовать только на стороне клиента. Я считаю, что это должно быть проще для вас.
Единственная оставленная функция - это платежи. Эта часть зависит от того, что вам нужно использовать для платежей.
Если вам нужно осуществить покупки внутри приложения и вы хотите опубликовать свое приложение в AppStore, вам нужно настроить эти покупки через Apple.
В противном случае ваше приложение может быть отклонено Apple.
Вот некоторая информация о покупках в приложении .
Для Android есть полезная статья о настройке покупок в приложении через Google Play.