Тестирование выплат
Перед тем как отправлять запросы с реальными данными, вы можете проверить свою интеграцию и протестировать перевод денег на кошельки и на банковские карты, а также обработку уведомлений о неуспешном переводе и запрос баланса обеспечительного счета. При тестировании всё проходит как при настоящих выплатах, но деньги никуда не переводятся.
 
Подготовка к тестированию
 
Шаг 1. Получите нужные сертификаты
Получите нужные сертификаты для взаимодействия с ЮKassa.
 
Шаг 2. Дождитесь, когда у вас появится тестовый шлюз
Тестовый шлюз доступен в личном кабинете, и его можно выбрать по кнопке Все магазины и выплаты (в названии будет префикс test_).
Тестовый шлюз похож на настоящий. Главные отличия — он используется только для тестовых выплат и его баланс выплат не надо пополнять.
Для тестирования вам нужно узнать
agentId
тестового шлюза и использовать его во всех запросах к ЮKassa.
У тестового и настоящего шлюза разные
agentId
. Для тестирования нельзя использовать
agentId
настоящего шлюза — ЮKassa вернет ошибку с кодом
41
.
 
Шаг 3. Дождитесь письма от менеджера ЮKassa
Менеджер ЮKassa пришлет вам письмо, что всё настроено и можно начинать тестироваться.
 
Тестирование
Когда всё готово, вы можете протестировать:
В запросах необходимо передавать специальные тестовые данные.
Адрес сервера для отправки запросов
https://payouts.yookassa.ru:9094
После проверки подготовьте вашу систему для проведения настоящих выплат.
 
Тестирование выплат на кошельки
 
Шаг 1. Проверьте возможность зачисления на кошелек (testDeposition)
Проверьте, что кошелек, в который вы собираетесь перевести деньги, существует и не заблокирован. Для этого отправьте запрос testDeposition и передайте в нём
agentId
тестового шлюза, сумму выплаты (1 рубль или больше) и
dstAccount
с одним из номеров тестовых кошельков:
  • анонимный кошелек —
    41001614575714
    ;
  • именной кошелек —
    4100116075156746
    ;
  • идентифицированный кошелек —
    4100116074720387
    .
Пример запроса
XML
<testDepositionRequest
    agentId="123"
    clientOrderId="12345"
    requestDT="2019-07-01T20:38:00.000Z"
    dstAccount="41001614575714"
    amount="10.00"
    currency="643"
    contract="Тестовая выплата"
/>
Пример ответа
XML
<testDepositionResponse
    clientOrderId="12345"
    status="0"
    processedDT="2019-07-01T20:38:01.000Z"
    identification="identified"
/>
 
Шаг 2. Переведите деньги (makeDeposition)
Переведите деньги в кошелек. Для этого отправьте запрос makeDeposition и передайте в нём те же данные, которые вы использовали для проверки возможности зачисления (шаг 1).
Пример запроса
XML
<makeDepositionRequest
              agentId="123"
              clientOrderId="12345"
              requestDT="2019-07-01T20:38:00.000Z"
              dstAccount="41001614575714"
              amount="10.00"
              currency="643"
              contract="Тестовая выплата"
              />
Пример ответа
XML
<makeDepositionResponse
              clientOrderId="12345"
              status="0"
              processedDT="2019-07-01T20:38:01.000Z"
              balance="-19270338.94"
              identification="identified"
              />
В параметре
balance
вернется случайное отрицательное число.
 
Шаг 3. Проверьте идемпотентность запросов
Отправьте запрос
makeDeposition
с теми же данными, которые вы использовали на шаге 2. В ответ вернется результат обработки запроса, отправленного на шаге 2.
 
Шаг 4. Проверьте обработку ошибок зачисления
Вы можете проверить обработку ошибок зачисления на кошельки. Для этого выберите нужный вам сценарий и отправьте запрос
makeDeposition
со специальным номером тестового кошелька и определенной суммой выплаты.
Ошибка зачисленияНомер тестового кошелька (dstAccount)Сумма выплаты
41
Кошелек ЮMoney заблокирован. Данная операция для этого кошелька запрещена.
4100117885455361 рубль или больше
42
Счета с таким идентификатором не существует
4100118060606951 рубль или больше
43
Превышен лимит на разовое зачисление или лимит остатка на счете получателя
410016145755721 рубль или больше
44
Превышено ограничение на максимальную сумму зачислений за сутки
410016145756431 рубль или больше
45
Недостаточно средств для проведения операции
4100118060607661 рубль или больше
46
Сумма операции слишком мала
41001614575714Меньше 1 рубля
57
Кошелек ЮMoney не идентифицирован. Пополнение анонимного кошелька запрещено. Пользователю необходимо идентифицировать кошелек.
41001161036094211 рубль или больше
 
