Сегодня вышла новая сборка магазина 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}, то есть инклюдится родительский блок.
И стоит только подправить основной шаблон карточки, и изменения будут сразу в обоих дочерних шаблонах, не надо править одно и то же в нескольких местах. И вот уже не сравнивайте, пожалуйста, с чанками. Вы не сделаете расширение одного чанка другим, и не будут видны передаваемые в один чанк параметры внутри другого чанка.
Замечательно)
с Unitpay не работал пока что, посмотрим что они смогут предложить, основной вопрос, а работают ли они с физическими лицами?
Да, работают. Правда подключение магазина в течение 24 часов, но в целом проблем вообще никаких, и требований вообще никаких не заметил. Кстати, да, забыл таком момент отметить: вывод средств моментальный, что очень радует, но, только на вебмани (во всяком случае другого не заметил ничего, задал вопрос ребятам, жду ответа). И в ЛК указано что с вебмани допкомиссия при выводе 0.8%, но я на выводе потерял 0.08%, то есть с 10 рублей 2 копейки только.
подскажите пожалуйста по настройке 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
эти?
Папка 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.
накидайте пожалуйста последовательность действий,
что-то не получается с наскоку одолеть.
http://modxclub.ru/uslugi/podderzhka-veb-sajta.html
при проверке готовности на сайте 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? может в этом дело?
пардон, указал цифру 3 и всё пошло)
В таблицу 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 и запишите.
Вот и славненько.