Сплит c оплатой «при получении»
Процесс интеграции, описанный ниже, вместе с базовым сценарием интеграции позволяет реализовать оплату в Сплит при получении заказа.
-
Без первого платежа при оформлении заказа: пользователь проходит процесс одобрения и выделения лимита на оплату.
-
График оплат формируется по итоговой сумме в пункте выдачи заказов (ПВЗ), при передаче заказа курьером или в магазине.
-
Весь процесс от оформления заказа до доставки и оплаты может быть подстроен под любой операционный цикл и разные сроки доставки по стране (30 и более дней).
Если цикл до оплаты занимает более 5 дней, выбирайте для сценария «оплата при получении» двухстадийную оплату в Сплит, а не холдирование, так как максимальный срок холдирования — 5 дней.
-
Холдирование может быть дополнительной настройкой для этого способа интеграции.

Каким партнерам подходит такая механика оплаты:
- индустриям с оплатой при получении;
- индустриям с волатильным выкупом.
Какие преимущества дает двухстадийная оплата в Сплит, помимо увеличения общего оборота товаров (GMV):
- Повышение конверсии в оплату: покупатель может не иметь необходимой суммы в момент оформления заказа или не ждать распродажи, чтобы купить товар.
- Повышение среднего чека за счет Сплита: покупатель может купить больше.
- Повышение коэффициента удержания (retention): покупатель получает выгоду от оплаты в Сплит, при этом у него есть возможность посмотреть или примерить товары и выкупить только часть.
Как это работает?
Примечание
Сплит для оплаты «при получении» не подключен по умолчанию и своей функциональностью дополняет базовую механику. Ознакомьтесь с ней, чтобы лучше понимать, как все работает. Подробнее о механиках оплаты читайте в разделе Способы оплаты и платежные механики.
Чтобы подключить и настроить Сплит для оплаты «при получении», обратитесь в поддержку.
Совет
Для знакомства с платежными механиками API Яндекс Пэй используйте готовую Postman-коллекцию.
Настройте бэкенд и фронтенд своего магазина так, чтобы выполнялись следующие этапы проведения оплаты:
- Оформление заказа
- Отмена заказа (
ROLLBACK) - Подтверждение заказа (
SUBMIT) - Возврат (
REFUND): полный и частичный
Оформление заказа

-
Покупатель формирует корзину товаров на сайте продавца и нажимает кнопку Оплатить Яндекс Сплит при получении.
-
Фронтенд продавца (Merchant Front) создает заказ на бэкенде продавца (Merchant Back).
-
Бэкенд продавца передает заказ в бэкенд Яндекс Пэй (YaPay Back) с помощью метода /orders. Запрос должен содержать
orderId— уникальный идентификатор заказа, а также параметрisPrepayment=true(для оформления оплаты в Сплит). -
В ответ бэкенд Яндекс Пэй возвращает бэкенду продавца ссылку на форму для оплаты.
-
Бэкенд продавца передает полученную ссылку на фронтенд.
-
Фронтенд продавца перенаправляет покупателя на форму для оплаты на фронтенде Яндекс Пэй (YaPay Front). Покупателю необходимо:
- Авторизоваться в Яндексе.
- Выбрать способ оплаты Пэй, указать карту или счет, с которого он хочет оплатить заказ, и нажать кнопку Оформить заказ.
-
Чтобы отслеживать статусы заказа, продавцу необходимо предварительно реализовать две модели:
Нотификации
Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:
- Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
- Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа
Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй.
Примечание
Рекомендуем поддержать сразу обе модели получения информации об изменении статуса заказа, чтобы обеспечить лучшую отказоустойчивость.
-
Если операция прошла успешно, заказ перейдет в статус
CONFIRMED. Покупатель будет перенаправлен по адресу, переданному ранее в полеMerchantRedirectUrls.onSuccessпри вызове метода /orders.
Отмена заказа
Если на стороне продавца происходит отмена заказа до подтверждения (например, клиент отменяет заказ через приложение), рекомендуем вызвать метод отмены заказа в API Яндекс Пэй, чтобы обеспечить соответствие статусов между системами продавца и Яндекс Пэй.

