Тестирование выплат

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

Подготовка к тестированию

Шаг 1. Передайте менеджеру список IP-адресов

Передайте вашему менеджеру список IP-адресов (не более пяти), с которых вы будете делать тестовые выплаты. IP-адреса должны быть статическими.

Шаг 2. Получите нужные сертификаты

Получите нужные сертификаты для взаимодействия с Яндекс.Кассой.

Шаг 3. Дождитесь, когда у вас появится тестовый шлюз

Тестовый шлюз доступен в личном кабинете, и его можно выбрать по кнопке Все магазины и выплаты (в названии будет префикс test_).

Тестовый шлюз похож на настоящий. Главные отличия — он используется только для тестовых выплат и его счет обеспечения не надо пополнять.

Для тестирования вам нужно узнать agentId тестового шлюза и использовать его во всех запросах к Яндекс.Кассе.

Attention. У тестового и настоящего шлюза разные agentId. Для тестирования нельзя использовать agentId настоящего шлюза — Яндекс.Касса вернет ошибку с кодом 41.
Шаг 4. Дождитесь письма от менеджера Яндекс.Кассы

Менеджер Яндекс.Кассы пришлет вам письмо, что всё настроено и можно начинать тестироваться.

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

Когда всё готово, вы можете протестировать:

В запросах необходимо передавать специальные тестовые данные.

Адрес сервера для отправки запросов
https://calypso.yamoney.ru:9094/

После проверки подготовьте вашу систему для проведения настоящих выплат.

Тестирование выплат на кошельки

Шаг 1. Проверьте возможность зачисления на кошелек (testDeposition)

Проверьте, что кошелек, в который вы собираетесь перевести деньги, существует и не заблокирован. Для этого отправьте запрос testDeposition и передайте в нём следующие данные:

  • agentId тестового шлюза;
  • номер тестового кошелька (dstAccount): 41001614575714;
  • сумма выплаты — 1 рубль или больше.

Пример запроса

<testDepositionRequest 
    agentId="123"
    clientOrderId="12345"
    requestDT="2019-07-01T20:38:00.000Z"
    dstAccount="41001614575714"
    amount="10.00"
    currency="643"
    contract="Тестовая выплата"
/>

Пример ответа

<testDepositionResponse 
    clientOrderId="12345"
    status="0"
    processedDT="2019-07-01T20:38:01.000Z"
    identification="identified"
/>
Шаг 2. Переведите деньги (makeDeposition)

Переведите деньги в кошелек. Для этого отправьте запрос makeDeposition и передайте в нём те же данные, которые вы использовали для проверки возможности зачисления (шаг 1).

Пример запроса

<makeDepositionRequest 
              agentId="123"
              clientOrderId="12345"
              requestDT="2019-07-01T20:38:00.000Z"
              dstAccount="41001614575714"
              amount="10.00"
              currency="643"
              contract="Тестовая выплата"
              />

Пример ответа

<makeDepositionResponse 
              clientOrderId="12345"
              status="0"
              processedDT="2019-07-01T20:38:01.000Z"
              balance="-19270338.94" 
              identification="identified"
              />
Note. В параметре balance вернется случайное отрицательное число.
Шаг 3. Проверьте идемпотентность запросов

Отправьте запрос makeDeposition с теми же данными, которые вы использовали на шаге 2. В ответ вернется результат обработки запроса, отправленного на шаге 2.

Шаг 4. Проверьте обработку ошибок зачисления

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

