diff --git a/.env.example b/.env.example index 9a4308f..e0b4407 100644 --- a/.env.example +++ b/.env.example @@ -59,10 +59,11 @@ MAIL_PASSWORD=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" -MOONWELL_LEGAL_PUBLISHED=false +MOONWELL_OFFER_PUBLISHED=true +MOONWELL_PRIVACY_PUBLISHED=false MOONWELL_LEGAL_OPERATOR="Администрация проекта MoonWell" MOONWELL_LEGAL_EMAIL="support@moon-well.online" -MOONWELL_LEGAL_EFFECTIVE_DATE="25 июля 2026 года" +MOONWELL_LEGAL_EFFECTIVE_DATE="26 июля 2026 года" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 679336f..99c7be5 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -29,8 +29,8 @@ class LoginController extends Controller 'home' => route('landing.index'), 'login' => route('login'), 'login_store' => route('login.store'), - 'offer' => config('moonwell.legal.published') ? route('legal.offer') : null, - 'privacy' => config('moonwell.legal.published') ? route('legal.privacy') : null, + 'offer' => config('moonwell.legal.offer_published') ? route('legal.offer') : null, + 'privacy' => config('moonwell.legal.privacy_published') ? route('legal.privacy') : null, ], 'flash' => [ 'status' => $request->session()->get('status'), diff --git a/app/Http/Controllers/CabinetController.php b/app/Http/Controllers/CabinetController.php index 805061b..dd7e593 100644 --- a/app/Http/Controllers/CabinetController.php +++ b/app/Http/Controllers/CabinetController.php @@ -124,8 +124,8 @@ class CabinetController extends Controller 'client' => route('cabinet.client'), 'password' => route('cabinet.password.update'), 'deposit' => route('cabinet.balance.deposit'), - 'offer' => config('moonwell.legal.published') ? route('legal.offer') : null, - 'privacy' => config('moonwell.legal.published') ? route('legal.privacy') : null, + 'offer' => config('moonwell.legal.offer_published') ? route('legal.offer') : null, + 'privacy' => config('moonwell.legal.privacy_published') ? route('legal.privacy') : null, ]; } } diff --git a/app/Http/Controllers/Concerns/BuildsPortalProps.php b/app/Http/Controllers/Concerns/BuildsPortalProps.php index 52052a6..fead310 100644 --- a/app/Http/Controllers/Concerns/BuildsPortalProps.php +++ b/app/Http/Controllers/Concerns/BuildsPortalProps.php @@ -31,8 +31,8 @@ trait BuildsPortalProps 'cabinet' => route('cabinet.index'), 'admin' => route('admin.accounts.index'), 'logout' => route('logout'), - 'offer' => config('moonwell.legal.published') ? route('legal.offer') : null, - 'privacy' => config('moonwell.legal.published') ? route('legal.privacy') : null, + 'offer' => config('moonwell.legal.offer_published') ? route('legal.offer') : null, + 'privacy' => config('moonwell.legal.privacy_published') ? route('legal.privacy') : null, 'admin_accounts' => route('admin.accounts.index'), 'admin_balances' => route('admin.balances.index'), 'admin_shop' => route('admin.shop.index'), diff --git a/app/Http/Controllers/LandingController.php b/app/Http/Controllers/LandingController.php index b0ee90e..f2af0c8 100644 --- a/app/Http/Controllers/LandingController.php +++ b/app/Http/Controllers/LandingController.php @@ -82,9 +82,10 @@ class LandingController extends Controller ], 'registerEndpoint' => route('game-account.store'), 'legalUrls' => [ - 'published' => (bool) config('moonwell.legal.published'), - 'offer' => config('moonwell.legal.published') ? route('legal.offer') : null, - 'privacy' => config('moonwell.legal.published') ? route('legal.privacy') : null, + 'offer_published' => (bool) config('moonwell.legal.offer_published'), + 'privacy_published' => (bool) config('moonwell.legal.privacy_published'), + 'offer' => config('moonwell.legal.offer_published') ? route('legal.offer') : null, + 'privacy' => config('moonwell.legal.privacy_published') ? route('legal.privacy') : null, ], 'inviteRequired' => (bool) config('moonwell.registration.require_invite_code'), 'csrfToken' => csrf_token(), diff --git a/app/Http/Controllers/LegalController.php b/app/Http/Controllers/LegalController.php index 56d3a21..4efd61f 100644 --- a/app/Http/Controllers/LegalController.php +++ b/app/Http/Controllers/LegalController.php @@ -10,14 +10,14 @@ class LegalController extends Controller { public function offer(Request $request): Response { - abort_unless(config('moonwell.legal.published'), 404); + abort_unless(config('moonwell.legal.offer_published'), 404); return Inertia::render('Legal/Offer', $this->pageData($request)); } public function privacy(Request $request): Response { - abort_unless(config('moonwell.legal.published'), 404); + abort_unless(config('moonwell.legal.privacy_published'), 404); return Inertia::render('Legal/Privacy', $this->pageData($request)); } @@ -46,8 +46,8 @@ class LegalController extends Controller 'cabinet' => route('cabinet.index'), 'admin' => route('admin.accounts.index'), 'logout' => route('logout'), - 'offer' => config('moonwell.legal.published') ? route('legal.offer') : null, - 'privacy' => config('moonwell.legal.published') ? route('legal.privacy') : null, + 'offer' => config('moonwell.legal.offer_published') ? route('legal.offer') : null, + 'privacy' => config('moonwell.legal.privacy_published') ? route('legal.privacy') : null, ], 'legal' => [ 'operator_name' => config('moonwell.legal.operator_name'), diff --git a/config/moonwell.php b/config/moonwell.php index b5f577e..09681f2 100644 --- a/config/moonwell.php +++ b/config/moonwell.php @@ -20,10 +20,11 @@ return [ ], 'legal' => [ - 'published' => (bool) env('MOONWELL_LEGAL_PUBLISHED', false), + 'offer_published' => (bool) env('MOONWELL_OFFER_PUBLISHED', true), + 'privacy_published' => (bool) env('MOONWELL_PRIVACY_PUBLISHED', false), 'operator_name' => env('MOONWELL_LEGAL_OPERATOR', 'Администрация проекта MoonWell'), 'contact_email' => env('MOONWELL_LEGAL_EMAIL', 'support@moon-well.online'), - 'effective_date' => env('MOONWELL_LEGAL_EFFECTIVE_DATE', '25 июля 2026 года'), + 'effective_date' => env('MOONWELL_LEGAL_EFFECTIVE_DATE', '26 июля 2026 года'), ], 'client' => [ diff --git a/resources/css/moonwell.css b/resources/css/moonwell.css index dff3ec3..bd48638 100644 --- a/resources/css/moonwell.css +++ b/resources/css/moonwell.css @@ -2801,6 +2801,8 @@ body[data-particles="false"] #particles { display: none; } top: 110px; display: flex; flex-direction: column; + max-height: calc(100vh - 140px); + overflow-y: auto; padding: 18px 0; border-top: 1px solid var(--panel-border); border-bottom: 1px solid var(--panel-border); @@ -2832,6 +2834,15 @@ body[data-particles="false"] #particles { display: none; } color: var(--text-dim); } .legal-document { padding: clamp(30px, 5vw, 58px); } +.legal-intro { + margin-bottom: 42px; + padding-bottom: 28px; + border-bottom: 1px solid var(--panel-border); +} +.legal-intro p:last-child { + overflow-wrap: anywhere; + color: var(--moon); +} .legal-document section { scroll-margin-top: 100px; padding: 42px 0; diff --git a/resources/js/Components/LegalDocument.vue b/resources/js/Components/LegalDocument.vue index 84be0ae..2299550 100644 --- a/resources/js/Components/LegalDocument.vue +++ b/resources/js/Components/LegalDocument.vue @@ -4,6 +4,7 @@ defineProps({ title: { type: String, required: true }, description: { type: String, required: true }, effectiveDate: { type: String, required: true }, + intro: { type: Array, default: () => [] }, sections: { type: Array, required: true }, }); @@ -30,14 +31,28 @@ defineProps({ diff --git a/resources/js/Pages/Landing/Components/Footer.vue b/resources/js/Pages/Landing/Components/Footer.vue index a29336f..d1e2450 100644 --- a/resources/js/Pages/Landing/Components/Footer.vue +++ b/resources/js/Pages/Landing/Components/Footer.vue @@ -35,14 +35,18 @@ defineProps({

