Тестирование
Перед приемом платежей пользователей рекомендуем протестировать сервис:
Совет
Для знакомства с платежными механиками API Яндекс Пэй используйте готовую Postman-коллекцию.
Тестирование сервиса Яндекс Пэй и Сплит
Чтобы начать тестирование сервиса Яндекс Пэй и Сплит, необходимо переключить настройки на тестовый контур. Шаги тестирования отличаются в зависимости от вида интеграции:
Внимание
Тестирование проводится в тестовом окружении (Sandbox). В данном случае запросы к API сервиса Яндекс Пэй отправляются на https://sandbox.pay.yandex.ru.
-
В личном кабинете откройте раздел Настройки.
-
Включите опцию Тестовые данные.
-
Задайте тестовое значение Callback URL.
-
Проверьте значение ключа Ключ Merchant API — в тестовой среде оно должно быть равно значению Merchant ID.
-
Установите тестовое окружение в параметрах SDK (Web, Android, iOS).
-
Установите элементы фронтенда SDK и проведите тестовый платеж. Доступные сценарии оплаты см. в разделе Эмуляция результатов оплаты.
Примечание
Для авторизации используется реальный аккаунт, но банковская карта для оплаты будет предложена из списка тестовых карт.
Убедитесь, что платеж тестовый: в адресе ссылки на оплату будет префикс
sandbox. Например:https://sandbox.pay.ya.ru/o/nxPUqR. -
Получите SMS с кодом авторизации на номер телефона, привязанный к аккаунту покупателя.
-
Введите код из SMS. Произойдет тестовая оплата покупки и отобразится страница успешной оплаты.
Примечание
На данном этапе в боевых условиях происходит эквайринг в банке выбранной карты. В тестовой среде эквайринг имитируется программным способом.
-
Выполните частичный возврат одного товара или части стоимости товара из тестового заказа.
-
Выполните полный возврат товара из тестового заказа.
Внимание
Тестирование проводится в тестовом окружении (Sandbox). В данном случае запросы к API сервиса Яндекс Пэй отправляются на https://sandbox.pay.yandex.ru.
-
В личном кабинете откройте раздел Настройки.
-
Включите опцию Тестовые данные.
-
Задайте тестовое значение Callback URL.
-
Проверьте значение ключа Ключ Merchant API — в тестовой среде оно должно быть равно значению Merchant ID.
-
Выберите способ оплаты и проведите тестовый платеж. Доступные сценарии оплаты см. в разделе Эмуляция результатов оплаты.
Примечание
Для авторизации используется реальный аккаунт, но банковская карта для оплаты будет предложена из списка тестовых карт.
Убедитесь, что платеж тестовый: в адресе ссылки на оплату будет префикс
sandbox. Например:https://sandbox.pay.ya.ru/o/nxPUqR. -
Получите SMS с кодом авторизации на номер телефона, привязанный к аккаунту покупателя.
-
Введите код из SMS. Произойдет тестовая оплата покупки и отобразится страница успешной оплаты.
Примечание
На данном этапе в боевых условиях происходит эквайринг в банке выбранной карты. В тестовой среде эквайринг имитируется программным способом.
-
Выполните частичный возврат одного товара или части стоимости товара из тестового заказа.
-
Выполните полный возврат товара из тестового заказа.
Внимание
Тестирование проводится в тестовом окружении (Sandbox). В данном случае запросы к API сервиса Яндекс Пэй отправляются на https://sandbox.pay.yandex.ru.
Тестирование прямого QR
Для тестирования прямого QR:
-
Создайте тестовый заказ с помощью запроса
https://sandbox.pay.yandex.ru/api/merchant/v1/ordersи получите ссылку на оплату, которая есть в ответе на запрос. -
Преобразуйте полученную ссылку на оплату в QR-код. Для этого можно использовать сторонний сервис, например QR Code Generator.
-
Распечатайте QR-код или выведите его на экран кассовой программы.
-
Считайте с QR-кода ссылку на оплату с помощью камеры смартфона или приложения Яндекс Пэй и перейдите к форме оплаты:
- Если приложение Яндекс Пэй не установлено, то после сканирования QR-кода процесс оплаты происходит в браузере. При этом может потребоваться авторизация в Яндекс ID.
- Если приложение Яндекс Пэй установлено, то после сканирования QR-кода процесс оплаты происходит в приложении.
-
В форме оплаты выберите любой способ оплаты (оплата сразу с кешбэком или частями в Сплит). Доступные сценарии оплаты см. в разделе Эмуляция результатов оплаты.
Примечание
Для авторизации используется реальный аккаунт, но банковская карта для оплаты будет предложена из списка тестовых карт.
Убедитесь, что платеж тестовый: в адресе ссылки на оплату будет префикс
sandbox. Например:https://sandbox.pay.ya.ru/o/nxPUqR. -
Получите SMS с кодом авторизации на номер телефона, привязанный к аккаунту покупателя.
-
Введите код из SMS. Произойдет тестовая оплата покупки и отобразится страница успешной оплаты.
Примечание
На данном этапе в боевых условиях происходит эквайринг в банке выбранной карты. В тестовой среде эквайринг имитируется программным способом.
-
После успешной оплаты в кассовой программе должен сформироваться чек.
-
Выполните частичный возврат одного товара или части стоимости товара из тестового заказа.
-
Выполните полный возврат товара из тестового заказа.
Тестирование обратного QR
Для тестирования обратного QR:
-
Авторизуйтесь в Яндекс ID под логином пользователя.
-
Откройте страницу с обратным QR-кодом.
-
Считайте QR-код кассовым сканером и через бэкенд магазина создайте заказ с помощью запроса
https://sandbox.pay.yandex.ru/api/merchant/v1/orders.После создания заказа страница с QR-кодом автоматически обновится и на ней отобразится форма оплаты Яндекс Пэй.
-
В форме оплаты выберите любой способ оплаты (оплата сразу с кешбэком или частями в Сплит). Банковская карта для оплаты выбирается из списка тестовых карт.
-
Оплатите тестовый заказ и проверьте, что на бэкенд магазина пришло уведомление об оплате. Доступные сценарии оплаты см. в разделе Эмуляция результатов оплаты.
-
После успешной оплаты в кассовой программе должен сформироваться чек.
Модуль «1С-Битрикс»
Чтобы проверить обработку платежей с новой платежной системы включите тестовый режим:
- В административной панели 1С-Битрикс перейдите к редактированию платежной системы Яндекс Пэй (Магазин → Настройки → Платежные системы → Яндекс Пэй → Изменить).
- В параметрах платежной системы включите опцию Режим песочницы.
- В личном кабинете Яндекс Пэй включите опцию Тестовые данные, нажмите Добавить Callback URL
Тестовыйи укажите Callback URL для режима отладки, который указан в административной панели 1С-Битрикс в параметрах платежной системы. - Создайте заказ в публичной части сайта, выбрав платежную систему Яндекс Пэй, и оплатите одной из тестовых карт. Доступные сценарии оплаты см. в разделе Эмуляция результатов оплаты.
- Проверить работу возврата можно в форме просмотра заказа (Магазин → Яндекс Пэй) административной панели 1С-Битрикс.
Модуль «1С:Фитнес клуб»
-
В 1С:Фитнес клуб включите опцию Тестовый режим для начала тестирования.
-
Выполните несколько платежей для проверки корректности настроек и работы вашей интеграции. Доступные сценарии оплаты см. в разделе Эмуляция результатов оплаты.
-
После успешного проведения тестовых платежей, которые включают в себя хотя бы одну оплату и один возврат, вы можете переключиться на боевой режим.
-
Отключите опцию Тестовый режим для начала обработки реальных платежей.
-
После завершения проверок отправьте сообщение на адрес электронной почты, с которого пришло подтверждение активации тестовой версии продукта: «Мы провели тестовые платежи: Оплату и возврат. Все прошло успешно. Просим вас активировать полную версию Яндекс Пэй».
Эмуляция результатов оплаты
В процессе тестирования с помощью эмулятора оплаты вы можете проверить различные сценарии обработки платежа.
Можно эмулировать следующие результаты:
|
Результат |
Как воспроизвести |
|
Карта не подходит |
В форме оплаты выберите карту VISA — в результате отобразится ошибка «Карта не подходит», можно выбрать другую карту для оплаты. |
|
Оплата не прошла |
|
|
Недостаточно средств |
|
|
Оплата прошла успешно |
|
Тестирование сервиса QR‑код от Яндекс Пэй
Чтобы протестировать сервис QR‑код от Яндекс Пэй:
Важно
Протестировать прием платежей в кассовом ПО можно, если вы подключили QR‑код от Яндекс Пэй в настройках кассового ПО.
-
Создайте заказ в вашем кассовом ПО и выберите способ оплаты с помощью QR‑кода от Яндекс Пэй.
-
Отсканируйте QR-табличку камерой смартфона и подтвердите оплату с помощью СБП.
-
Проверьте, что оплата прошла успешно.
-
Если у вас подключена оплата в Сплит, создайте заказ и аналогично шагам выше оплатите заказ в Сплит.
-
Проверьте, что оплата прошла успешно.
-
Выполните возврат средств в вашем кассовом ПО.
Примечание
Если кассовое ПО не поддерживает возвраты, оформите возврат в разделе Платежи личного кабинета Яндекс Пэй. Как оформить возврат см. подробнее в разделе Возврат платежей.
Важно
Протестировать прием платежей в личном кабинете вы можете, если в заявке на подключение сервиса, вы указали, что не используете кассовое ПО или используете ПО, которого нет в списке поддерживаемого.
- Перейдите в раздел Платежи личного кабинета Яндекс Пэй и примите оплату по инструкции в разделе Прием платежа по QR‑коду от Яндекс Пэй.
- Выполните возврат средств по инструкции в разделе Возврат платежей.
Совет
Подробный процесс работы с заказом см. в разделе Самостоятельная интеграция.
Для тестирования Cash Register API доступна sandbox-среда, которая позволяет проверить интеграцию без реальных платежей. В ней все методы API работают так же, как в боевой среде.
Особенности sandbox:
- Тестовые ключи отличаются от боевых.
- Базовый URL:
https://sandbox.pay.yandex.ru/api/merchant/cash-register. - Включена автоматическая оплата — после создания заказа оплата происходит автоматически, переходить по
paymentUrlне требуется.
Настройка тестовой среды в личном кабинете
-
В личном кабинете откройте раздел Настройки.
-
Включите опцию Тестовая среда.