Описание ошибки зачисления Код ошибки Номер тестового кошелька (dstAccount) Сумма выплаты
Кошелек в Яндекс.Деньгах заблокирован. Данная операция для этого кошелька запрещена. 41 410011788545536 1 рубль или больше
Счета с таким идентификатором не существует 42 410011806060695 1 рубль или больше
Превышен лимит на разовое зачисление или лимит остатка на счете получателя 43 41001614575572 1 рубль или больше
Превышено ограничение на максимальную сумму зачислений за сутки 44 41001614575643 1 рубль или больше
Недостаточно средств для проведения операции 45 410011806060766 1 рубль или больше
Сумма операции слишком мала 46 41001614575714 Меньше 1 рубля
Описание ошибки зачисления Код ошибки Номер тестового кошелька (dstAccount) Сумма выплаты
Кошелек в Яндекс.Деньгах заблокирован. Данная операция для этого кошелька запрещена. 41 410011788545536 1 рубль или больше
Счета с таким идентификатором не существует 42 410011806060695 1 рубль или больше
Превышен лимит на разовое зачисление или лимит остатка на счете получателя 43 41001614575572 1 рубль или больше
Превышено ограничение на максимальную сумму зачислений за сутки 44 41001614575643 1 рубль или больше
Недостаточно средств для проведения операции 45 410011806060766 1 рубль или больше
Сумма операции слишком мала 46 41001614575714 Меньше 1 рубля

Тестирование выплат на карты

Идентификатор получателя перевода (dstAccount): 25700120202056919

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

Имя поля paymentParams Значение
pdr_lastName Иванов
pdr_firstName Иван
pdr_middleName Иванович
pdr_docNumber 1234567890
Все остальные параметры Любые корректные значения
Имя поля paymentParams Значение
pdr_lastName Иванов
pdr_firstName Иван
pdr_middleName Иванович
pdr_docNumber 1234567890
Все остальные параметры Любые корректные значения
Шаг 1. Переведите деньги (makeDeposition)

Для зачисления денег на карту:

  1. Получите синоним банковской карты самостоятельно или с помощью формы Яндекс.Денег. Подойдут данные любой банковской карты.
  2. Отправьте запрос makeDeposition и передайте в нём полученный синоним, agentId тестового шлюза, тестовые персональные данные получателя платежа (Иванов Иван Иванович, 1234567890), тестовый идентификатор получателя перевода (dstAccount) и сумму от 100 рублей.

Пример запроса

<makeDepositionRequest 
    agentId="123"
    clientOrderId="12345"
    requestDT="2019-06-07T15:43:29.000Z"
    dstAccount="25700120202056919"
    amount="249.00"
    currency="643"
    contract="">
    <paymentParams>
    <skr_destinationCardSynonim>sRKjOLa32DBbBa-Oej5r9BvA.SC.000.201906</skr_destinationCardSynonim>
        <pdr_firstName>Иван</pdr_firstName>
        <pdr_middleName>Иванович</pdr_middleName>
        <pdr_lastName>Иванов</pdr_lastName>
        <pdr_docNumber>1234567890</pdr_docNumber>
        <pdr_postcode>194044</pdr_postcode>
        <pdr_country>643</pdr_country>
        <pdr_city>Санкт-Петербург</pdr_city>
        <pdr_address>3-я улица Строителей, д. 25</pdr_address>
        <pdr_birthDate>01.01.1940</pdr_birthDate>
        <pdr_birthPlace>гор.Ленинград</pdr_birthPlace>
        <pdr_docIssueYear>1999</pdr_docIssueYear>
        <pdr_docIssueMonth>07</pdr_docIssueMonth>
        <pdr_docIssueDay>30</pdr_docIssueDay>
        <pdr_docIssuedBy>ТП №20 по СПб и ЛО</pdr_docIssuedBy>
        <pof_offerAccepted>1</pof_offerAccepted>
        <smsPhoneNumber>79000000000</smsPhoneNumber>
    </paymentParams>
</makeDepositionRequest>

Пример ответа

<makeDepositionResponse 
    clientOrderId="12345" 
    status="0" 
    processedDT="2019-06-07T15:43:31.606+03:00" 
    balance="-100000" 
    invoiceId="2000028645828" 
/>
Note. В параметре balance вернется случайное отрицательное число.
Шаг 2. Проверьте идемпотентность запросов

Отправьте запрос makeDeposition с теми же данными, которые вы использовали на шаге 1. В ответ вернется результат обработки запроса, отправленного на шаге 1.

Шаг 3. Проверьте обработку ошибок зачисления

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

Описание ошибки зачисления Код ошибки Синоним банковской карты Персональные данные Сумма выплаты
Получатель перевода отклонил платеж (под получателем понимается сотовый оператор или процессинговый банк) 31 BFtJqriXvLaIOr0BDLdcjwgC.SC.000.201904 Иванов Иван Иванович, 1234567890 100 рублей или больше
Сумма операции слишком мала 46

