Перед тем как отправлять запросы с реальными данными, вы можете проверить свою интеграцию и протестировать перевод денег на кошельки и на банковские карты, а также обработку уведомлений о неуспешном переводе и запрос баланса обеспечительного счета. При тестировании всё проходит как при настоящих выплатах, но деньги никуда не переводятся.
Передайте вашему менеджеру список IP-адресов (не более пяти), с которых вы будете делать тестовые выплаты. IP-адреса должны быть статическими.
Получите нужные сертификаты для взаимодействия с ЮKassa.
Тестовый шлюз доступен в личном кабинете, и его можно выбрать по кнопке Все магазины и выплаты (в названии будет префикс test_).
Тестовый шлюз похож на настоящий. Главные отличия — он используется только для тестовых выплат и его баланс выплат не надо пополнять.
Для тестирования вам нужно узнать
agentId
тестового шлюза и использовать его во всех запросах к ЮKassa.У тестового и настоящего шлюза разные
agentId
. Для тестирования нельзя использовать agentId
настоящего шлюза — ЮKassa вернет ошибку с кодом 41
.Менеджер ЮKassa пришлет вам письмо, что всё настроено и можно начинать тестироваться.
Когда всё готово, вы можете протестировать:
- выплаты на кошельки;
- выплаты на банковские карты;
- получение уведомлений о неуспешных зачислениях;
- запрос баланса выплат.
В запросах необходимо передавать специальные тестовые данные.
Адрес сервера для отправки запросов
https://payouts.yookassa.ru:9094
После проверки подготовьте вашу систему для проведения настоящих выплат.
Проверьте, что кошелек, в который вы собираетесь перевести деньги, существует и не заблокирован. Для этого отправьте запрос testDeposition и передайте в нём следующие данные:
- agentIdтестового шлюза;
- номер тестового кошелька (dstAccount):41001614575714;
- сумма выплаты — 1 рубль или больше.
Пример запроса
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" />
Переведите деньги в кошелек. Для этого отправьте запрос 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
вернется случайное отрицательное число.Отправьте запрос
makeDeposition
с теми же данными, которые вы использовали на шаге 2. В ответ вернется результат обработки запроса, отправленного на шаге 2.Вы можете проверить обработку ошибок зачисления на кошельки. Для этого выберите нужный вам сценарий и отправьте запрос
makeDeposition
со специальным номером тестового кошелька и определенной суммой выплаты.Ошибка зачисления | Номер тестового кошелька (dstAccount) | Сумма выплаты |
---|---|---|
41 Кошелек ЮMoney заблокирован. Данная операция для этого кошелька запрещена. | 410011788545536 | 1 рубль или больше |
42 Счета с таким идентификатором не существует | 410011806060695 | 1 рубль или больше |
43 Превышен лимит на разовое зачисление или лимит остатка на счете получателя | 41001614575572 | 1 рубль или больше |
44 Превышено ограничение на максимальную сумму зачислений за сутки | 41001614575643 | 1 рубль или больше |
45 Недостаточно средств для проведения операции | 410011806060766 | 1 рубль или больше |
46 Сумма операции слишком мала | 41001614575714 | Меньше 1 рубля |
Идентификатор получателя перевода (
dstAccount
): 25700120202056919
Для проверки выплат на банковские карты в
paymentParams
необходимо передавать тестовые персональные данные получателя платежа:- фамилия получателя — Иванов
- имя получателя — Иван
- отчество получателя — Иванович
- номер паспорта — 1234567890
- все остальные параметры — любые значения
Для зачисления денег на карту:
- Получите синоним банковской карты самостоятельно или с помощью формы ЮKassa. Подойдут данные любой банковской карты.
- Отправьте запрос 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
вернется случайное отрицательное число.Отправьте запрос
makeDeposition
с теми же данными, которые вы использовали на шаге 1. В ответ вернется результат обработки запроса, отправленного на шаге 1.Вы можете проверить обработку ошибок зачисления на карты. Для этого выберите нужный вам сценарий и отправьте запрос
makeDeposition
со специальными тестовыми данными.Ошибка зачисления | Синоним банковской карты | Персональные данные | Сумма выплаты |
---|---|---|---|
31 Получатель перевода отклонил платеж (под получателем понимается сотовый оператор или процессинговый банк) | BFtJqriXvLaIOr0BDLdcjwgC.SC.000.201904 | Иванов Иван Иванович, 1234567890 | 100 рублей или больше |
46 Сумма операции слишком мала | Подойдет любой синоним, кроме тех, которые указаны в этой таблице. | Иванов Иван Иванович, 1234567890 | Меньше 100 рублей |
48 Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон | HW0xgquwIm-h4H9bfpiIRF3u.SC.000.201904 | Иванов Иван Иванович, 1234567890 | 100 рублей или больше |
48 Ошибка запроса зачисления перевода на банковский счет, карту, мобильный телефон ( techMessage= «Паспортные данные не прошли проверку" ) | Подойдет любой синоним, кроме тех, которые указаны в этой таблице. | Любые данные, кроме тестовых | 100 рублей или больше |
Это обязательно, если вы собираетесь отправлять зачисления на банковские карты, банковские счета или мобильные телефоны.
Уведомления о неуспешных зачислениях на банковский счет, карту или мобильный телефон отправляются в запросе 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 и передайте в нём
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
.