Тестирование выплат на карты
Идентификатор получателя перевода (
dstAccount
):
25700120202056919
Для проверки выплат на банковские карты в 
paymentParams
необходимо передавать тестовые персональные данные получателя платежа:
  • фамилия получателя —
    Иванов
  • имя получателя —
    Иван
  • отчество получателя —
    Иванович
  • номер паспорта —
    1234567890
  • все остальные параметры — любые значения
 
Шаг 1. Переведите деньги (makeDeposition)
Для зачисления денег на карту:
  1. Получите синоним банковской карты самостоятельно или с помощью формы ЮKassa. Подойдут данные любой банковской карты.
  2. Отправьте запрос makeDeposition и передайте в нём полученный синоним,
    agentId
    тестового шлюза, тестовые персональные данные получателя платежа (
    Иванов Иван Иванович
    ,
    1234567890
    ), тестовый идентификатор получателя перевода (
    dstAccount
    ) и сумму от 100 рублей.
Пример запроса
XML
<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>
Пример ответа
XML
<makeDepositionResponse
    clientOrderId="12345"
    status="0"
    processedDT="2019-06-07T15:43:31.606+03:00"
    balance="-100000"
    invoiceId="2000028645828"
/>
В параметре
balance
вернется случайное отрицательное число.
 
Шаг 2. Проверьте идемпотентность запросов
Отправьте запрос
makeDeposition
с теми же данными, которые вы использовали на шаге 1. В ответ вернется результат обработки запроса, отправленного на шаге 1.
 
Шаг 3. Проверьте обработку ошибок зачисления
Вы можете проверить обработку ошибок зачисления на карты. Для этого выберите нужный вам сценарий и отправьте запрос
makeDeposition
со специальными тестовыми данными.
Ошибка зачисленияСиноним банковской картыПерсональные данныеСумма выплаты
31
Получатель перевода отклонил платеж (под получателем понимается сотовый оператор или процессинговый банк)
BFtJqriXvLaIOr0BDLdcjwgC.SC.000.201904Иванов Иван Иванович, 1234567890100 рублей или больше
46
Сумма операции слишком мала
Подойдет любой синоним, кроме тех, которые указаны в этой таблице.
Иванов Иван Иванович, 1234567890Меньше 100 рублей
48
Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон
HW0xgquwIm-h4H9bfpiIRF3u.SC.000.201904Иванов Иван Иванович, 1234567890100 рублей или больше
48
Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон (
techMessage= «Паспортные данные не прошли проверку"
)
Подойдет любой синоним, кроме тех, которые указаны в этой таблице.
Любые данные, кроме тестовых100 рублей или больше
 
Тестирование уведомлений о неуспешных зачислениях (errorDepositionNotification)
Это обязательно, если вы собираетесь отправлять зачисления на банковские карты, банковские счета или мобильные телефоны.
Уведомления о неуспешных зачислениях на банковский счет, карту или мобильный телефон отправляются в запросе errorDepositionNotification. Адрес, на который отправляется запрос, необходимо зафиксировать в настройках на стороне ЮKassa (это может сделать менеджер).
Чтобы проверить работу
errorDepositionNotification
, сделайте тестовую выплату на банковскую карту со следующими данными:
  • идентификатор получателя перевода (
    dstAccount
    ) —
    25700120202056919
  • синоним банковской карты —
    i8DZjk1u4a8TAm-577VSEzFh.SC.000.201905
  • персональные данные —
    Иванов Иван Иванович
    ,
    1234567890
  • сумма —
    100 рублей
    или больше
В этом случае зачисление обработается как обычно, но через некоторое время придет уведомление о неуспешном переводе.
Пример уведомления
XML
<errorDepositionNotificationRequest
    clientOrderId="12345"
    requestDT="2019-05-29T09:27:07.203Z"
    dstAccount="25700120202056919"
    amount="697.26"
    currency="643"
    error="31"
/>
Убедитесь, что запрос получен и правильно обрабатывается.
Пример ответа
XML
<errorDepositionNotificationResponse
        clientOrderId="12345"
        status="0"
        processedDT="2019-05-29T09:30:07.203Z"
        />
 
Проверка баланса выплат (balance)
Чтобы проверить баланс выплат тестового шлюза, отправьте запрос balance и передайте в нём
agentId
тестового шлюза.
Пример запроса
XML
<balanceRequest
    agentId="123"
    clientOrderId="12345"
    requestDT="2019-07-01T20:38:00.000Z"
/>
Пример ответа
XML
<balanceResponse
    clientOrderId="12345"
    status="0"
    processedDT="2019-07-01T20:38:01.000Z"
    balance="-19270338.94"
/>
В параметре
balance
вернется случайное отрицательное число.
 
Проведение настоящих выплат
Уточните у менеджера, что всё готово для запуска. После этого отправляйте запросы с идентификатором настоящего шлюза (
agentId
) и реальными данными.
У тестового и настоящего шлюза разные
agentId
. Для настоящих выплат нельзя использовать
agentId
тестового шлюза — ЮKassa вернет ошибку с кодом
41
.
 
Что почитать еще
Подключение выплатЗачисление переводовТипы данныхКоды ошибок