Fi1osof 30 сентября 2014 0 10

Сегодня вышла новая сборка магазина 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}, то есть инклюдится родительский блок.
И стоит только подправить основной шаблон карточки, и изменения будут сразу в обоих дочерних шаблонах, не надо править одно и то же в нескольких местах. И вот уже не сравнивайте, пожалуйста, с чанками. Вы не сделаете расширение одного чанка другим, и не будут видны передаваемые в один чанк параметры внутри другого чанка.
10 комментариев
z
zfjoury 30 сентября 2014г в 06:28 #
Замечательно)
с Unitpay не работал пока что, посмотрим что они смогут предложить, основной вопрос, а работают ли они с физическими лицами?
Fi1osof1
Fi1osof 30 сентября 2014г в 06:33 #
Да, работают. Правда подключение магазина в течение 24 часов, но в целом проблем вообще никаких, и требований вообще никаких не заметил. Кстати, да, забыл таком момент отметить: вывод средств моментальный, что очень радует, но, только на вебмани (во всяком случае другого не заметил ничего, задал вопрос ребятам, жду ответа). И в ЛК указано что с вебмани допкомиссия при выводе 0.8%, но я на выводе потерял 0.08%, то есть с 10 рублей 2 копейки только.
C
Comp.8bit 27 ноября 2014г в 15:59 #
подскажите пожалуйста по настройке UnitPay
какой указывать обработчик платежей на сайте агрегатора, вот этот?
http://domain.ru/public_html/core/components/shopmodxunitpay/processors/shopmodxunitpay/web/payments/create.class.php

Fail URL:
http://domain.ru/office/payment/failure.html
Succeess URL:
http://domain.ru/office/payment/success.html
эти?

Fi1osof1
Fi1osof 27 ноября 2014г в 16:05 #
Папка core/ вообще должна быть закрыта на запросы извне, и процессоры никогда напрямую не вызываются, только через метод $modx->runProcessor();
Правильный ответ:
http://domain.ru/office/payment/unitpay/result.html
http://domain.ru/office/payment/failure.html
http://domain.ru/office/payment/success.html
Но это в случае использования нашей сборки ShopModxBox.
C
Comp.8bit 28 ноября 2014г в 07:18 #
накидайте пожалуйста последовательность действий,
что-то не получается с наскоку одолеть.
C
Comp.8bit 08 декабря 2014г в 14:44 #
при проверке готовности на сайте unitpay в консоли следующая ошибка:
{"jsonrpc":"2.0","error":{"code":-32000,"message":"Не был получен ID платежной системы"},"id":1}

при попытке платежа:
Получатель отклонил платеж: Не был получен ID платежной системы

в настройках магазина:
unitpay.secret_key указал секретный кей
unitpay.pay_server ссылку вида unitpay.ru/pay/25852-25852
а что нужно указывать в поле unitpay.bill_serv_id? может в этом дело?
C
Comp.8bit 08 декабря 2014г в 15:02 #
пардон, указал цифру 3 и всё пошло)
Fi1osof1
Fi1osof 08 декабря 2014г в 15:04 #
Вот и славненько.
Fi1osof1
Fi1osof 08 декабря 2014г в 15:03 #
В таблицу modx_billing_paysystems надо прописать эту платежную систему. Можете в консоли просто выполнить этот код:
<?php

$c = array(
    "name"  => "UnitPay",
);
if(!$o = $modx->getObject('Paysystem', $c)){
    $o = $modx->newObject('Paysystem', $c);
    $o->comment = "https://unitpay.ru/";
    if(!$o->save()){
        print "Не удалось записать систему";
        return;
    }
}

if($o){
    print "\nID системы: ". $o->id;
}


Вот этот ID и запишите.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.