-
Бэкенд продавца (Merchant Back) запрашивает статус заказа у бэкенда Яндекс Пэй с помощью метода /orders/{order_id}.
-
Бэкенд Яндекс Пэй (YaPay Back) возвращает статус заказа.
Важно
Отмена заказа доступна только для заказов в статусе
PENDING(ожидает подтверждения) илиCONFIRMED(подтвержден). -
Бэкенд продавца отправляет запрос на отмену заказа с помощью метода orders/{order_id}/rollback.
-
В ответ бэкенд Яндекс Пэй должен подтвердить получение запроса на отмену заказа (ответ
200 ОК).
Если операция прошла успешно, заказ перейдет в статус FAILED. Отслеживать статус отмены заказа можно через:
Нотификации
Бэкенд Яндекс Пэй отправит уведомление, когда статус заказа изменится на FAILED. Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:
- Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
- Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа
Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй. Отмена прошла успешно, если статус заказа изменился FAILED.
Примечание
Рекомендуем поддержать сразу обе модели получения информации об изменении статуса заказа, чтобы обеспечить лучшую отказоустойчивость.
Подтверждение заказа

-
Бэкенд продавца (Merchant Back) запрашивает статус заказа у бэкенда Яндекс Пэй с помощью метода /orders/{order_id}.
-
Бэкенд Яндекс Пэй (YaPay Back) возвращает статус заказа.
Важно
Списание средств доступно только для заказов в статусе
CONFIRMED(оформлен). -
Для подтверждения заказа бэкенд продавца отправляет запрос с помощью метода /orders/{order_id}/submit.
В запросе задайте параметр
externalOperationId— идентификатор операции в системе продавца. Он будет использоваться для отслеживания статуса операции методом /operations/{external_operation_id}.Вы также можете изменить состав корзины. Например:
- убрать позиции, если покупатель отказался от части товаров;
- добавить позиции, если покупатель совершил дополнительную покупку в ПВЗ.
Для изменения корзины передайте новые значения для полей
cartиorderAmount.
Если операция прошла успешно, заказ перейдет в статус CAPTURED. Отслеживать статус заказа можно через:
Нотификации
Бэкенд Яндекс Пэй отправит уведомление, если:
- статус операции изменится на
SUCCESSилиFAILED; - статус заказа изменится на
CAPTURED.
Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:
- Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
- Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа
Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй. Подтверждение заказа прошло успешно, если статус заказа изменился CAPTURED.
Поллинг статуса операции
Настройте регулярную отправку запросов о статусе операции /operations/{external_operation_id} к бэкенду Яндекс Пэй. Подтверждение заказа прошло успешно, если статус операции изменился на SUCCESS.
Возможные ошибки
|
Статус в карточке заказа в личном кабинете |
Возможность повторить оплату |
|
Недостаточно средств |
Да, после пополнения баланса карты или счета, с которых выполняется списание первого платежа |
|
Лимит на карте превышен |
Да, пользователю необходимо увеличить лимит по карте |
|
Карта просрочена |
Нет |
|
Операция недоступна для карты |
Нет |
|
Проблема с подтверждением платежа |
Да |
|
Покупатель не успел оплатить |
Да |
|
Покупатель не завершил оплату в срок жизни заказа в Пэй |
Нет |
|
Ошибка сервиса Пэй |
Да |
Возврат
Минимальная сумма возврата — 1 рубль.

-
Бэкенд продавца (Merchant Back) запрашивает статус заказа у бэкенда Яндекс Пэй с помощью метода /orders/{order_id}.
-
Бэкенд Яндекс Пэй (YaPay Back) возвращает статус заказа.
Важно
Полный возврат доступен только для заказов в статусе
CAPTUREDилиPARTIALLY_REFUNDED. -
Бэкенд продавца отправляет запрос на возврат с помощью метода v2/orders/{order_id}/refund. В запросе рекомендуем задать параметр
externalOperationId— в дальнейшем его можно использовать для отслеживания статуса операции. -
В ответ бэкенд Яндекс Пэй возвращает данные операции и статус:
PENDING— возврат в процессе;SUCCESS— возвращен;FAILED— ошибка при проведении возврата.
Если операция прошла успешно, заказ перейдет в статус REFUNDED. Отслеживать статус возврата можно через:
Нотификации
Бэкенд Яндекс Пэй отправит уведомление, если:
- статус операции изменится на
SUCCESSилиFAILED; - статус заказа изменится на
REFUNDED.
Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:
1. Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
2. Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа
Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй. Возврат прошел успешно, если статус заказа изменился REFUNDED.
Поллинг статуса операции
Настройте регулярную отправку запросов о статусе операции /operations/{external_operation_id} к бэкенду Яндекс Пэй. Возврат прошел успешно, если статус операции возврата изменился на SUCCESS.

