Холдирование средств

Холдированием денежных средств еще называют отложенную оплату, двухстадийные платежи или предавторизацию.

Покупатель выбирает товар, но при оплате средства не снимают, а сначала замораживают на его счете. Полностью деньги снимают после подтверждения от продавца.

Холдирование подходит продавцам, которые берут предоплату: при бронировании жилья или билетов на транспорт, аренде, продаже туристических путевок и так далее. Например, с предоплатой можно управлять частичной или полной отменой заказов.

В отличие от обычного возврата, холдирование позволяет возвращать деньги покупателям без комиссии за эквайринг и намного быстрее.

Как это работает?

Примечание

Холдирование не подключено по умолчанию и своей функциональностью дополняет базовую механику. Ознакомьтесь с ней, чтобы лучше понимать, как все работает. Подробнее о механиках оплаты читайте в разделе Способы оплаты и платежные механики.

Чтобы подключить и настроить холдирование, обратитесь в поддержку.

Совет

Для знакомства с платежными механиками API Яндекс Пэй используйте готовую Postman-коллекцию.

Скачать коллекцию

Стадии платежа

Платеж с использованием холдирования проходит в две стадии:

  1. Блокировка средств (предавторизация) и переход платежа в статус Платеж авторизован (AUTHORIZED).

  2. Подтверждение списания магазином и переход платежа в статус Оплачен (CAPTURED).

Блокировка средств работает только при оплате картой

Если покупатель оплатит по СБП, то средства спишутся сразу без подтверждения со стороны магазина. Платеж перейдет в статус CAPTURED, минуя стадию блокировки и статус AUTHORIZED.

Учитывайте это при обработке статусов заказа.

Сценарий холдирования

  1. Сформируйте ссылку на оплату заказа с помощью метода /orders.

  2. Покупатель переходит по ссылке и оплачивает покупку через форму Яндекс Пэй.

  3. Происходит блокировка средств на счете покупателя, платеж переходит в статус AUTHORIZED.

    По умолчанию средства блокируются на 5 дней с момента платежа. После этого деньги списываются автоматически, см. Автоклир.

    Срок блокировки можно изменить в диапазоне от 1 до 5 дней через поддержку.

  4. Если настроен Callback URL, бэкенд магазина получает уведомление о событии ORDER_STATUS_UPDATED.

Списание средств (клир)

  1. Подтвердите списание средств за заказ с помощью метода /capture.

    Если сумма покупки окажется меньше?

    Например, если покупатель решит не выкупать отдельные позиции в корзине, оставшаяся часть заблокированных средств будет возвращена. В данном случае передайте новые значения в параметре cart метода /capture.

  2. Происходит списание средств со счета покупателя, платеж переходит в статус CAPTURED.

  3. Если настроен Callback URL, бэкенд магазина получает уведомление о событии ORDER_STATUS_UPDATED.

Отмена блокировки средств

После того как произошла блокировка средств на счете, если средства еще не списаны (платеж находится в статусе AUTHORIZED), магазин может разблокировать средства клиента с помощью метода /cancel.

В этом случае платеж переходит в статус VOIDED.

Автоклир

Если подтверждения списания средств или отмены блокировки не происходит по истечению периода холдирования, на стороне Яндекс Пэй происходит автоматическое списание (автоклир) денежных средств.

Совет

Чтобы избежать нежелательного списания денежных средств с карты покупателя, рекомендуем настроить автоматическую отмену блокировки с помощью метода /cancel по истечению заданного времени.

Возврат оплаты

Провести возврат можно двумя способами:

  • в личном кабинете в разделе Платежи;
  • при помощи запросов к API.

Минимальная сумма возврата — 1 рубль.

Статусы, которые мы высылаем в интеграции

Примечание

Статус CONFIRMED в текущей интеграции не используются.

Проверьте актуальный статус платежа на любом этапе с помощью метода /orders или в личном кабинете, выбрав нужный платеж.

Статусы при проведении оплаты:

PENDING

Оплата еще в процессе, нужно запросить статус платежа позже. Не отправляется в нотификации.

FAILED

Оплата завершилась неудачно. Терминальный неуспешный статус.

AUTHORIZED

Оплата успешна, денежные средства захолдированы.

CAPTURED

Оплата совершена. Терминальный успешный статус.

VOIDED