Приватный сервер World of Warcraft 3.3.5a с личным прогрессом, одиночными подземельями и режимом «Предатель». Играй бесплатно — покупки не дают боевого преимущества.

- + diff --git a/resources/js/Pages/Landing/Components/Join.vue b/resources/js/Pages/Landing/Components/Join.vue index 4fc5a37..f5c7eb3 100644 --- a/resources/js/Pages/Landing/Components/Join.vue +++ b/resources/js/Pages/Landing/Components/Join.vue @@ -160,9 +160,9 @@ function submit(event) { diff --git a/resources/js/Pages/Landing/Components/symbols.js b/resources/js/Pages/Landing/Components/symbols.js index 45efeec..a374e87 100644 --- a/resources/js/Pages/Landing/Components/symbols.js +++ b/resources/js/Pages/Landing/Components/symbols.js @@ -8,7 +8,7 @@ export const navLinks = [ export const features = [ ['I', 'Главная особенность', 'Личный прогресс', 'Заверши путь в Классике, чтобы открыть Запределье, затем одолей Иллидана и отправляйся в Нортренд. Продвигайся в своём темпе.', 'span-6', 'path'], ['II', '', 'Одиночные подземелья', 'Проходи подземелья самостоятельно или с отрядом до пяти игроков: боссы и механики подстраиваются под размер группы.', 'span-3', 'solo'], - ['III', 'В разработке', 'Режим «Предатель»', 'Создай персонажа Альянса на стороне Орды или персонажа Орды на стороне Альянса. Тебя ждут отдельные сюжеты, персонажи и репутации.', 'span-3', 'mask'], + ['III', 'В разработке ', 'Режим «Предатель»', 'Создай персонажа Альянса на стороне Орды или персонажа Орды на стороне Альянса. Тебя ждут отдельные сюжеты, персонажи и репутации.', 'span-3', 'mask'], ['IV', 'В разработке', 'Ликантропия', 'Заразись ликантропией, сопротивляйся ей или прими новую форму. Выбор определит твой путь.', 'span-4', 'wolf'], ['V', '', 'Мифик+ без предела', 'Уровень ключей не ограничен: сложность продолжает расти вместе с твоим прогрессом, а набор модификаторов меняется каждую неделю.', 'span-4', 'mythic'], ['VI', 'В разработке', 'Боевой пропуск · магазин наград', 'Выполняй ежедневные и еженедельные задания, получай награды за вход и открывай косметические предметы.', 'span-4', 'pass'], diff --git a/resources/js/Pages/Legal/Offer.vue b/resources/js/Pages/Legal/Offer.vue index b2c274c..746af65 100644 --- a/resources/js/Pages/Legal/Offer.vue +++ b/resources/js/Pages/Legal/Offer.vue @@ -1,109 +1,36 @@ diff --git a/resources/js/Pages/Legal/offerContent.js b/resources/js/Pages/Legal/offerContent.js new file mode 100644 index 0000000..38d3528 --- /dev/null +++ b/resources/js/Pages/Legal/offerContent.js @@ -0,0 +1,1270 @@ +export const offerSubtitle = "о заключении договора возмездного оказания цифровых услуг"; + +export const offerEffectiveDate = "26 июля 2026 года"; + +export const offerIntro = [ + "Настоящий документ является официальным публичным предложением физического лица Абушаева Ильяса Ряисовича, применяющего специальный налоговый режим «Налог на профессиональный доход», ИНН 643967812920, именуемого в дальнейшем «Исполнитель», заключить договор возмездного оказания цифровых услуг на изложенных ниже условиях.", + "Настоящий документ является публичной офертой в соответствии с пунктом 2 статьи 437 Гражданского кодекса Российской Федерации.", + "Физическое лицо, совершившее акцепт настоящей Оферты, именуется в дальнейшем «Пользователь».", + "Исполнитель и Пользователь совместно именуются «Стороны», а по отдельности — «Сторона».", + "Оферта размещена на сайте проекта MoonWell по адресу:", + "https://moon-well.online/" +]; + +export const offerSections = [ + { + "id": "section-1", + "title": "Термины и определения", + "blocks": [ + { + "type": "paragraph", + "text": "1.1. Сайт — интернет-ресурс проекта MoonWell, размещённый по адресу https://moon-well.online/, включая его страницы, Личный кабинет, Магазин и иные связанные разделы." + }, + { + "type": "paragraph", + "text": "1.2. Проект MoonWell, или Проект — неофициальный развлекательный игровой интернет-проект, предоставляющий Пользователям возможность взаимодействовать с игровым сервером и связанными с ним информационными и техническими сервисами." + }, + { + "type": "paragraph", + "text": "1.3. Пользователь — физическое лицо, зарегистрировавшее Учётную запись и использующее Сайт или сервисы Проекта." + }, + { + "type": "paragraph", + "text": "1.4. Учётная запись, или Аккаунт — совокупность данных, позволяющих идентифицировать Пользователя в информационной системе Проекта и учитывать доступные ему функции, игровые объекты, персонажей, цифровые услуги и Внутренний баланс." + }, + { + "type": "paragraph", + "text": "1.5. Личный кабинет — защищённый раздел Сайта, доступный Пользователю после авторизации." + }, + { + "type": "paragraph", + "text": "1.6. Магазин — раздел Сайта или Личного кабинета, в котором размещаются сведения о доступных цифровых услугах, их содержании, стоимости, ограничениях и порядке получения." + }, + { + "type": "paragraph", + "text": "1.7. Цифровая услуга, или Услуга — совершаемые Исполнителем по запросу Пользователя действия по технической активации, изменению или предоставлению функциональной возможности в Учётной записи либо в отношении игрового персонажа Пользователя." + }, + { + "type": "paragraph", + "text": "К цифровым услугам могут относиться:" + }, + { + "type": "list", + "items": [ + "предоставление доступа к косметическим элементам и визуальным возможностям;", + "изменение имени игрового персонажа;", + "изменение внешности или пола игрового персонажа;", + "изменение расы или фракции игрового персонажа;", + "перенос, восстановление или иное сервисное изменение игрового персонажа;", + "предоставление иных функций, прямо описанных в Магазине." + ] + }, + { + "type": "paragraph", + "text": "Конкретное содержание, стоимость, ограничения и срок оказания каждой Услуги указываются в Магазине до её активации." + }, + { + "type": "paragraph", + "text": "1.8. Слёзы Элуны — внутренние условные учётные единицы Проекта, используемые для отражения размера внесённой Пользователем предоплаты и последующей активации цифровых услуг." + }, + { + "type": "paragraph", + "text": "Слёзы Элуны:" + }, + { + "type": "list", + "items": [ + "не являются валютой Российской Федерации или иностранного государства;", + "не являются электронными денежными средствами;", + "не являются цифровой валютой или криптовалютой;", + "не являются ценными бумагами;", + "не являются цифровыми правами в значении статьи 141.1 Гражданского кодекса Российской Федерации;", + "не являются самостоятельным товаром;", + "не являются банковским вкладом или самостоятельным средством платежа;", + "не используются для оплаты товаров или услуг третьих лиц;", + "не предоставляют Пользователю корпоративных или исключительных прав;", + "не имеют самостоятельной стоимости за пределами Проекта;", + "не предназначены для свободного обращения на рынке." + ] + }, + { + "type": "paragraph", + "text": "1.9. Платные Слёзы Элуны — внутренние учётные единицы, начисленные в результате внесения Пользователем предоплаты за цифровые услуги Проекта." + }, + { + "type": "paragraph", + "text": "1.10. Бонусные Слёзы Элуны — внутренние учётные единицы, бесплатно начисленные Исполнителем в рамках акции, промокода, конкурса, компенсации, программы лояльности или иного мероприятия." + }, + { + "type": "paragraph", + "text": "Бонусные Слёзы Элуны не являются внесённой Пользователем предоплатой и не имеют денежного эквивалента." + }, + { + "type": "paragraph", + "text": "1.11. Внутренний баланс — отображаемое в Личном кабинете количество Платных и Бонусных Слёз Элуны." + }, + { + "type": "paragraph", + "text": "1.12. Активация Услуги — подтверждённое Пользователем списание установленного количества Слёз Элуны с Внутреннего баланса и направление Исполнителю запроса на оказание выбранной цифровой услуги." + }, + { + "type": "paragraph", + "text": "1.13. Заказ — сформированный Пользователем запрос на внесение предоплаты либо на активацию конкретной цифровой услуги." + }, + { + "type": "paragraph", + "text": "1.14. Правила Проекта — правила регистрации, поведения, использования Учётной записи и взаимодействия с игровым сервером, размещённые на Сайте или в Личном кабинете." + } + ] + }, + { + "id": "section-2", + "title": "Общие положения", + "blocks": [ + { + "type": "paragraph", + "text": "2.1. Настоящая Оферта регулирует отношения между Исполнителем и Пользователем, связанные с:" + }, + { + "type": "list", + "items": [ + "внесением предоплаты за цифровые услуги;", + "отражением предоплаты на Внутреннем балансе;", + "выбором и активацией цифровых услуг;", + "оказанием цифровых услуг;", + "возвратом неиспользованной предоплаты;", + "устранением недостатков цифровых услуг;", + "рассмотрением обращений Пользователей." + ] + }, + { + "type": "paragraph", + "text": "2.2. Бесплатная регистрация Учётной записи, бесплатный доступ к игровому серверу и обычный игровой процесс сами по себе не являются платными услугами по настоящей Оферте." + }, + { + "type": "paragraph", + "text": "2.3. Платёж Пользователя не является пожертвованием, благотворительным взносом или иным безвозмездным перечислением денежных средств." + }, + { + "type": "paragraph", + "text": "Денежные средства принимаются Исполнителем в качестве предоплаты за цифровые услуги Проекта." + }, + { + "type": "paragraph", + "text": "2.4. Акцептом настоящей Оферты признаётся совершение Пользователем следующих действий:" + }, + { + "type": "list", + "items": [ + "выбор пакета Внутреннего баланса или иной платной возможности;", + "указание необходимых данных Учётной записи;", + "подтверждение ознакомления и согласия с настоящей Офертой;", + "нажатие кнопки оплаты;", + "успешное совершение платежа." + ] + }, + { + "type": "paragraph", + "text": "2.5. Договор считается заключённым с момента получения Исполнителем подтверждения платёжного сервиса об успешной оплате." + }, + { + "type": "paragraph", + "text": "2.6. Совершение оплаты является полным и безоговорочным акцептом настоящей Оферты в соответствии со статьёй 438 Гражданского кодекса Российской Федерации." + }, + { + "type": "paragraph", + "text": "2.7. Акцептуя Оферту, Пользователь подтверждает, что:" + }, + { + "type": "list", + "items": [ + "ознакомился с текстом Оферты до оплаты;", + "понимает правовую природу Внутреннего баланса;", + "ознакомился со стоимостью и условиями внесения предоплаты;", + "получил необходимую информацию об Исполнителе;", + "предоставил достоверные сведения;", + "обладает необходимой дееспособностью либо действует с согласия законного представителя;", + "принимает условия Оферты полностью и без оговорок." + ] + }, + { + "type": "paragraph", + "text": "2.8. Настоящая Оферта не регулирует приобретение, установку или лицензирование программного обеспечения World of Warcraft и не предоставляет Пользователю каких-либо прав на программное обеспечение или интеллектуальную собственность третьих лиц." + } + ] + }, + { + "id": "section-3", + "title": "Предмет договора", + "blocks": [ + { + "type": "paragraph", + "text": "3.1. Пользователь вносит предоплату за цифровые услуги Проекта, а Исполнитель:" + }, + { + "type": "list", + "items": [ + "отражает размер внесённой предоплаты на Внутреннем балансе в виде Платных Слёз Элуны;", + "по последующим запросам Пользователя оказывает выбранные цифровые услуги;", + "списывает с Внутреннего баланса количество Слёз Элуны, указанное в описании соответствующей Услуги." + ] + }, + { + "type": "paragraph", + "text": "3.2. Начисление Платных Слёз Элуны является способом учёта внесённой предоплаты и само по себе не означает, что все предварительно оплаченные цифровые услуги уже оказаны." + }, + { + "type": "paragraph", + "text": "3.3. Конкретная цифровая услуга считается заказанной после того, как Пользователь:" + }, + { + "type": "list", + "items": [ + "выбрал Услугу в Магазине;", + "ознакомился с её описанием, стоимостью и ограничениями;", + "указал необходимые параметры;", + "подтвердил списание установленного количества Слёз Элуны." + ] + }, + { + "type": "paragraph", + "text": "3.4. Конкретное содержание Услуги определяется сведениями, отображаемыми в Магазине непосредственно перед её активацией." + }, + { + "type": "paragraph", + "text": "Такие сведения являются частью договора между Сторонами." + }, + { + "type": "paragraph", + "text": "3.5. Услуги оказываются дистанционно с использованием программно-технических средств Проекта." + }, + { + "type": "paragraph", + "text": "3.6. Исполнитель вправе привлекать третьих лиц для технического исполнения договора, включая платёжные сервисы, хостинг-провайдеров и поставщиков программной инфраструктуры." + }, + { + "type": "paragraph", + "text": "Привлечение третьих лиц не освобождает Исполнителя от ответственности перед Пользователем в случаях, предусмотренных законодательством Российской Федерации." + } + ] + }, + { + "id": "section-4", + "title": "Оформление Заказа и внесение предоплаты", + "blocks": [ + { + "type": "paragraph", + "text": "4.1. Для внесения предоплаты Пользователь:" + }, + { + "type": "list", + "items": [ + "авторизуется в Личном кабинете;", + "выбирает пакет Внутреннего баланса;", + "проверяет Учётную запись и иные параметры Заказа;", + "указывает адрес электронной почты;", + "подтверждает согласие с настоящей Офертой;", + "переходит к оплате." + ] + }, + { + "type": "paragraph", + "text": "4.2. До оплаты Пользователь обязан проверить правильность:" + }, + { + "type": "list", + "items": [ + "логина или идентификатора Учётной записи;", + "выбранного игрового мира;", + "адреса электронной почты;", + "количества начисляемых Слёз Элуны;", + "суммы платежа;", + "наличия и количества Бонусных Слёз Элуны, если они предоставляются." + ] + }, + { + "type": "paragraph", + "text": "4.3. Исполнитель не считается нарушившим обязательство в той части, в которой задержка или ошибочное отражение предоплаты непосредственно вызваны предоставлением Пользователем неверных или неполных данных." + }, + { + "type": "paragraph", + "text": "Настоящий пункт не освобождает Исполнителя от обязанности устранить ошибку, допущенную по его вине." + }, + { + "type": "paragraph", + "text": "4.4. Если предоплата была ошибочно внесена для другой Учётной записи, Пользователь должен незамедлительно обратиться к Исполнителю." + }, + { + "type": "paragraph", + "text": "Исполнитель по возможности переносит баланс на нужную Учётную запись, если одновременно соблюдаются следующие условия:" + }, + { + "type": "list", + "items": [ + "Слёзы Элуны ещё не были использованы;", + "перенос технически возможен;", + "Пользователь подтвердил принадлежность платежа и Учётной записи;", + "отсутствует спор о принадлежности платежа." + ] + }, + { + "type": "paragraph", + "text": "4.5. Пользователь не вправе совершать оплату с использованием банковской карты, электронного кошелька или иного платёжного средства без согласия его законного владельца." + } + ] + }, + { + "id": "section-5", + "title": "Дееспособность Пользователя", + "blocks": [ + { + "type": "paragraph", + "text": "5.1. Самостоятельно оплачивать Услуги вправе полностью дееспособное физическое лицо." + }, + { + "type": "paragraph", + "text": "5.2. Несовершеннолетний Пользователь вправе совершать оплату только в пределах своей дееспособности, установленной законодательством Российской Федерации, либо с согласия законного представителя." + }, + { + "type": "paragraph", + "text": "5.3. Совершая оплату, Пользователь подтверждает наличие права использовать выбранное платёжное средство." + }, + { + "type": "paragraph", + "text": "5.4. Законный представитель несовершеннолетнего вправе обратиться к Исполнителю по вопросу совершённого платежа, предоставив сведения, необходимые для идентификации платежа и подтверждения своих полномочий." + } + ] + }, + { + "id": "section-6", + "title": "Стоимость и порядок расчётов", + "blocks": [ + { + "type": "paragraph", + "text": "6.1. Стоимость предоплаты и количество начисляемых Слёз Элуны указываются в российских рублях и условных учётных единицах в Магазине до оплаты." + }, + { + "type": "paragraph", + "text": "6.2. Итоговая сумма платежа фиксируется в момент оформления Заказа и не может быть изменена Исполнителем после успешной оплаты." + }, + { + "type": "paragraph", + "text": "6.3. Стоимость конкретной цифровой услуги выражается в Слёзах Элуны и отображается Пользователю до её активации." + }, + { + "type": "paragraph", + "text": "6.4. Оплата производится в безналичном порядке через платёжный сервис Robokassa либо иной платёжный сервис, указанный на Сайте." + }, + { + "type": "paragraph", + "text": "6.5. Обязательство Пользователя по внесению предоплаты считается исполненным после получения Исполнителем подтверждения платёжного сервиса об успешной операции." + }, + { + "type": "paragraph", + "text": "6.6. Банк, платёжный сервис или иной поставщик платёжного средства может взимать с Пользователя собственную комиссию." + }, + { + "type": "paragraph", + "text": "Если такая комиссия взимается отдельно от суммы Заказа и не поступает Исполнителю, она не входит в размер внесённой предоплаты." + }, + { + "type": "paragraph", + "text": "6.7. Исполнитель применяет специальный налоговый режим «Налог на профессиональный доход»." + }, + { + "type": "paragraph", + "text": "6.8. При получении денежных средств Исполнитель формирует и передаёт Пользователю электронный чек в порядке и сроки, установленные законодательством Российской Федерации." + }, + { + "type": "paragraph", + "text": "6.9. Чек формируется на полную сумму, уплаченную Пользователем Исполнителю, без уменьшения на комиссию, удержанную платёжным сервисом с Исполнителя." + }, + { + "type": "paragraph", + "text": "6.10. Пользователь обязан сохранить подтверждение платежа до отражения предоплаты на Внутреннем балансе." + } + ] + }, + { + "id": "section-7", + "title": "Отражение предоплаты и оказание Услуг", + "blocks": [ + { + "type": "paragraph", + "text": "7.1. Платные Слёзы Элуны начисляются после получения Исполнителем подтверждения успешной оплаты." + }, + { + "type": "paragraph", + "text": "7.2. Обычно начисление производится автоматически в течение нескольких минут." + }, + { + "type": "paragraph", + "text": "Предельный срок отражения предоплаты на Внутреннем балансе составляет двадцать четыре часа с момента получения Исполнителем подтверждения об успешной оплате, если иной срок прямо не указан Пользователю до оплаты." + }, + { + "type": "paragraph", + "text": "Нарушение установленного срока влечёт последствия, предусмотренные законодательством Российской Федерации." + }, + { + "type": "paragraph", + "text": "Предоставление Исполнителем Бонусных Слёз Элуны или иной дополнительной компенсации не ограничивает права и требования Пользователя, предусмотренные законодательством." + }, + { + "type": "paragraph", + "text": "7.3. Если Платные Слёзы Элуны не были начислены в установленный срок, Пользователь вправе обратиться к Исполнителю по электронной почте." + }, + { + "type": "paragraph", + "text": "7.4. Для активации конкретной Услуги Пользователь:" + }, + { + "type": "list", + "items": [ + "выбирает Услугу в Магазине;", + "знакомится с её содержанием, стоимостью и ограничениями;", + "указывает персонажа или иные необходимые параметры;", + "подтверждает списание Слёз Элуны." + ] + }, + { + "type": "paragraph", + "text": "7.5. Услуга оказывается автоматически либо вручную в срок, указанный в её описании." + }, + { + "type": "paragraph", + "text": "Если отдельный срок не указан, Услуга должна быть оказана не позднее двадцати четырёх часов с момента её активации." + }, + { + "type": "paragraph", + "text": "7.6. Услуга считается оказанной в момент выполнения предусмотренного её описанием результата, в частности:" + }, + { + "type": "list", + "items": [ + "начисления или открытия косметического элемента;", + "изменения имени персонажа;", + "изменения внешности или пола персонажа;", + "изменения расы или фракции персонажа;", + "переноса или восстановления персонажа;", + "внесения иного выбранного изменения в информационную систему Проекта." + ] + }, + { + "type": "paragraph", + "text": "7.7. Факт внесения предоплаты, списания Слёз Элуны и оказания Услуги может подтверждаться:" + }, + { + "type": "list", + "items": [ + "историей Заказов;", + "историей операций Внутреннего баланса;", + "данными платёжного сервиса;", + "журналами информационной системы;", + "изменением данных игрового персонажа;", + "сообщением, направленным Пользователю;", + "иными относящимися к операции техническими записями Проекта." + ] + }, + { + "type": "paragraph", + "text": "7.8. Если Услуга не оказана, оказана с нарушением установленного срока, не соответствует описанию или имеет недостаток, Пользователь вправе предъявить требования, предусмотренные настоящей Офертой и законодательством Российской Федерации." + } + ] + }, + { + "id": "section-8", + "title": "Правила Внутреннего баланса", + "blocks": [ + { + "type": "paragraph", + "text": "8.1. Платные и Бонусные Слёзы Элуны учитываются отдельно." + }, + { + "type": "paragraph", + "text": "8.2. При активации цифровых услуг в первую очередь списываются Платные Слёзы Элуны, начисленные ранее, а затем Бонусные Слёзы Элуны, если условиями конкретной акции прямо не предусмотрен иной порядок." + }, + { + "type": "paragraph", + "text": "8.3. Платные Слёзы Элуны не имеют заранее установленного срока действия, пока:" + }, + { + "type": "list", + "items": [ + "существует соответствующая Учётная запись;", + "функционирует Проект;", + "Пользователь не потребовал возврата неиспользованной предоплаты;", + "обязательство не прекращено по основаниям, предусмотренным законодательством Российской Федерации." + ] + }, + { + "type": "paragraph", + "text": "8.4. Срок использования Бонусных Слёз Элуны может быть ограничен условиями конкретной акции." + }, + { + "type": "paragraph", + "text": "Информация о таком сроке должна быть доведена до Пользователя до получения Бонусных Слёз Элуны." + }, + { + "type": "paragraph", + "text": "8.5. Слёзы Элуны не могут быть проданы, подарены, переданы или обменены между Пользователями, если такая возможность прямо не предусмотрена функциональностью Проекта." + }, + { + "type": "paragraph", + "text": "8.6. Слёзы Элуны не подлежат обмену на наличные или безналичные денежные средства, кроме возврата неиспользованной предоплаты в порядке, установленном разделом 9 настоящей Оферты." + }, + { + "type": "paragraph", + "text": "8.7. Исполнитель не вправе произвольно уменьшать количество Платных Слёз Элуны." + }, + { + "type": "paragraph", + "text": "Списание Платных Слёз Элуны допускается только:" + }, + { + "type": "list", + "items": [ + "по подтверждённому запросу Пользователя на активацию Услуги;", + "при возврате соответствующего платежа Пользователю;", + "при отмене или возврате платежа банком либо платёжным сервисом;", + "при исправлении подтверждённой технической ошибки, включая двойное начисление или начисление, не подтверждённое фактически совершённым платежом;", + "в иных случаях, прямо предусмотренных законодательством Российской Федерации." + ] + }, + { + "type": "paragraph", + "text": "Наличие технической ошибки устанавливается на основании совокупности имеющихся сведений, включая данные платёжного сервиса, историю Заказов, историю операций Внутреннего баланса и журналы информационной системы." + }, + { + "type": "paragraph", + "text": "При корректировке баланса Исполнитель сообщает Пользователю основание и размер списания посредством уведомления в Личном кабинете или по электронной почте." + }, + { + "type": "paragraph", + "text": "Пользователь вправе оспорить такое списание, обратившись к Исполнителю в порядке раздела 19 настоящей Оферты." + }, + { + "type": "paragraph", + "text": "8.8. Исполнитель вправе изменять стоимость будущих цифровых услуг в Слёзах Элуны." + }, + { + "type": "paragraph", + "text": "Новая стоимость применяется только к активациям, подтверждённым после её публикации." + }, + { + "type": "paragraph", + "text": "8.9. Изменение стоимости цифровых услуг не уменьшает количество уже начисленных Платных Слёз Элуны." + }, + { + "type": "paragraph", + "text": "8.10. Если изменение перечня или стоимости услуг существенно лишает Пользователя возможности использовать неиспользованный Платный баланс по назначению, Пользователь вправе отказаться от неоказанной части договора и потребовать возврат в порядке раздела 9 настоящей Оферты." + } + ] + }, + { + "id": "section-9", + "title": "Отказ от договора и возврат денежных средств", + "blocks": [ + { + "type": "paragraph", + "text": "9.1. Пользователь вправе отказаться от исполнения договора оказания услуг в любое время при условии оплаты Исполнителю фактически понесённых расходов, связанных с исполнением обязательств по соответствующему договору." + }, + { + "type": "paragraph", + "text": "9.2. Неиспользованная часть Платного баланса признаётся предоплатой за ещё не оказанные цифровые услуги." + }, + { + "type": "paragraph", + "text": "9.3. При полном отказе до активации каких-либо Услуг Исполнитель возвращает внесённую предоплату за вычетом фактически понесённых и документально подтверждённых расходов, непосредственно связанных с исполнением соответствующего Заказа, если удержание таких расходов допускается законодательством Российской Федерации." + }, + { + "type": "paragraph", + "text": "9.4. При частичном использовании Внутреннего баланса возврату подлежит часть предоплаты, относящаяся к неиспользованным Платным Слёзам Элуны." + }, + { + "type": "paragraph", + "text": "Размер возвращаемой части предоплаты рассчитывается отдельно для соответствующего платежа по следующему принципу:" + }, + { + "type": "paragraph", + "text": "сумма соответствующего платежа × количество неиспользованных Платных Слёз Элуны из этого платежа ÷ общее количество Платных Слёз Элуны, начисленных за этот платёж." + }, + { + "type": "paragraph", + "text": "Бесплатно начисленные Бонусные Слёзы Элуны при расчёте размера возврата не учитываются." + }, + { + "type": "paragraph", + "text": "9.5. Надлежащим образом оказанная цифровая услуга не считается неоказанной частью договора." + }, + { + "type": "paragraph", + "text": "Это не ограничивает право Пользователя предъявить требования в случае:" + }, + { + "type": "list", + "items": [ + "недостатка Услуги;", + "несоответствия Услуги описанию;", + "нарушения срока оказания;", + "ошибочного оказания Услуги;", + "иных нарушений со стороны Исполнителя." + ] + }, + { + "type": "paragraph", + "text": "9.6. Пользователь вправе потребовать устранения недостатка, повторного оказания Услуги либо возврата соответствующей суммы, в частности, если:" + }, + { + "type": "list", + "items": [ + "денежные средства списаны, но предоплата не отражена на Внутреннем балансе;", + "начислено меньше Платных Слёз Элуны, чем предусмотрено оплаченным Заказом;", + "один платёж был ошибочно проведён несколько раз;", + "Слёзы Элуны списаны, но Услуга не оказана;", + "Услуга оказана не для той Учётной записи или персонажа по вине Исполнителя;", + "Услуга не соответствует её описанию;", + "Услуга имеет недостаток;", + "оказание Услуги объективно невозможно;", + "Проект окончательно прекращает работу, а Платный баланс остаётся неиспользованным." + ] + }, + { + "type": "paragraph", + "text": "9.7. Бонусные Слёзы Элуны не имеют денежного эквивалента и не подлежат денежной компенсации." + }, + { + "type": "paragraph", + "text": "9.8. При возврате платежа Бонусные Слёзы Элуны, начисленные в связи с соответствующим платежом, аннулируются." + }, + { + "type": "paragraph", + "text": "9.9. Для возврата или предъявления требования Пользователь направляет обращение по адресу электронной почты:" + }, + { + "type": "paragraph", + "text": "sindoring@yandex.ru" + }, + { + "type": "paragraph", + "text": "В обращении рекомендуется указать:" + }, + { + "type": "list", + "items": [ + "логин или идентификатор Учётной записи;", + "дату и сумму оплаты;", + "номер платежа или Заказа;", + "адрес электронной почты, использованный при оплате;", + "описание обстоятельств;", + "требование Пользователя;", + "подтверждение платежа при его наличии." + ] + }, + { + "type": "paragraph", + "text": "9.10. Требования, для которых статьёй 31 Закона Российской Федерации «О защите прав потребителей» установлен десятидневный срок, удовлетворяются в течение десяти календарных дней со дня предъявления соответствующего требования." + }, + { + "type": "paragraph", + "text": "9.11. Обращения о возврате неиспользованной предоплаты в связи с отказом от договора рассматриваются Исполнителем в течение десяти календарных дней со дня получения обращения, если законодательством Российской Федерации не установлен иной срок." + }, + { + "type": "paragraph", + "text": "9.12. Если предоставленных Пользователем сведений объективно недостаточно для идентификации платежа или Учётной записи, Исполнитель в течение трёх рабочих дней после получения обращения вправе запросить только те дополнительные сведения, которые необходимы для проверки требования." + }, + { + "type": "paragraph", + "text": "Для идентификации могут использоваться один или несколько следующих способов:" + }, + { + "type": "list", + "items": [ + "обращение из авторизованного Личного кабинета;", + "подтверждение посредством одноразового кода, направленного на адрес электронной почты, связанный с Учётной записью;", + "предоставление номера Заказа или платёжной операции;", + "предоставление даты, суммы и способа оплаты;", + "предоставление электронного подтверждения платежа;", + "предоставление иных сведений, непосредственно связанных с соответствующим Заказом." + ] + }, + { + "type": "paragraph", + "text": "Исполнитель не вправе требовать сведения и документы, не относящиеся к идентификации платежа, Учётной записи или заявленного требования." + }, + { + "type": "paragraph", + "text": "Отсутствие доступа к одному из способов подтверждения не является самостоятельным основанием для отказа, если принадлежность платежа и Учётной записи может быть достоверно установлена иным способом." + }, + { + "type": "paragraph", + "text": "Запрос дополнительных сведений не должен использоваться для необоснованного затягивания рассмотрения обращения." + }, + { + "type": "paragraph", + "text": "9.13. Возврат инициируется тем же способом, которым была совершена оплата, если иной способ не согласован Сторонами и допускается платёжным сервисом." + }, + { + "type": "paragraph", + "text": "9.14. Срок фактического зачисления денежных средств после инициирования возврата зависит от банка и платёжного сервиса." + }, + { + "type": "paragraph", + "text": "9.15. Пользователь не вправе получить возврат одной и той же суммы одновременно от Исполнителя и посредством оспаривания операции в банке или платёжной системе." + }, + { + "type": "paragraph", + "text": "9.16. Настоящий раздел не ограничивает иные права Пользователя, предусмотренные законодательством Российской Федерации." + } + ] + }, + { + "id": "section-10", + "title": "Права и обязанности Исполнителя", + "blocks": [ + { + "type": "paragraph", + "text": "10.1. Исполнитель обязан:" + }, + { + "type": "list", + "items": [ + "предоставить достоверную информацию о себе;", + "предоставить информацию о содержании, стоимости и условиях оказания Услуг;", + "отражать внесённую предоплату на Внутреннем балансе;", + "оказывать активированные Услуги в установленный срок;", + "формировать и передавать Пользователю чек;", + "вести учёт платежей и операций Внутреннего баланса;", + "рассматривать обращения Пользователей;", + "исправлять технические ошибки, допущенные по своей вине;", + "обеспечивать обработку персональных данных в соответствии с законодательством Российской Федерации;", + "соблюдать обязательные требования законодательства о защите прав потребителей." + ] + }, + { + "type": "paragraph", + "text": "10.2. Исполнитель вправе:" + }, + { + "type": "list", + "items": [ + "изменять перечень будущих Услуг;", + "изменять стоимость будущих активаций;", + "проводить профилактические и технические работы;", + "временно приостанавливать работу отдельных сервисов;", + "запрашивать сведения, необходимые для идентификации платежа;", + "проверять операции на предмет мошенничества или технической ошибки;", + "исправлять подтверждённые ошибочные и дублирующие начисления;", + "привлекать третьих лиц для исполнения договора;", + "применять меры, предусмотренные Правилами Проекта." + ] + }, + { + "type": "paragraph", + "text": "10.3. Исполнитель не вправе изменять условия уже активированной и оплаченной Услуги в одностороннем порядке, если такие изменения ухудшают положение Пользователя." + } + ] + }, + { + "id": "section-11", + "title": "Права и обязанности Пользователя", + "blocks": [ + { + "type": "paragraph", + "text": "11.1. Пользователь обязан:" + }, + { + "type": "list", + "items": [ + "предоставлять достоверные сведения;", + "проверять параметры Заказа до оплаты и активации Услуги;", + "соблюдать Правила Проекта;", + "обеспечивать сохранность логина, пароля и иных данных доступа;", + "не передавать Учётную запись третьим лицам;", + "использовать только законные платёжные средства;", + "не использовать ошибки, уязвимости или сбои Сайта, игрового сервера или платёжной системы;", + "незамедлительно сообщать об ошибочных или двойных начислениях;", + "не предоставлять банку, платёжному сервису или Исполнителю заведомо недостоверную информацию о платеже." + ] + }, + { + "type": "paragraph", + "text": "11.2. Пользователь вправе:" + }, + { + "type": "list", + "items": [ + "получить информацию об Исполнителе и Услуге до оплаты;", + "получить подтверждение внесения предоплаты;", + "получить электронный чек;", + "использовать Внутренний баланс для активации доступных Услуг;", + "получить заказанную Услугу;", + "обратиться за технической поддержкой;", + "потребовать устранения недостатка;", + "потребовать повторного оказания Услуги;", + "отказаться от неоказанной части договора;", + "потребовать возврат денежных средств при наличии оснований;", + "использовать иные способы защиты своих прав." + ] + } + ] + }, + { + "id": "section-12", + "title": "Учётная запись и Правила Проекта", + "blocks": [ + { + "type": "paragraph", + "text": "12.1. Пользователь несёт ответственность за сохранность данных доступа к Учётной записи." + }, + { + "type": "paragraph", + "text": "12.2. Действия, совершённые после корректной авторизации с использованием данных Учётной записи, предполагаются совершёнными Пользователем, пока не установлено иное." + }, + { + "type": "paragraph", + "text": "Данное положение не применяется, если неправомерный доступ возник вследствие уязвимости или нарушения требований безопасности на стороне Исполнителя." + }, + { + "type": "paragraph", + "text": "12.3. Исполнитель вправе временно ограничить или прекратить доступ к Учётной записи при существенном или неоднократном нарушении Правил Проекта." + }, + { + "type": "paragraph", + "text": "12.4. Блокировка Учётной записи сама по себе не означает автоматического изъятия или аннулирования неиспользованного Платного баланса." + }, + { + "type": "paragraph", + "text": "12.5. При блокировке Пользователь сохраняет право обратиться по вопросу:" + }, + { + "type": "list", + "items": [ + "неоказанных оплаченных Услуг;", + "неиспользованной предоплаты;", + "ошибочных списаний;", + "недостатков оказанных Услуг." + ] + }, + { + "type": "paragraph", + "text": "12.6. Стоимость цифровых услуг, надлежащим образом оказанных до блокировки Учётной записи, не признаётся неиспользованной предоплатой." + }, + { + "type": "paragraph", + "text": "12.7. Перед удалением Учётной записи по заявлению Пользователя Исполнитель информирует его о наличии неиспользованного Платного баланса и возможности обратиться по вопросу возврата." + } + ] + }, + { + "id": "section-13", + "title": "Работа Проекта и технические ограничения", + "blocks": [ + { + "type": "paragraph", + "text": "13.1. Исполнитель принимает разумные технические и организационные меры для поддержания работы Сайта и игрового сервера." + }, + { + "type": "paragraph", + "text": "13.2. Исполнитель не гарантирует абсолютную непрерывность работы Проекта и полное отсутствие технических ошибок." + }, + { + "type": "paragraph", + "text": "Настоящее положение не освобождает Исполнителя от исполнения обязательств и ответственности в случаях, предусмотренных законодательством Российской Федерации." + }, + { + "type": "paragraph", + "text": "13.3. Доступ к Проекту может временно ограничиваться в связи с:" + }, + { + "type": "list", + "items": [ + "профилактическими работами;", + "обновлением программного обеспечения;", + "устранением аварий;", + "сетевыми атаками;", + "сбоями каналов связи;", + "действиями хостинг-провайдеров;", + "обязательными требованиями государственных органов;", + "обстоятельствами непреодолимой силы." + ] + }, + { + "type": "paragraph", + "text": "13.4. При плановых работах Исполнитель по возможности заранее размещает уведомление на Сайте или иных официальных ресурсах Проекта." + }, + { + "type": "paragraph", + "text": "13.5. Временная недоступность бесплатной части Проекта сама по себе не означает недостаток ранее оказанной цифровой услуги." + }, + { + "type": "paragraph", + "text": "13.6. Если технический сбой повлёк утрату неоказанной оплаченной Услуги или неиспользованного Платного баланса, Исполнитель восстанавливает соответствующие данные либо возвращает стоимость неоказанной части договора." + }, + { + "type": "paragraph", + "text": "13.7. При окончательном прекращении работы Проекта Исполнитель размещает уведомление и предоставляет Пользователям разумный срок для обращения по вопросу неиспользованного Платного баланса." + } + ] + }, + { + "id": "section-14", + "title": "Ответственность Сторон", + "blocks": [ + { + "type": "paragraph", + "text": "14.1. За нарушение обязательств Стороны несут ответственность в соответствии с законодательством Российской Федерации и настоящей Офертой." + }, + { + "type": "paragraph", + "text": "14.2. Исполнитель отвечает за:" + }, + { + "type": "list", + "items": [ + "правильное отражение полученной предоплаты;", + "соответствие Услуги её описанию;", + "соблюдение установленного срока оказания Услуги;", + "устранение ошибок, допущенных по его вине;", + "сохранность учитываемого Платного баланса;", + "соблюдение обязательных прав Пользователя." + ] + }, + { + "type": "paragraph", + "text": "14.3. Исполнитель не несёт ответственности за нарушение обязательства только в той части, в которой докажет, что такое нарушение непосредственно возникло вследствие действий или бездействия Пользователя либо обстоятельств непреодолимой силы." + }, + { + "type": "paragraph", + "text": "К обстоятельствам, связанным с действиями или бездействием Пользователя, могут относиться:" + }, + { + "type": "list", + "items": [ + "указание неверной Учётной записи, игрового мира или персонажа;", + "передача Пользователем данных доступа третьему лицу;", + "использование Пользователем несовместимого или самостоятельно изменённого программного обеспечения;", + "неисправность устройства или соединения Пользователя, непосредственно препятствующая получению Услуги;", + "блокировка операции вследствие неправомерных действий Пользователя;", + "иное нарушение Пользователем своих обязанностей, находящееся в прямой причинной связи с невозможностью оказания Услуги." + ] + }, + { + "type": "paragraph", + "text": "14.4. Само по себе наличие обстоятельства, перечисленного в пункте 14.3, не освобождает Исполнителя от ответственности." + }, + { + "type": "paragraph", + "text": "Исполнитель должен подтвердить причинную связь между таким обстоятельством и нарушением обязательства." + }, + { + "type": "paragraph", + "text": "14.5. Положения пункта 14.3 не освобождают Исполнителя от ответственности за:" + }, + { + "type": "list", + "items": [ + "ошибки и неисправности на стороне Проекта;", + "несоответствие Услуги её описанию;", + "неправильное отражение полученной предоплаты;", + "ошибочное списание Внутреннего баланса;", + "нарушение сроков по причинам, находящимся под контролем Исполнителя;", + "предоставление Пользователю недостоверной или неполной информации;", + "иные действия или бездействие Исполнителя." + ] + }, + { + "type": "paragraph", + "text": "14.6. Условия настоящей Оферты не применяются в той части, в которой они ограничивают права Пользователя по сравнению с обязательными требованиями законодательства Российской Федерации." + }, + { + "type": "paragraph", + "text": "14.7. Если какое-либо условие Оферты будет признано ущемляющим права потребителя или недействительным, такое условие не применяется, а отношения Сторон регулируются законодательством Российской Федерации." + }, + { + "type": "paragraph", + "text": "Недействительность отдельного условия не влечёт недействительность остальных положений Оферты." + } + ] + }, + { + "id": "section-15", + "title": "Персональные данные", + "blocks": [ + { + "type": "paragraph", + "text": "15.1. Обработка персональных данных производится в соответствии с законодательством Российской Федерации и Политикой обработки персональных данных, размещённой на Сайте." + }, + { + "type": "paragraph", + "text": "15.2. В целях исполнения договора могут обрабатываться:" + }, + { + "type": "list", + "items": [ + "адрес электронной почты;", + "идентификатор Учётной записи;", + "IP-адрес;", + "технические сведения об устройстве и программном обеспечении;", + "история Заказов и платежей;", + "история операций Внутреннего баланса;", + "сведения об игровых персонажах;", + "данные обращений в поддержку;", + "идентификаторы платёжных операций." + ] + }, + { + "type": "paragraph", + "text": "15.3. Персональные данные обрабатываются для:" + }, + { + "type": "list", + "items": [ + "регистрации и обслуживания Учётной записи;", + "исполнения настоящего договора;", + "обработки платежей;", + "формирования и направления чеков;", + "оказания цифровых услуг;", + "рассмотрения обращений;", + "предотвращения мошенничества;", + "обеспечения безопасности Проекта;", + "исполнения обязанностей, установленных законодательством Российской Федерации." + ] + }, + { + "type": "paragraph", + "text": "15.4. Если реквизиты банковской карты вводятся на странице платёжного сервиса, такие реквизиты обрабатываются соответствующим платёжным сервисом и не передаются Исполнителю в полном объёме." + }, + { + "type": "paragraph", + "text": "15.5. Исполнитель вправе передавать платёжному сервису, хостинг-провайдеру и иным техническим исполнителям данные только в объёме, необходимом для выполнения соответствующей функции и при наличии законного основания." + }, + { + "type": "paragraph", + "text": "15.6. Политика обработки персональных данных размещается в открытом доступе на Сайте." + }, + { + "type": "paragraph", + "text": "Действующая гиперссылка на Политику размещается на страницах Сайта, посредством которых осуществляется сбор персональных данных, включая страницы регистрации, оформления оплаты и направления обращений." + }, + { + "type": "paragraph", + "text": "15.7. Пользователю предоставляется возможность ознакомиться с Политикой обработки персональных данных до передачи персональных данных, регистрации Учётной записи и совершения оплаты." + }, + { + "type": "paragraph", + "text": "Принятие настоящей Оферты не заменяет отдельного согласия на обработку персональных данных в случаях, когда получение такого согласия обязательно в соответствии с законодательством Российской Федерации." + }, + { + "type": "paragraph", + "text": "15.8. Сроки обработки и хранения персональных данных устанавливаются отдельно для каждой цели обработки и указываются в Политике обработки персональных данных." + }, + { + "type": "paragraph", + "text": "Персональные данные хранятся не дольше, чем этого требуют цели обработки, если иной срок не установлен законодательством Российской Федерации или договором." + }, + { + "type": "paragraph", + "text": "После достижения целей обработки либо утраты необходимости в их достижении персональные данные уничтожаются или обезличиваются, если дальнейшее хранение не требуется на ином законном основании." + }, + { + "type": "paragraph", + "text": "15.9. Пользователь вправе направить Исполнителю обращение по вопросам обработки персональных данных по адресу электронной почты, указанному в разделе 20 настоящей Оферты." + } + ] + }, + { + "id": "section-16", + "title": "Интеллектуальная собственность", + "blocks": [ + { + "type": "paragraph", + "text": "16.1. MoonWell является неофициальным игровым проектом и не является официальным сервером World of Warcraft." + }, + { + "type": "paragraph", + "text": "16.2. Исполнитель не заявляет о наличии аффилированности, партнёрства, одобрения или спонсорской поддержки со стороны Blizzard Entertainment, Microsoft Corporation или связанных с ними лиц." + }, + { + "type": "paragraph", + "text": "16.3. Наименования World of Warcraft, Warcraft, Blizzard, названия игровых дополнений, персонажей, территорий, предметов, изображения и иные связанные объекты могут принадлежать соответствующим правообладателям." + }, + { + "type": "paragraph", + "text": "16.4. Упоминание таких объектов используется для описания тематики Проекта и не означает передачу Пользователю исключительных прав." + }, + { + "type": "paragraph", + "text": "16.5. В рамках настоящей Оферты Пользователю не продаётся и не передаётся:" + }, + { + "type": "list", + "items": [ + "игровой клиент World of Warcraft;", + "лицензия на программное обеспечение Blizzard;", + "право собственности на объекты World of Warcraft;", + "право коммерческого использования объектов третьих лиц;", + "право требовать оказания услуг от Blizzard или иных третьих лиц." + ] + }, + { + "type": "paragraph", + "text": "16.6. Пользователь самостоятельно обеспечивает правомерность использования программного обеспечения, установленного на его устройстве." + }, + { + "type": "paragraph", + "text": "16.7. Положения настоящего раздела не являются заявлением о наличии у Исполнителя разрешения правообладателя на деятельность Проекта." + } + ] + }, + { + "id": "section-17", + "title": "Обстоятельства непреодолимой силы", + "blocks": [ + { + "type": "paragraph", + "text": "17.1. Сторона освобождается от ответственности за неисполнение обязательства, если докажет, что его исполнение стало невозможным вследствие чрезвычайных и непредотвратимых при данных условиях обстоятельств." + }, + { + "type": "paragraph", + "text": "17.2. К таким обстоятельствам могут относиться:" + }, + { + "type": "list", + "items": [ + "стихийные бедствия;", + "военные действия;", + "масштабные аварии инфраструктуры;", + "обязательные запреты государственных органов;", + "длительные сбои магистральных сетей связи;", + "иные обстоятельства, отвечающие предусмотренным законом признакам непреодолимой силы." + ] + }, + { + "type": "paragraph", + "text": "17.3. Отсутствие денежных средств, обычная техническая неисправность, отсутствие необходимого оборудования или нарушение обязательств контрагентом сами по себе не признаются непреодолимой силой." + }, + { + "type": "paragraph", + "text": "17.4. Сторона должна уведомить другую Сторону о наступлении таких обстоятельств в разумный срок." + }, + { + "type": "paragraph", + "text": "17.5. Если оказание оплаченной Услуги окончательно стало невозможным, Исполнитель возвращает стоимость неоказанной части договора." + } + ] + }, + { + "id": "section-18", + "title": "Изменение и срок действия Оферты", + "blocks": [ + { + "type": "paragraph", + "text": "18.1. Оферта вступает в силу с момента её размещения на Сайте и действует до её отзыва либо публикации новой редакции." + }, + { + "type": "paragraph", + "text": "18.2. Исполнитель вправе изменять Оферту путём размещения новой редакции на Сайте." + }, + { + "type": "paragraph", + "text": "18.3. Новая редакция применяется к платежам, совершённым после её публикации." + }, + { + "type": "paragraph", + "text": "18.4. К внесённой предоплате применяется редакция Оферты, действовавшая в момент оплаты, если более поздняя редакция не улучшает положение Пользователя." + }, + { + "type": "paragraph", + "text": "18.5. К конкретной цифровой услуге также применяются содержание, стоимость и условия, отображавшиеся Пользователю непосредственно перед её активацией." + }, + { + "type": "paragraph", + "text": "18.6. Исполнитель вправе хранить и публиковать архив предыдущих редакций Оферты." + }, + { + "type": "paragraph", + "text": "18.7. Отзыв Оферты не прекращает обязательства по ранее принятым платежам и активированным Услугам." + } + ] + }, + { + "id": "section-19", + "title": "Обращения и разрешение споров", + "blocks": [ + { + "type": "paragraph", + "text": "19.1. Пользователь может направить обращение, требование или претензию по электронной почте:" + }, + { + "type": "paragraph", + "text": "sindoring@yandex.ru" + }, + { + "type": "paragraph", + "text": "19.2. Исполнитель направляет ответ на обычное обращение технической поддержки в течение пяти рабочих дней со дня его получения." + }, + { + "type": "paragraph", + "text": "19.3. Если обращение содержит требование, для которого законодательством Российской Федерации установлен специальный срок, применяется срок, установленный законодательством." + }, + { + "type": "paragraph", + "text": "19.4. Стороны стремятся разрешать разногласия путём переговоров и обмена письменными обращениями." + }, + { + "type": "paragraph", + "text": "19.5. Направление претензии Исполнителю является рекомендуемым способом оперативного разрешения спора, но не ограничивает право потребителя обратиться в государственный орган или суд." + }, + { + "type": "paragraph", + "text": "19.6. Пользователь вправе предъявить иск о защите прав потребителей по правилам подсудности, установленным законодательством Российской Федерации." + }, + { + "type": "paragraph", + "text": "Условия настоящей Оферты не ограничивают право Пользователя на выбор предусмотренного законом места обращения в суд." + }, + { + "type": "paragraph", + "text": "19.7. К отношениям Сторон применяется законодательство Российской Федерации." + }, + { + "type": "paragraph", + "text": "19.8. Языком настоящей Оферты и взаимодействия Сторон является русский язык." + }, + { + "type": "paragraph", + "text": "19.9. Сообщения, направленные на указанный Пользователем адрес электронной почты, а также сообщения Пользователя, направленные с адреса, связанного с его Учётной записью, могут использоваться Сторонами в качестве подтверждения переписки и содержания обращений." + } + ] + }, + { + "id": "section-20", + "title": "Реквизиты Исполнителя", + "blocks": [ + { + "type": "paragraph", + "text": "Исполнитель: Абушаев Ильяс Ряисович" + }, + { + "type": "paragraph", + "text": "Статус: физическое лицо, применяющее специальный налоговый режим «Налог на профессиональный доход»" + }, + { + "type": "paragraph", + "text": "ИНН: 643967812920" + }, + { + "type": "paragraph", + "text": "Город ведения деятельности: Балаково" + }, + { + "type": "paragraph", + "text": "Сайт: https://moon-well.online/" + }, + { + "type": "paragraph", + "text": "Электронная почта: sindoring@yandex.ru" + } + ] + } +]; diff --git a/tests/Feature/InertiaPublicPagesFeatureTest.php b/tests/Feature/InertiaPublicPagesFeatureTest.php index 1c1f37a..3b9843c 100644 --- a/tests/Feature/InertiaPublicPagesFeatureTest.php +++ b/tests/Feature/InertiaPublicPagesFeatureTest.php @@ -19,31 +19,36 @@ class InertiaPublicPagesFeatureTest extends TestCase ); } - public function test_hidden_legal_pages_return_not_found(): void + public function test_offer_is_published_while_privacy_policy_stays_hidden(): void { - $this->get(route('legal.offer'))->assertNotFound(); - $this->get(route('legal.privacy'))->assertNotFound(); - } - - public function test_legal_pages_can_be_published_by_configuration(): void - { - config(['moonwell.legal.published' => true]); - $this->get(route('legal.offer')) ->assertOk() ->assertInertia(fn (Assert $page) => $page ->component('Legal/Offer', false) - ->where('legal.operator_name', config('moonwell.legal.operator_name')) - ->where('urls.privacy', route('legal.privacy')) + ->where('urls.offer', route('legal.offer')) + ->where('urls.privacy', null) ->etc() ); + $this->get(route('legal.privacy'))->assertNotFound(); + } + + public function test_legal_pages_can_be_controlled_independently(): void + { + config([ + 'moonwell.legal.offer_published' => false, + 'moonwell.legal.privacy_published' => true, + ]); + + $this->get(route('legal.offer'))->assertNotFound(); + $this->get(route('legal.privacy')) ->assertOk() ->assertInertia(fn (Assert $page) => $page ->component('Legal/Privacy', false) ->where('legal.contact_email', config('moonwell.legal.contact_email')) - ->where('urls.offer', route('legal.offer')) + ->where('urls.offer', null) + ->where('urls.privacy', route('legal.privacy')) ->etc() ); } diff --git a/tests/Feature/LandingPageTest.php b/tests/Feature/LandingPageTest.php index 1ae249a..3a7a6bb 100644 --- a/tests/Feature/LandingPageTest.php +++ b/tests/Feature/LandingPageTest.php @@ -17,8 +17,9 @@ class LandingPageTest extends TestCase $response->assertInertia(fn (Assert $page) => $page ->component('Landing/Main', false) ->where('realm.server_name', 'MoonWell') - ->where('legalUrls.published', false) - ->where('legalUrls.offer', null) + ->where('legalUrls.offer_published', true) + ->where('legalUrls.privacy_published', false) + ->where('legalUrls.offer', route('legal.offer')) ->where('legalUrls.privacy', null) ->etc() ); diff --git a/Публичная оферта MoonWell.docx b/Публичная оферта MoonWell.docx new file mode 100644 index 0000000..20c00fb Binary files /dev/null and b/Публичная оферта MoonWell.docx differ