---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.4
alternate:
  - https://pay.yandex.ru/docs/ru/testing.md
  - href: ru/testing.md
    type: text/markdown
    title: Markdown version
  - href: llms.txt
    type: text/markdown
    title: llms.txt
title: "Тестирование Яндекс\_Пэй\_— проверка интеграции без рисков | Документация"
description: "Тестируйте платежи в sandbox-окружении. Тестовые карты, эмуляция ошибок и отладка интеграции Яндекс\_Пэй."
---
> **Documentation Index:** Fetch the complete configuration index at https://pay.yandex.ru/docs/ru/llms.txt


# Тестирование


Перед приемом платежей пользователей рекомендуем протестировать сервис:

- [Яндекс Пэй и Сплит](#pay-split)
- [QR‑код от Яндекс Пэй](#qr)


## Тестирование сервиса Яндекс Пэй и Сплит {#pay-split} 


{% note tip %}

Для знакомства с платежными механиками [API Яндекс Пэй](https://pay.yandex.ru/docs/ru/custom/backend/yandex-pay-api/index.md) используйте готовую Postman-коллекцию.

<a class="custom-g-button custom-g-button_view_normal custom-g-button_size_l" href="https://doc-static.yandex.net/src/support/yandex_pay/postman/yandex-pay-api_postman-collection_v5_22-12-2025.zip" target="_blank" download>
  <span class="g-button__text">
    Скачать коллекцию
  </span>
</a>

{% endnote %}


Чтобы начать тестирование сервиса Яндекс Пэй и Сплит, необходимо переключить настройки на тестовый контур. Шаги тестирования отличаются в зависимости от вида интеграции:

{% list tabs %}


- Онлайн-магазины

    <!-- source: ru/_includes/testing.md -->
    {% note alert %}

    Тестирование проводится в тестовом окружении (Sandbox). В данном случае запросы к API сервиса Яндекс Пэй отправляются на `https://sandbox.pay.yandex.ru`.

    {% endnote %}
    <!-- endsource: ru/_includes/testing.md -->

    1. В личном кабинете откройте раздел **Настройки**.
    1. Включите опцию **Тестовые данные**.
    1. Задайте тестовое значение [Callback URL](https://pay.yandex.ru/docs/ru/console/settings-pay-split.md#callback-settings).
    1. Проверьте значение ключа **Ключ Merchant API** — в тестовой среде оно должно быть равно значению [Merchant ID](https://pay.yandex.ru/docs/ru/console/settings-pay-split.md#merchant-id).

       ![Ключ Merchant API равен Merchant ID в тестовой среде](_assets/api-key-test-merchant-api.png){.c-screenshot width=90%}
       
    1. Установите тестовое окружение в параметрах SDK ([Web](https://pay.yandex.ru/docs/ru/custom/web-sdk/index.md#payment-data), [Android](https://pay.yandex.ru/docs/ru/custom/mobile-sdk/legacy/android-sdk/url-flow.md#url-flow-init-sdk), [iOS](https://pay.yandex.ru/docs/ru/custom/mobile-sdk/legacy/ios-sdk/url-flow.md#sdk-initialization)).
    1. [Установите](https://pay.yandex.ru/docs/ru/custom/integration-guide.md#plan) элементы фронтенда SDK и проведите тестовый платеж. Доступные сценарии оплаты см. в разделе [Эмуляция результатов оплаты](#emulation).

       <!-- source: ru/_includes/testing.md -->
       {% note info %}

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

       Убедитесь, что платеж тестовый: в адресе ссылки на оплату будет префикс `sandbox`. Например: `https://sandbox.pay.ya.ru/o/nxPUqR`.

       {% endnote %}
       <!-- endsource: ru/_includes/testing.md -->

    1. Получите SMS с кодом авторизации на номер телефона, привязанный к аккаунту покупателя.
    1. Введите код из SMS. Произойдет тестовая оплата покупки и отобразится страница успешной оплаты.

       <!-- source: ru/_includes/testing.md -->
       {% note info %}

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

       {% endnote %}
       <!-- endsource: ru/_includes/testing.md -->

    1. [Выполните частичный возврат](https://pay.yandex.ru/docs/ru/custom/refund-payments.md#refund) одного товара или части стоимости товара из тестового заказа.
    1. [Выполните полный возврат](https://pay.yandex.ru/docs/ru/custom/refund-payments.md#refund) товара из тестового заказа.

- Онлайн-магазины (без SDK)

    <!-- source: ru/_includes/testing.md -->
    {% note alert %}

    Тестирование проводится в тестовом окружении (Sandbox). В данном случае запросы к API сервиса Яндекс Пэй отправляются на `https://sandbox.pay.yandex.ru`.

    {% endnote %}
    <!-- endsource: ru/_includes/testing.md -->

    1. В личном кабинете откройте раздел **Настройки**.
    1. Включите опцию **Тестовые данные**.
    1. Задайте тестовое значение [Callback URL](https://pay.yandex.ru/docs/ru/console/settings-pay-split.md#callback-settings).
    1. Проверьте значение ключа **Ключ Merchant API** — в тестовой среде оно должно быть равно значению [Merchant ID](https://pay.yandex.ru/docs/ru/console/settings-pay-split.md#merchant-id).

       ![Ключ Merchant API равен Merchant ID в тестовой среде](_assets/api-key-test-merchant-api.png){.c-screenshot width=90%}

    1. Выберите способ оплаты и проведите тестовый платеж. Доступные сценарии оплаты см. в разделе [Эмуляция результатов оплаты](#emulation).

       <!-- source: ru/_includes/testing.md -->
       {% note info %}

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

       Убедитесь, что платеж тестовый: в адресе ссылки на оплату будет префикс `sandbox`. Например: `https://sandbox.pay.ya.ru/o/nxPUqR`.

       {% endnote %}
       <!-- endsource: ru/_includes/testing.md -->

    1. Получите SMS с кодом авторизации на номер телефона, привязанный к аккаунту покупателя.
    1. Введите код из SMS. Произойдет тестовая оплата покупки и отобразится страница успешной оплаты.

       <!-- source: ru/_includes/testing.md -->
       {% note info %}

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

       {% endnote %}
       <!-- endsource: ru/_includes/testing.md -->

    1. [Выполните частичный возврат](https://pay.yandex.ru/docs/ru/custom/refund-payments.md#partial-refund) одного товара или части стоимости товара из тестового заказа.
    1. [Выполните полный возврат](https://pay.yandex.ru/docs/ru/custom/refund-payments.md) товара из тестового заказа.


- Офлайн-магазины

    <!-- source: ru/_includes/testing.md -->
    {% note alert %}

    Тестирование проводится в тестовом окружении (Sandbox). В данном случае запросы к API сервиса Яндекс Пэй отправляются на `https://sandbox.pay.yandex.ru`.

    {% endnote %}
    <!-- endsource: ru/_includes/testing.md -->

    Перед тестированием оплаты:

    1. В личном кабинете откройте раздел **Настройки**.
    1. Включите опцию **Тестовые данные**.
    1. Задайте тестовое значение [Callback URL](https://pay.yandex.ru/docs/ru/console/settings-pay-split.md#callback-settings).
    1. Проверьте значение ключа **Ключ Merchant API** — в тестовой среде оно должно быть равно значению [Merchant ID](https://pay.yandex.ru/docs/ru/console/settings-pay-split.md#merchant-id). Ключ необходимо передавать для каждого запроса в HTTP-заголовке `Authorization`.

       ![Ключ Merchant API равен Merchant ID в тестовой среде](_assets/api-key-test-merchant-api.png){.c-screenshot width=90%}

    <h3>Тестирование прямого QR</h3>

    Для тестирования прямого QR:
    1. Создайте тестовый заказ с помощью запроса `https://sandbox.pay.yandex.ru/api/merchant/v1/orders` и получите ссылку на оплату, которая есть в ответе на запрос.

    1. Преобразуйте полученную ссылку на оплату в QR-код. Для этого можно использовать сторонний сервис, например [QR Code Generator](https://goqr.me/api/).

    1. Распечатайте QR-код или выведите его на экран кассовой программы.

    1. Считайте с QR-кода ссылку на оплату с помощью камеры смартфона или приложения Яндекс Пэй и перейдите к форме оплаты:

        - Если приложение Яндекс Пэй не установлено, то после сканирования QR-кода процесс оплаты происходит в браузере. При этом может потребоваться авторизация в Яндекс ID.
        - Если приложение Яндекс Пэй установлено, то после сканирования QR-кода процесс оплаты происходит в приложении.

    1. В форме оплаты выберите любой способ оплаты (оплата сразу с кешбэком или частями в Сплит). Доступные сценарии оплаты см. в разделе [Эмуляция результатов оплаты](#emulation).

       <!-- source: ru/_includes/testing.md -->
       {% note info %}

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

       Убедитесь, что платеж тестовый: в адресе ссылки на оплату будет префикс `sandbox`. Например: `https://sandbox.pay.ya.ru/o/nxPUqR`.

       {% endnote %}
       <!-- endsource: ru/_includes/testing.md -->

    1. Получите SMS с кодом авторизации на номер телефона, привязанный к аккаунту покупателя.
    1. Введите код из SMS. Произойдет тестовая оплата покупки и отобразится страница успешной оплаты.

       <!-- source: ru/_includes/testing.md -->
       {% note info %}

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

       {% endnote %}
       <!-- endsource: ru/_includes/testing.md -->

    1. После успешной оплаты в кассовой программе должен сформироваться чек.
    1. [Выполните частичный возврат](https://pay.yandex.ru/docs/ru/custom/refund-payments.md#partial-refund) одного товара или части стоимости товара из тестового заказа.
    1. [Выполните полный возврат](https://pay.yandex.ru/docs/ru/custom/refund-payments.md) товара из тестового заказа.


    <h3>Тестирование обратного QR</h3>

    Для тестирования обратного QR:

    1. Авторизуйтесь в Яндекс ID под логином пользователя.

    1. Откройте [страницу с обратным QR-кодом](https://sandbox.pay.yandex.ru/web/p/user-qr).

    1. Считайте QR-код кассовым сканером и через бэкенд магазина создайте заказ с помощью запроса `https://sandbox.pay.yandex.ru/api/merchant/v1/orders`.

       После создания заказа [страница с QR-кодом](https://sandbox.pay.yandex.ru/web/p/user-qr) автоматически обновится и на ней отобразится форма оплаты Яндекс Пэй.

    1. В форме оплаты выберите любой способ оплаты (оплата сразу с кешбэком или частями в Сплит). Банковская карта для оплаты выбирается из списка тестовых карт.

    1. Оплатите тестовый заказ и проверьте, что на бэкенд магазина пришло уведомление об оплате. Доступные сценарии оплаты см. в разделе [Эмуляция результатов оплаты](#emulation).

    1. После успешной оплаты в кассовой программе должен сформироваться чек.



- CMS-модули

    <h3>Модуль «1С-Битрикс»</h3>

    Чтобы проверить обработку платежей с новой платежной системы включите тестовый режим:

    1. В административной панели 1С-Битрикс перейдите к редактированию платежной системы Яндекс Пэй (**Магазин** → **Настройки** → **Платежные системы** → **Яндекс Пэй** → **Изменить**).
    1. В параметрах платежной системы включите опцию **Режим песочницы**.
    1. В [личном кабинете](https://console.pay.yandex.ru/settings) Яндекс Пэй включите опцию **Тестовые данные**, нажмите **Добавить Callback URL `Тестовый`** и укажите Callback URL для режима отладки, который указан в административной панели 1С-Битрикс в параметрах платежной системы.
    1. Создайте заказ в публичной части сайта, выбрав платежную систему Яндекс Пэй, и оплатите одной из тестовых карт. Доступные сценарии оплаты см. в разделе [Эмуляция результатов оплаты](#emulation).
    1. Проверить работу возврата можно в форме просмотра заказа (**Магазин** → **Яндекс Пэй**) административной панели 1С-Битрикс.

    <h3>Модуль «1С:Фитнес клуб»</h3>

    1. В 1С:Фитнес клуб включите опцию **Тестовый режим** для начала тестирования.

    1. Выполните несколько платежей для проверки корректности настроек и работы вашей интеграции. Доступные сценарии оплаты см. в разделе [Эмуляция результатов оплаты](#emulation).

    1. После успешного проведения тестовых платежей, которые включают в себя хотя бы одну оплату и один возврат, вы можете переключиться на боевой режим.
    1. Отключите опцию **Тестовый режим** для начала обработки реальных платежей.
    1. После завершения проверок отправьте сообщение на адрес электронной почты, с которого пришло подтверждение активации тестовой версии продукта: «Мы провели тестовые платежи: Оплату и возврат. Все прошло успешно. Просим вас активировать полную версию Яндекс Пэй».


{% endlist %}

### Эмуляция результатов оплаты {#emulation}

{% note alert %}

На данный момент эмуляции оплат недоступны.

{% endnote %}

В процессе тестирования с помощью эмулятора оплаты вы можете проверить различные сценарии обработки платежа. 

Можно эмулировать следующие результаты:

 #|
|| **Результат** | **Как воспроизвести** ||
|| **Карта не подходит** | В форме оплаты выберите карту **VISA** — в результате отобразится ошибка «Карта не подходит», можно выбрать другую карту для оплаты.||
|| **Оплата не прошла** |
1. Создайте заказ на сумму 10 001 руб.
2. В форме оплаты выберите карту **МИР** и оплатите заказ. 
В результате отобразится ошибка «Оплата не прошла», статус заказа изменится на `FAILED`.||
|| **Недостаточно средств** |
1. Создайте заказ на сумму 10 002 руб.
2. В форме оплаты выберите карту **МИР** и оплатите заказ. 
В результате отобразится ошибка «Недостаточно средств», можно выбрать другую карту для оплаты.||
|| **Оплата прошла успешно** |
1. Создайте заказ на любую сумму, кроме 10 001 и 10 002 руб.
2. В форме оплаты выберите карту **МИР** и оплатите заказ. 
В результате отобразится сообщение «Оплата прошла», статус заказа изменится на `CAPTURED`.||
|#


## Тестирование сервиса QR‑код от Яндекс Пэй {#qr}

Чтобы протестировать сервис QR‑код от Яндекс Пэй:

<!-- source: ru/_includes/testing.md -->
{% list tabs %}

- В кассовом ПО

  {% note warning %}

  Протестировать прием платежей в кассовом ПО можно, если вы подключили QR‑код от Яндекс Пэй в настройках кассового ПО.

  {% endnote %}
  1. Создайте заказ в вашем кассовом ПО и выберите способ оплаты с помощью QR‑кода от Яндекс Пэй.
  1. Отсканируйте QR-табличку камерой смартфона и подтвердите оплату с помощью СБП.
  1. Проверьте, что оплата прошла успешно.
  1. Если у вас подключена оплата в Сплит, создайте заказ и аналогично шагам выше оплатите заказ в Сплит.
  1. Проверьте, что оплата прошла успешно.
  1. Выполните возврат средств в вашем кассовом ПО.

     {% note info %}

     Если кассовое ПО не поддерживает возвраты, оформите возврат в разделе [Платежи](https://console.pay.yandex.ru/payments) личного кабинета Яндекс Пэй. Как оформить возврат см. подробнее в разделе [Возврат платежей](https://pay.yandex.ru/docs/ru/custom/refund-payments.md).

     {% endnote %}

- В личном кабинете Яндекс Пэй

  {% note warning %}

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

  {% endnote %}

  1. Перейдите в раздел [Платежи](https://console.pay.yandex.ru/payments) личного кабинета Яндекс Пэй и примите оплату по инструкции в разделе [Прием платежа](https://pay.yandex.ru/docs/ru/console/create-link.md#qr).
  1. Выполните возврат средств по инструкции в разделе [Возврат платежей](https://pay.yandex.ru/docs/ru/custom/refund-payments.md).

- В Cash Register API

  {% note tip %}

  Подробный процесс работы с заказом см. в разделе [Самостоятельная интеграция](https://pay.yandex.ru/docs/ru/qr-code/api.md#how-to).

  {% endnote %}
  
  <!-- source: ru/_includes/testing-qr-api.md -->
  Для тестирования Cash Register API доступна sandbox-среда, которая позволяет проверить интеграцию без реальных платежей. В ней все методы API работают так же, как в боевой среде.

  **Особенности sandbox:**

  - Тестовые ключи отличаются от боевых.
  - Базовый URL: `https://sandbox.pay.yandex.ru/api/merchant/cash-register`.
  - Включена автоматическая оплата — после создания заказа оплата происходит автоматически, переходить по `paymentUrl` не требуется.

  #### Настройка тестовой среды в личном кабинете {#sandbox-settings}

  1.  В [личном кабинете](https://console.pay.yandex.ru/settings) откройте раздел **Настройки**.

  1.  Включите опцию **Тестовая среда**.

      ![Настройки sandbox](_assets/test-qr-settings.png){.c-screenshot width=400}

  1.  В разделе **Тестирование в Sandbox** скопируйте тестовые ключи и используйте их для [аутентификации запросов](https://pay.yandex.ru/docs/ru/qr-code/api.md#auth):
      - **YandexPayApiKey** — в заголовке `Authorization: Api-Key <ключ>`;
      - **SoftwareAuthorization** — в заголовке `Software-Authorization: <ключ>`.

  1.  Настройте [Callback URL](https://pay.yandex.ru/docs/ru/qr-code/api.md#callback-settings) для получения [нотификаций](https://pay.yandex.ru/docs/ru/qr-code/api.md#webhook) о статусе заказа и операций.

  1.  Вы также можете посмотреть тестовые платежи в личном кабинете. Подробнее см. в разделе [Просмотр тестовых платежей](https://pay.yandex.ru/docs/ru/testing.md#test-payments).

  #### Оформление заказа с помощью статического QR-кода {#test-static-qr}

  1.  Получите `qrcId` методом [/accounts](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/QR-tablichki/getAccounts.md).

  1.  Создайте заказ методом [/orders](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/createOrder.md) с одной из тестовых сумм для эмуляции результатов оплаты.

      {% cut "Тестовые суммы" %}

      #|
      || **Сумма** | **Результат** ||
      || 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"`. ||
      |#

      {% endcut %}

      Для отображения Сплита в способах оплаты передайте `availablePaymentMethods: ["CARD", "SPLIT"]`.

  1.  Яндекс Пэй вернет поле `paymentUrl` с уникальной ссылкой на оплату.

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

      В боевой среде перейдите по ссылке и оплатите заказ через СБП, карту или в Сплит.

  1.  Проверьте статус заказа одним из способов:

      - Нотификации (рекомендуется) — дождитесь нотификации [/webhook](https://pay.yandex.ru/docs/ru/custom/backend/merchant-api/webhook.md) с событием `ORDER_STATUS_UPDATED`.

      - Поллинг — опрашивайте статус методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md). Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.

      Ожидаемый результат см. в столбце **Результат** в таблице тестовых сумм.

  #### Оформление заказа с помощью динамического QR-кода {#test-dynamic-qr}

  1.  Создайте заказ методом [/orders/dynamic](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/createDynamicOrder.md) с одной из тестовых сумм для эмуляции результатов оплаты. Получать `qrcId` не требуется — QR-код генерируется автоматически.

      {% cut "Тестовые суммы" %}

      #|
      || **Сумма** | **Результат** ||
      || 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"`. ||
      |#

      {% endcut %}

      Для отображения Сплита в способах оплаты передайте `availablePaymentMethods: ["CARD", "SPLIT"]`.

  1.  Яндекс Пэй вернет поле `paymentUrl` с уникальной ссылкой на оплату.

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

      В боевой среде перейдите по ссылке и оплатите заказ через СБП, карту или в Сплит.

  1.  Проверьте статус заказа одним из способов:

      - Нотификации (рекомендуется) — дождитесь нотификации [/webhook](https://pay.yandex.ru/docs/ru/custom/backend/merchant-api/webhook.md) с событием `ORDER_STATUS_UPDATED`.

      - Поллинг — опрашивайте статус методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md). Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.

      Ожидаемый результат см. в столбце **Результат** в таблице тестовых сумм.

  #### Поллинг и деактивация (прерывание оплаты) {#test-polling-deactivate}

  Деактивация доступна только для статических QR-кодов.

  1. Получите `qrcId` методом [/accounts](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/QR-tablichki/getAccounts.md).

  1. Создайте заказ методом [/orders](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/createOrder.md) на сумму **10 004 рубля**.

  1. Деактивация доступна только для заказов в статусе `paymentStatus: "PENDING"`.

     Проверьте статус заказа методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md).

  1. Настройте поллинг:
     - Первый запрос — через 5–10 секунд после создания заказа.

     - Последующие запросы — не чаще одного раза в секунду.

  1. Убедитесь, что заказ остается в статусе `paymentStatus: "PENDING"` и деактивируйте его методом [/orders/{orderId}/deactivate](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/deactivateOrder.md).

  1. Проверьте статусы:
     - операции: `operationType: "AUTHORIZE"`, `status: "FAIL"`;
     - заказа: `paymentStatus: "FAILED"`, `reason: "Payment rolled back by merchant"`.

  #### Полный возврат {#test-full-refund}

  1. Создайте и оплатите заказ на сумму **10 000 рублей** с помощью [статического](#test-static-qr) или [динамического QR-кода](#test-dynamic-qr).

  1. Возврат доступен только для заказов в статусе `paymentStatus: "CAPTURED"` или `paymentStatus: "PARTIALLY_REFUNDED"`.

     Проверьте статус заказа методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md).

  1. Выполните полный возврат методом [/orders/{orderId}/refund](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/refundOrder.md) с параметрами:
     - `externalOperationId` — уникальный идентификатор операции на стороне продавца. По нему можно узнать статус операции и он служит токеном идемпотентности.
     - `refundAmount` — сумма к возврату. Для полного возврата укажите сумму заказа (**10 000 рублей**).
     - `refundCart` — корзина возвращаемых позиций. Для полного возврата можно не указывать.

  1. Проверьте статус операции возврата одним из способов:

     - Нотификации (рекомендуется) — дождитесь нотификации [/webhook](https://pay.yandex.ru/docs/ru/custom/backend/merchant-api/webhook.md) с событием `OPERATION_STATUS_UPDATED`.

     - Поллинг — опрашивайте статус методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md). Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду. Находите нужную операцию по `externalOperationId`, который вы передали в [/orders/{orderId}/refund](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/refundOrder.md).

     Ожидаемый результат: `operationType: "REFUND"`, `status: "SUCCESS"`.

  1. Проверьте статус заказа одним из способов:

     - Нотификации (рекомендуется) — дождитесь нотификации [/webhook](https://pay.yandex.ru/docs/ru/custom/backend/merchant-api/webhook.md) с событием `ORDER_STATUS_UPDATED`.

     - Поллинг — опрашивайте статус методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md). Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.

     Ожидаемый результат: `paymentStatus: "REFUNDED"`.

  #### Частичный возврат {#test-partial-refund}

  1. Создайте и оплатите заказ с несколькими позициями на сумму **10 000 рублей** с помощью [статического](#test-static-qr) или [динамического QR-кода](#test-dynamic-qr).

     При формировании корзины используйте [одну из логик](https://pay.yandex.ru/docs/ru/qr-code/api.md#refund-logics): **базовую** без цены за единицу товара `CartItem.unitPrice` или **расширенную** — с `CartItem.unitPrice`.

     От корзины при создании заказа зависит будущая логика возврата.

  1. Возврат доступен только для заказов в статусе `paymentStatus: "CAPTURED"` или `paymentStatus: "PARTIALLY_REFUNDED"`.

     Проверьте статус заказа методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md).

  1. Выполните частичный возврат методом [/orders/{orderId}/refund](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/refundOrder.md) с параметрами:
     - `externalOperationId` — уникальный идентификатор операции на стороне продавца. По нему можно узнать статус операции и он служит токеном идемпотентности.
     - `refundAmount` — сумма к возврату.
     - `refundCart` — корзина возвращаемых позиций. Обязательна для частичного возврата.

       Формат `refundCart` зависит от логики возвратов. Подробнее см. в разделах [Две логики возвратов](https://pay.yandex.ru/docs/ru/qr-code/api.md#refund-logics) и [Примеры возвратов](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/refundOrder.md#refund-examples).

  1. Проверьте статус операции возврата одним из способов:

     - Нотификации (рекомендуется) — дождитесь нотификации [/webhook](https://pay.yandex.ru/docs/ru/custom/backend/merchant-api/webhook.md) с событием `OPERATION_STATUS_UPDATED`.

     - Поллинг — опрашивайте статус методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md). Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду. Находите нужную операцию по `externalOperationId`, который вы передали в [/orders/{orderId}/refund](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/refundOrder.md).

     Ожидаемый результат: `operationType: "REFUND"`, `status: "SUCCESS"`.

  1. Проверьте статус заказа одним из способов:

     - Нотификации (рекомендуется) — дождитесь нотификации [/webhook](https://pay.yandex.ru/docs/ru/custom/backend/merchant-api/webhook.md) с событием `ORDER_STATUS_UPDATED`.

     - Поллинг — опрашивайте статус методом [/orders/{orderId}](https://pay.yandex.ru/docs/ru/custom/backend/cash-register/Zakazy/getOrder.md). Первый запрос через 5–10 секунд после создания заказа, далее не чаще раза в секунду.

     Ожидаемый результат: `paymentStatus: "PARTIALLY_REFUNDED"`.
  <!-- endsource: ru/_includes/testing-qr-api.md -->

{% endlist %}
<!-- endsource: ru/_includes/testing.md -->


## Просмотр тестовых платежей {#test-payments}

Вы можете просматривать в личном кабинете Яндекс Пэй список платежей, которые были созданы в тестовой среде, и подробную информацию о них. Для этого:

1. В разделе **Настройки** включите для вашего магазина опцию **Тестовые данные**.
2. Перейдите в раздел **Платежи** — в нем отобразится список тестовых платежей и сообщение о том, что включен режим тестовой среды:

   
   ![Список тестовых платежей в личном кабинете](_assets/test-payments.png){.c-screenshot width=90%}


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

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

{% note info %}

Повторно переключиться на список тестовых платежей можно только, включив тестовую среду в разделе **Настройки**.

{% endnote %}