Оплата отменена, денежные средства расхолдированы. Терминальный статус.

Статусы при проведении возврата:

FAILED

Процедура возврата неуспешна. Терминальный неуспешный статус.

REFUNDED

Возврат совершен. Терминальный успешный статус.

PARTIALLY_REFUNDED

Частичный возврат совершен. Терминальный успешный статус.

Сценарии тестирования механики

Для качественной работы сервиса протестируйте его в тестовой и боевой среде перед приемом платежей пользователей.

Если вы настроили интеграцию по API Яндекс Пэй, в ходе тестирования рекомендуем использовать тестовые сценарии:

Сценарий

Действия

Ожидаемый результат

Среда

Успешная оплата с последующим клиром (списанием средств) по инициативе продавца

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту. В корзине должно быть несколько товаров одного productId.
  2. Перейдите по ссылке и оплатите покупку.
  3. Завершите бронь заказа и вызовите метод для клира средств orders/{order_id}/capture.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту клира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  3. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Test, Prod

Успешная оплата с отменой покупки до клира средств

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку.
  3. Инициируйте отмену заказа методом orders/{order_id}/cancel.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту отмены от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус VOIDED.

Test, Prod

Успешная оплата с автоклиром средств (заказ без принудительного клира)

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку.
  3. Оставьте заявку на 5 суток.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту автоклира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

Test, Prod

Успешная оплата с частичным клиром средств

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку.
  3. Завершите бронь заказа с изменением состава в меньшую сторону и вызовите метод для клира средств orders/{order_id}/capture на итоговую корзину.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту клира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  3. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Test, Prod

Успешная оплата с частичным возвратом после клира средств

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку.
  3. Подтвердите покупку orders/{order_id}/capture.
  4. Выберите несколько товаров к возврату (не все) и осуществите возврат методом v2/orders/{order_id}/refund с последующей проверкой статуса возврата.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту клира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  3. Частичный возврат осуществлен и получен статус заказа PARTIALLY_REFUNDED в webhook или в метод orders/{order_id}.

Test, Prod

Успешная оплата с полным возвратом после клира средств

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку.
  3. Выберите все товары к возврату и осуществите возврат методом v2/orders/{order_id}/refund с последующей проверкой статуса возврата.

  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту клира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  3. Полный возврат осуществлен и получен статус заказа REFUNDED в webhook или в метод orders/{order_id}.

Test, Prod

Проверка ежедневного отчета о продажах

Проведите и оставьте без возврата успешные продажи на сумму не менее 500 рублей.

  1. На следующий день после тестов получен ежедневный отчет с операциями, где за аннулирование оплат до клира нет комиссии.
  2. В отчете указана начисленная комиссию за успешную оплату.

Prod

Успешная оплата банковской картой

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку банковской картой.
  3. Завершите бронь заказа и вызовите метод для клира средств orders/{order_id}/capture.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту клира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  3. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Prod

Успешная оплата Сплит

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку Сплитом.
  3. Завершите бронь заказа и вызовите метод для клира средств orders/{order_id}/capture.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус AUTHORIZED.

  2. По факту клира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  3. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Prod

Успешная оплата СБП

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку СБП.
  1. По факту клира средств от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  2. На основании полученного из Яндекс статуса на стороне продавца сформирован чек продажи и передан клиенту и в ФНС.

Prod

Успешная оплата СБП с частичным возвратом

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку через СБП.
  3. Выберите несколько товаров к возврату (не все) и осуществите возврат методом v2/orders/{order_id}/refund с последующей проверкой статуса возврата.
  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  2. Частичный возврат осуществлен и получен статус заказа PARTIALLY_REFUNDED в webhook или в метод orders/{order_id}.

Prod

Успешная оплата СБП с полным возвратом

  1. Создайте заявку на оплату методом orders и откройте ссылку на оплату клиенту.

  2. Перейдите по ссылке и оплатите покупку через СБП.
  3. Выберите все товары к возврату и осуществите возврат методом v2/orders/{order_id}/refund с последующей проверкой статуса возврата.

  1. По факту оплаты от Яндекс пришел webhook или на опрос статуса orders/{order_id} получен статус CAPTURED.

  2. Полный возврат осуществлен и получен статус заказа REFUNDED в webhook или в метод orders/{order_id}.

Prod