-
Бэкенд продавца (Merchant Back) запрашивает статус заказа у бэкенда Яндекс Пэй с помощью метода /orders/{order_id}.
-
Бэкенд Яндекс Пэй (YaPay Back) возвращает статус заказа.
Важно
Частичный возврат доступен только для заказов в статусе
CAPTUREDилиPARTIALLY_REFUNDED. -
Бэкенд продавца отправляет запрос на частичный возврат с помощью метода v2/orders/{order_id}/refund. В запросе рекомендуем задать параметр
externalOperationId— в дальнейшем его можно использовать для отслеживания статуса операции. -
В ответ бэкенд Яндекс Пэй возвращает данные операции и статус:
PENDING— возврат в процессе;SUCCESS— возвращен;FAILED— ошибка при проведении возврата.
Если операция прошла успешно, заказ перейдет в статус PARTIALLY_REFUNDED или REFUNDED. Отслеживать статус частичного возврата можно через:
Нотификации
Бэкенд Яндекс Пэй отправит уведомление, если:
- статус операции изменится на
SUCCESSилиFAILED; - статус заказа изменится на
PARTIALLY_REFUNDEDилиREFUNDED.
Для оповещения об изменениях статуса заказа или операции настройте обратный вызов (/webhook) от бэкенда Яндекс Пэй:
1. Укажите публично доступный HTTPS URL-адрес бэкенда магазина в поле Callback URL в личном кабинете Яндекс Пэй в разделе Настройки.
2. Настройте бэкенд магазина таким образом, чтобы он принимал запросы от бэкенда Яндекс Пэй. Подробнее о требованиях читайте в документации Merchant API.
Поллинг статуса заказа
Настройте регулярную отправку запросов о статусе заказа /orders/{order_id} к бэкенду Яндекс Пэй. Возврат прошел успешно, если статус заказа изменился на PARTIALLY_REFUNDED или REFUNDED.
Поллинг статуса операции
Настройте регулярную отправку запросов о статусе операции /operations/{external_operation_id} к бэкенду Яндекс Пэй. Частичный возврат прошел успешно, если статус операции возврата изменился на SUCCESS.
Статусы, которые мы высылаем в интеграции
Примечание
Статусы AUTHORIZED и VOIDED в текущей интеграции не используются.
Статусы при проведении оплаты:
|
|
Оплата еще в процессе, нужно запросить статус платежа позже. Не отправляется в нотификации. |
|
|
Оплата завершилась неудачно. Терминальный неуспешный статус. |
|
|
Оплата еще в процессе, идет проверка карты. |
|
|
Оплата совершена, денежные средства у клиента списаны. Терминальный успешный статус. |
Статусы при проведении возврата:
|
|
Процедура возврата неуспешна. Терминальный неуспешный статус. |
|
|
Возврат совершен. Терминальный успешный статус. |
|
|
Частичный возврат совершен. Терминальный успешный статус. |
Сценарии тестирования механики
Для качественной работы сервиса протестируйте его в тестовой и боевой среде перед приемом платежей пользователей.
Если вы настроили интеграцию по API Яндекс Пэй, в ходе тестирования рекомендуем использовать тестовые сценарии:
|
Сценарий |
Действия |
Ожидаемый результат |
Среда |
|
Успешная оплата с последующим клиром по инициативе продавца |
|
|
Test, Prod |
|
Успешная оплата с отменой покупки до клира средств |
|
|
Test, Prod |
|
Успешная оплата с частичным клиром средств |
|
|
Test, Prod |
|
Успешная оплата с частичным возвратом после клира средств |
|
|
Test, Prod |
|
Успешная оплата с полным возвратом после клира средств |
|
|
Test, Prod |
|
Проверка ежедневного отчета о продажах |
Проведите и оставьте без возврата успешные продажи на сумму не менее 500 рублей. |
|
Prod |