Сегодня вышла новая сборка магазина ShopModxBox-2.2.3. Изменений в ней не много, и в основном коснулись процессора basket/processors/web/payments/create, который был почти полностью переработан (тем не менее это не скажется на работе старых магазинов). Переработка этого процессора понадобилась для универсальности, ведь теперь добавился третий модуль оплаты - ShopModxUnitPay - для оплаты через агрегатор unitpay.ru. Кстати, если кто-то сталкивался с этой системой, просьба поведать о своем опыте и о плюсах/минусах данного агрегатора.
Я в свою очередь могу сказать следующее: на сайте у них указано, что их комиссия не более 1%. В целом это почти так. Почти, потому что на самом деле можно там найти и скрытые проценты. А во-вторых, это их комиссия, но с платежей, которые будут поступать к вам, будет взиматься комиссия и конечных платежных систем. К примеру, вам оплатили 100 рублей через Яндекс.Деньги. На счет вам в их систему упадет только 93 рубля. Из них 5% - это Яндекс заберет (не с конечного пользователя, а именно с этого платежа. Пользователь заплатит как положено 100 рублей). Далее 1% - это их заявленный процент. А еще 1% - это конвертация средств на вебмани внутри системы (это я и назвал скрытым процентом).
Тем не менее не все так плохо. Во-первых, примерно такой процент так или иначе будет взиматься на любом другом платежном агрегаторе. Здесь, наверно, самая экономия - это напрямую платеж в Яндекс.Деньги. Там их комиссия до 3%. А если расплачиваться их картой, то вообще ни процента не теряешь. Кстати, модуль данный давно уже почти готов, все никак не доделаю. Если у кого есть интерес, поддержите рублем проект и модуль этот появится в самое ближайшее время.
Второй момент: данный процент был озвучен для физлиц. А для юриков процент существенно ниже. К примеру, при оплате теми же Яндекс.Деньгами на юрика конечный процент будет всего 4%, что очень близко к самому минимальному на рынке.
А третий момент (который мне больше всех нравится), это то, что можно комиссию полностью переложить на конечных пользователей (а можно и наоборот облегчить их учесть :)). В настройках своего аккаунта в UnitPay можно ползуночками изменить процент комиссии при платеже, и можно таким образом вообще все проценты с платежа переложить на клиента. Вообще полностью, включая процент платежной системы.
В таком случае пользователь будет оплачивать сумму заказа + установленную комиссию.
Это особенно хорошо, когда средний чек небольшой, и клиенту лишние 7-10% погоды не сделают. Процент отказов по платежам будет незначительный, а 5% от общего месячного оборота для магазина может оказаться очень существенным. Вы спросите а почему не устанавливать сразу цену на сайте с учетом комиссии? Во-первых, у разных платежных систем разная комиссия, и отслеживать это на стороне сайта гораздо сложнее. Во-вторых, стоимость товара тогда возрастает, и в том же яндекс.маркете вы уже будете выглядеть менее привлекательно, и кто-то с разницей в цене на пару процентов будет в выдаче выше вас. А если вы заявите цену одну, а при оформлении заказа или к оплате укажете другую цену, то яндекс.маркет вас очень быстро и с удовольствием заблокирует. А вот если комиссия появится уже на стороне платежного агрегатора, тут велика вероятность легко откусаться, потому как типа платежный сервис же комиссию берет, а не вы.
Но и как разработчик скажу, что хоть и нашел пару ошибок у них в доках да скриптах, в целом интерфейс очень дружественный. Особенно порадовала форма отладки запросов.
В общем, я бы дал 4+ из пяти.
UPD: А, и еще забыл, таки подправил шаблоны товаров, и теперь на странице товаров выводится описание (content). При этом оцените наконец силу Smarty! :) Вот базовый шаблон для товаров. Это только основная карточка с кнопкой заказа. А вот это шаблон для вывода карточек товаров в списке каталога. Все, что там есть: {extends file="shop/products/layout.tpl"}
То есть этот шаблон расширяет основной шаблон и ничего больше в себе не несет. А вот это шаблон для конечной страницы товара, где выводится и поле content. Весь его код:
{*
Шаблон для вывода товара на собственной странице
*}
{extends file="shop/products/layout.tpl"}
{block name=cart}
{$smarty.block.parent}
{block name=product_content}
{$object.content}
{/block}
{/block}
То есть он так же расширяет основной шаблон и добавляет блок с выводом контента. А весь родительский шаблон вызывается одной строчкой: {$smarty.block.parent}, то есть инклюдится родительский блок.
И стоит только подправить основной шаблон карточки, и изменения будут сразу в обоих дочерних шаблонах, не надо править одно и то же в нескольких местах. И вот уже не сравнивайте, пожалуйста, с чанками. Вы не сделаете расширение одного чанка другим, и не будут видны передаваемые в один чанк параметры внутри другого чанка.