Мне очень Opencart нравится в плане кода. Очень низкий порог вхождения (если есть понимание MVC), легко пишутся модули и плагины под него. И набор уже готовых решений довольно большой.
Есть проблема с seo (конкретно - дублирование URL), но она решаема грамотной установкой нужных плагинов и их настройкой (обычно достаточно лишь seo pro - включает чпу и убирает дублирование url).
О Joomla вообще как о CMS у меня плохие воспоминания и впечатления.
С Prestashop не приходилось работать.
за такие надуманные и криворукие "ограничения" я бы сменил хостера, методом голосования рублём.
пока in a и ptr совпадают, dns проверка должна считаться законченной.
это не пул из провайдерский айпишников. выдающихся миллиону домашних хомячков с обратными записями вида the.big.scottish.coyote.pol.my-cool.isp.com
Виноват хостер. Доменное имя имеет FQDN-вид и сооветствует RFC. Ограничений на 4 точки в домене в RFC нет, это произвол ). Гнобите хостера до последнего.
А мне норм и на windows, но есть очень сильное желание установить хакинтош. Вообще, я ещё и поиграть люблю и не знаю, есть ли на MacOS мои любимые игры... Устанавливай то, что хочешь.
Так я понял по ссылке речь о домене верхнего уровня (доменной зоне) рус и rus. Сверху спрашивают - почему нельзя сделать доменное имя rus, а снизу отвечают, что это обозначение нашего языка.
Если бы было запрещено использовать имя слово rus в имени домена, то Вы бы просто не смогли зарегистрировать такой домен.
Только договор и подписка о не разглашении и передачи информации третьим лицам, без юриста и нотариуса не дергайтесь если ваша разработка настолько грандиозная.
проконсультируйтесь с юристом желательно международником.
Сложность подключения системы оплаты напрямую зависит от API провайдера этого процессинга.
По поводу безопасности - процедура оплаты происходит на стороне (сайте) провайдера услуги, все Ваши дыры остаются на Вашем сайте и никак не влияют на безопасность оплаты.
Если вы пытаетесь сделать вывод в формате JSON, то может быть лучше сначала запихать выборку из БД в массив-таблицу, а потом вывести все через json_encode().