Onnem, про самозанятых - во-первых, это действует только в Москве, МО, Калужской области и республике Татарстан, во-вторых, статус самозанятого не освобождает от исполнения ФЗ54 (использования онлайн кассы), в-третьих, не все платёжные системы работают с самозанятыми, на текущий момент я знаю только, что Яндекс Касса предоставляет эквайринг для самозанятых, но, опять же, самозанятые приравниваются к юр. лицам на территории РФ.
Давайте вот такой простой кейс - мне нужно принимать платежи по банковским картам из центральной Африки, стран Южной Америки, например, Бразилии или США. Из всех перечисленных вами платёжных систем только WalletOne и Payin-Payout предоставляет эквайринг по всему миру, но, опять же, насколько известно мне, WalletOne НЕ работают сейчас с физическими лицами с гражданством РФ, а Payin-Payout подключат вам эквайринг только на территории РФ, если вы физ. лицо (лично общался с поддержкой около месяца назад).
Onnem, WalletOne, Fondy, Интеркасса НЕ работают с физ. лицами с гражданством РФ (WalletOne перестал работать с физиками где-то полгода назад, делали рассылку). Не вводите людей в заблуждение. Робокасса, Яндекс Деньги принимают банковские карты ТОЛЬКО из стран СНГ. У QIWI вообще нет платёжной формы на английском языке + приём карт только из стран СНГ. Payin-Payout работает с физ.лицами, но приём платежей по банковским картам ТОЛЬКО из РФ, Украины, Белоруссии, Казахстана.
Без кассы можно работать только с Робокассой, т.к. она выступает платёжным агентом. Но, опять же, как вы представляете законный вывод денег на банковскую карту физ. лица? Вы когда открываете карточный счёт в банке в договоре есть требование, что вы не имеете права его использовать для предпринимательской деятельности. Как вы представляете себе платить налоги по такой схеме? Физическое лицо не имеет права вести предпринимательскую деятельность в РФ, это называется незаконной предпринимательской деятельностью, пару раз заполните декларацию о доходах и это будет являться прецендентом, чтобы привлечь вас к ответственности, снять 13% НДФЛ + 20% НДС + 20% пени с неуплаченной суммы налога.
Onnem, платёжек конечно полно, только будучи физ. лицом в РФ на вас распространяется именно законодательство РФ по которому вам ни одна платёжка не сделает эквайринг без юр. лица и без онлайн кассы. Если вы, конечно, говорите именно об эквайринге, т.е. о международном приёме платежей с помощью банковских карт
Бред, вот вам пример - jQuery использует глобальную переменную jQuery в качестве точки входа в приложение. Почитайте про паттерн фасад. По вашему, если jQuery использует глобальную переменную jQuery, то это не безопасно?
Конкретно в моём случае есть 2 глобальных переменных - первая это ajaxurl в window - её создаёт WordPress в админке, эту переменную используют все темы и плагины под WordPress для отправки ajax-запросов.
Вторая глобальная переменная - это k - точка входа в приложение (аналог переменной jQuery).
Есть ситуации, когда вы не можете обойтись без глобальных переменных, и язык предоставляет такие возможности не просто так.
Сергей Краснов, вы, во-первых, невнимательно прочитали вопрос, во-вторых, не обратили внимания, что ответ уже был дан, и, в-третьих, дали ответ, который вообще никак не относится к теме вопроса.
Отлично, расскажите это создателям самой популярной CMS в мире - WordPress, они объявляют глобальную переменную ajaxurl в админке, чтобы у всех плагинов/тем был к ней доступ.
Вы глубоко заблуждаетесь на счёт того, что использование глобальных переменных - это плохая практика, это как если говорить, что вообще использование переменных - это плохая практика. И да, не всё можно написать без их использования.
Антон Швец, мне нужно было присвоить переменной url значение переменной ajaxurl, а если его нет, то присвоить k.ajaxurl. В данном случае мне нужно выполнить конкретное действие - присвоение, без которого следующий код не будет выполнятся. Ловить исключения и выводить какие-то ошибки в консоль не уместно. Есть только 2 варианта - или переменная ajaxurl определена, или переменная k.ajaxurl определена. Нет варианта - переменные не определены. Результатом должно быть присвоение без каких-либо ошибок или предупреждений в консоли.
В моём примере проблема была в том, что вначале код был вот такой:
и копипастить его в несколько мест приложения в конкретных компонентах не хотелось, в результате было найдено решение проще: let url = window.ajaxurl || k.ajaxurl;
Цель достигнута, кода меньше и он проще читается и не вызывает ошибок :)
По моему, это и есть ответ на мой вопрос. Мы этот шаг благополучно пропускали простым слиянием дева в мастер, следствием чего и возникла путаница с версионированием.
Да, допустим версии для исходников хранить только в тегах, а при билде через gulp-replace подменять в нужных местах в файлах. Но как быть, например, с файлом changelog.md, если я хочу хранить его в репозитории - на каком этапе вносить изменения в данный файл?
prntscr.com/p23ey4
prntscr.com/p23fbh