Мы реализовали механику работы с заказами с предварительным холдированием(замораживанием средств) пользователя.
Это открывает невероятные горизонты для торговли любыми товарами, остаток которых неизвестен или неточен.
Сперва следует рассказать, что такое холдирование и как оно работает. Пользователь на вашем сайте оформляет заказ, переходит, как обычно, к предоплате картой и производит оплату. При включенном холдировании деньги на карте замораживаются, но еще не списываются.
Для владельца магазина это гарантия того, что у клиента есть необходимая для заказа сумма на карте и эту сумму магазин может в любой момент списать в полном объеме. В случае, если товаров нет в наличии, магазин может отменить холдирование и деньги в полном объеме «размораживаются» на счете клиента без каких-либо комиссий.
В случае, если не все товары есть в наличии, то магазин может завершить транзакцию с меньшей суммой, чем была «заморожена», остаток в этом случае останется на счету у пользователя.
Только представьте, Вы продаете товары, которые хранятся на удаленном складе, фактическое количество которого неизвестно заранее. Вы принимаете заказ от клиента, начинаете собирать заказ и если какого-либо товара нет в наличии, вы можете предложить клиенту аналогичный по той же или более низкой цене.
Если клиента это устроит, то в этом случае завершаете транзакцию на новую сумму одним нажатием кнопки в административной панели. Если клиента не устроит, вы можете исключить отсутствующий товар и предложить поставить только имеющиеся товары и списать меньше средств.
Интерфейс
Рассмотрим подробнее, что поменялось на страницах административной панели.
В настройках способа оплаты (Магазин -> Способы оплаты) появилась вкладка Смена статуса заказа, на которой можно задать соответствие статуса заказа статусам транзакции на оплату.
В заказе, теперь появилась информация о транзакциях. Здесь же можно завершить или отменить транзакцию, если она в статусе «Платеж захолдирован».
В разделе Управление -> Пользователи -> Транзакции, у транзакций, которые поддерживают холдирование появились кнопки: завершить оплату (на всю сумму), отменить оплату.
Техническая информация для разработчиков
Мы написали техническую документацию для разработчиков модулей оплаты. Там есть информация, что нужно доработать, чтобы ReadyScript «понимал», что способ оплаты поддерживает транзакции.
Ограничения
Холдирование подразумевает завершение транзакции либо на всю сумму, либо на сумму меньшую. Списать больше денег, чем захолдировано не получится. Это важный момент.
На сегодняшний день, мы подключили логику работы холдирования только на модуль ЮМани API, который идет в комплекте с платформой ReadyScript. Надеемся, что остальные платежные модули, которые присутствуют у нас в маркетплейсе от сторонних разработчиков со временем приобретут данную поддержку.