Подойдет любой синоним, кроме тех, которые указаны в этой таблице.

Как получить синоним банковской карты
Иванов Иван Иванович, 1234567890 Меньше 100 рублей
Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон 48 HW0xgquwIm-h4H9bfpiIRF3u.SC.000.201904 Иванов Иван Иванович, 1234567890 100 рублей или больше
Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон (techMessage= "Паспортные данные не прошли проверку") 48

Подойдет любой синоним, кроме тех, которые указаны в этой таблице.

Как получить синоним банковской карты
Любые данные, кроме тестовых 100 рублей или больше
Описание ошибки зачисления Код ошибки Синоним банковской карты Персональные данные Сумма выплаты
Получатель перевода отклонил платеж (под получателем понимается сотовый оператор или процессинговый банк) 31 BFtJqriXvLaIOr0BDLdcjwgC.SC.000.201904 Иванов Иван Иванович, 1234567890 100 рублей или больше
Сумма операции слишком мала 46

Подойдет любой синоним, кроме тех, которые указаны в этой таблице.

Как получить синоним банковской карты
Иванов Иван Иванович, 1234567890 Меньше 100 рублей
Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон 48 HW0xgquwIm-h4H9bfpiIRF3u.SC.000.201904 Иванов Иван Иванович, 1234567890 100 рублей или больше
Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон (techMessage= "Паспортные данные не прошли проверку") 48

Подойдет любой синоним, кроме тех, которые указаны в этой таблице.

Как получить синоним банковской карты
Любые данные, кроме тестовых 100 рублей или больше

Тестирование уведомлений о неуспешных зачислениях (errorDepositionNotification)

Note. Это обязательно, если вы собираетесь отправлять зачисления на банковские карты, банковские счета или мобильные телефоны.

Уведомления о неуспешных зачислениях на банковский счет, карту или мобильный телефон отправляются в запросе errorDepositionNotification. Адрес, на который отправляется запрос, необходимо зафиксировать в настройках на стороне Яндекс.Кассы (это может сделать менеджер).

Чтобы проверить работу errorDepositionNotification, сделайте тестовую выплату на банковскую карту со следующими данными:

  • идентификатор получателя перевода (dstAccount) — 25700120202056919
  • синоним банковской карты — i8DZjk1u4a8TAm-577VSEzFh.SC.000.201905
  • персональные данные — Иванов Иван Иванович, 1234567890
  • сумма — 100 рублей или больше

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

Пример уведомления

<errorDepositionNotificationRequest 
    clientOrderId="12345" 
    requestDT="2019-05-29T09:27:07.203Z" 
    dstAccount="25700120202056919" 
    amount="697.26" 
    currency="643" 
    error="31"
/>

Убедитесь, что запрос получен и правильно обрабатывается.

Пример ответа

<errorDepositionNotificationResponse
        clientOrderId="12345" 
        status="0" 
        processedDT="2019-05-29T09:30:07.203Z"
        />

Проверка баланса на счете для обеспечения выплат (balance)

Чтобы проверить баланс тестового счета для обеспечения выплат, отправьте запрос balance и передайте в нём agentId тестового шлюза.

Пример запроса

<balanceRequest 
    agentId="123"
    clientOrderId="12345"
    requestDT="2019-07-01T20:38:00.000Z"
/>

Пример ответа

<balanceResponse
    clientOrderId="12345"
    status="0"
    processedDT="2019-07-01T20:38:01.000Z"
    balance="-19270338.94"
/>
Note. В параметре balance вернется случайное отрицательное число.

Проведение настоящих выплат

Уточните у менеджера, что всё готово для запуска. После этого отправляйте запросы с идентификатором настоящего шлюза (agentId) и реальными данными.

Attention. У тестового и настоящего шлюза разные agentId. Для настоящих выплат нельзя использовать agentId тестового шлюза — Яндекс.Касса вернет ошибку с кодом 41.

Смотрите также

Подключение выплат

Зачисление переводов

Типы данных

Коды ошибок