-
В разделе Тестирование в Sandbox скопируйте тестовые ключи и используйте их для аутентификации запросов:
- YandexPayApiKey — в заголовке
Authorization: Api-Key <ключ>; - SoftwareAuthorization — в заголовке
Software-Authorization: <ключ>.
- YandexPayApiKey — в заголовке
-
Настройте Callback URL для получения нотификаций о статусе заказа и операций.
-
Вы также можете посмотреть тестовые платежи в личном кабинете. Подробнее см. в разделе Просмотр тестовых платежей.
Оформление заказа с помощью статического QR-кода
-
Получите
qrcIdметодом /accounts. -
Создайте заказ методом /orders с одной из тестовых сумм для эмуляции результатов оплаты.
Тестовые суммы
Сумма
Результат
10 000
Успешная оплата через СБП, карту или в Сплит.
Статус платежа:
paymentStatus: "CAPTURED".Статус операции:
operationType: "AUTHORIZE",status: "SUCCESS".10 001
Техническая ошибка.
Статус платежа:
paymentStatus: "FAILED",reason: "WRONG_ENVIRONMENT".Статус операции:
operationType: "AUTHORIZE",status: "FAIL".10 002
Недостаточно средств.
Статус платежа:
paymentStatus: "FAILED",reason: "NOT_ENOUGH_FUNDS".Статус операции:
operationType: "AUTHORIZE",status: "FAIL".10 004
Вечный статус
PENDING. Используйте для проверки поллинга и деактивации статического QR-кода.Статус платежа:
paymentStatus: "PENDING"— заказ остается в этом статусе до деактивации.Статус операции:
operationType: "AUTHORIZE",status: "PENDING".Для отображения Сплита в способах оплаты передайте
availablePaymentMethods: ["CARD", "SPLIT"]. -
Яндекс Пэй вернет поле
paymentUrlс уникальной ссылкой на оплату.В sandbox оплата произойдет автоматически — переходить по ссылке не требуется.
В боевой среде перейдите по ссылке и оплатите заказ через СБП, карту или в Сплит.
-
Проверьте статус заказа одним из способов:
-
Нотификации (рекомендуется) — дождитесь нотификации /webhook с событием
ORDER_STATUS_UPDATED. -
Поллинг — опрашивайте статус методом /orders/{orderId}. Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.
Ожидаемый результат см. в столбце Результат в таблице тестовых сумм.
-
Оформление заказа с помощью динамического QR-кода
-
Создайте заказ методом /orders/dynamic с одной из тестовых сумм для эмуляции результатов оплаты. Получать
qrcIdне требуется — QR-код генерируется автоматически.Тестовые суммы
Сумма
Результат
10 000
Успешная оплата через СБП, карту или в Сплит.
Статус платежа:
paymentStatus: "CAPTURED".Статус операции:
operationType: "AUTHORIZE",status: "SUCCESS".10 001
Техническая ошибка.
Статус платежа:
paymentStatus: "FAILED",reason: "WRONG_ENVIRONMENT".Статус операции:
operationType: "AUTHORIZE",status: "FAIL".10 002
Недостаточно средств.
Статус платежа:
paymentStatus: "FAILED",reason: "NOT_ENOUGH_FUNDS".Статус операции:
operationType: "AUTHORIZE",status: "FAIL".10 004
Вечный статус
PENDING. Используйте для проверки поллинга и деактивации статического QR-кода.Статус платежа:
paymentStatus: "PENDING"— заказ остается в этом статусе до деактивации.Статус операции:
operationType: "AUTHORIZE",status: "PENDING".Для отображения Сплита в способах оплаты передайте
availablePaymentMethods: ["CARD", "SPLIT"]. -
Яндекс Пэй вернет поле
paymentUrlс уникальной ссылкой на оплату.В sandbox оплата произойдет автоматически — переходить по ссылке не требуется.
В боевой среде перейдите по ссылке и оплатите заказ через СБП, карту или в Сплит.
-
Проверьте статус заказа одним из способов:
-
Нотификации (рекомендуется) — дождитесь нотификации /webhook с событием
ORDER_STATUS_UPDATED. -
Поллинг — опрашивайте статус методом /orders/{orderId}. Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.
Ожидаемый результат см. в столбце Результат в таблице тестовых сумм.
-
Поллинг и деактивация (прерывание оплаты)
Деактивация доступна только для статических QR-кодов.
-
Получите
qrcIdметодом /accounts. -
Создайте заказ методом /orders на сумму 10 004 рубля.
-
Деактивация доступна только для заказов в статусе
paymentStatus: "PENDING".Проверьте статус заказа методом /orders/{orderId}.
-
Настройте поллинг:
-
Первый запрос — через 5–10 секунд после создания заказа.
-
Последующие запросы — не чаще одного раза в секунду.
-
-
Убедитесь, что заказ остается в статусе
paymentStatus: "PENDING"и деактивируйте его методом /orders/{orderId}/deactivate. -
Проверьте статусы:
- операции:
operationType: "AUTHORIZE",status: "FAIL"; - заказа:
paymentStatus: "FAILED",reason: "Payment rolled back by merchant".
- операции:
Полный возврат
-
Создайте и оплатите заказ на сумму 10 000 рублей с помощью статического или динамического QR-кода.
-
Возврат доступен только для заказов в статусе
paymentStatus: "CAPTURED"илиpaymentStatus: "PARTIALLY_REFUNDED".Проверьте статус заказа методом /orders/{orderId}.
-
Выполните полный возврат методом /orders/{orderId}/refund с параметрами:
externalOperationId— уникальный идентификатор операции на стороне продавца. По нему можно узнать статус операции и он служит токеном идемпотентности.refundAmount— сумма к возврату. Для полного возврата укажите сумму заказа (10 000 рублей).refundCart— корзина возвращаемых позиций. Для полного возврата можно не указывать.
-
Проверьте статус операции возврата одним из способов:
-
Нотификации (рекомендуется) — дождитесь нотификации /webhook с событием
OPERATION_STATUS_UPDATED. -
Поллинг — опрашивайте статус методом /orders/{orderId}. Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду. Находите нужную операцию по
externalOperationId, который вы передали в /orders/{orderId}/refund.
Ожидаемый результат:
operationType: "REFUND",status: "SUCCESS". -
-
Проверьте статус заказа одним из способов:
-
Нотификации (рекомендуется) — дождитесь нотификации /webhook с событием
ORDER_STATUS_UPDATED. -
Поллинг — опрашивайте статус методом /orders/{orderId}. Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.
Ожидаемый результат:
paymentStatus: "REFUNDED". -
Частичный возврат
-
Создайте и оплатите заказ с несколькими позициями на сумму 10 000 рублей с помощью статического или динамического QR-кода.
При формировании корзины используйте одну из логик: базовую без цены за единицу товара
CartItem.unitPriceили расширенную — сCartItem.unitPrice.От корзины при создании заказа зависит будущая логика возврата.
-
Возврат доступен только для заказов в статусе
paymentStatus: "CAPTURED"илиpaymentStatus: "PARTIALLY_REFUNDED".Проверьте статус заказа методом /orders/{orderId}.
-
Выполните частичный возврат методом /orders/{orderId}/refund с параметрами:
-
externalOperationId— уникальный идентификатор операции на стороне продавца. По нему можно узнать статус операции и он служит токеном идемпотентности. -
refundAmount— сумма к возврату. -
refundCart— корзина возвращаемых позиций. Обязательна для частичного возврата.Формат
refundCartзависит от логики возвратов. Подробнее см. в разделах Две логики возвратов и Примеры возвратов.
-
-
Проверьте статус операции возврата одним из способов:
-
Нотификации (рекомендуется) — дождитесь нотификации /webhook с событием
OPERATION_STATUS_UPDATED. -
Поллинг — опрашивайте статус методом /orders/{orderId}. Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду. Находите нужную операцию по
externalOperationId, который вы передали в /orders/{orderId}/refund.
Ожидаемый результат:
operationType: "REFUND",status: "SUCCESS". -
-
Проверьте статус заказа одним из способов:
-
Нотификации (рекомендуется) — дождитесь нотификации /webhook с событием
ORDER_STATUS_UPDATED. -
Поллинг — опрашивайте статус методом /orders/{orderId}. Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.
Ожидаемый результат:
paymentStatus: "PARTIALLY_REFUNDED". -
Просмотр тестовых платежей
Вы можете просматривать в личном кабинете Яндекс Пэй список платежей, которые были созданы в тестовой среде, и подробную информацию о них. Для этого:
-
В разделе Настройки включите для вашего магазина опцию Тестовые данные.
-
Перейдите в раздел Платежи — в нем отобразится список тестовых платежей и сообщение о том, что включен режим тестовой среды:

Чтобы скрыть тестовые платежи, отключите тестовую среду. Это можно сделать двумя способами:
- в разделе Платежи — в правом верхнем углу нажмите кнопку Выключить;
- в разделе Настройки — выключите для вашего магазина опцию Тестовые данные.
Примечание
Повторно переключиться на список тестовых платежей можно только, включив тестовую среду в разделе Настройки.