Тестирование платежей
В этой статье описано, как проверять платежи в тестовом режиме ЮKassa. При использовании тестового режима всё проходит, как при настоящих платежах, но деньги никуда не переводятся.
О тестовом режиме
Тестовый режим доступен сразу после регистрации в личном кабинете ЮKassa — вы можете протестировать платежи в любой момент, даже до указания данных компании и заключения договора.
Чтобы использовать тестовый режим, нужно зарегистрироваться в личном кабинете ЮKassa и создать тестовый магазин.
В тестовом режиме доступны все основные возможности API, даже те, которые для настоящего магазина нужно подключать через менеджера ЮKassa.
Особенности использования тестового режима:
- для аутентификации запросов необходимо использовать идентификатор и секретный ключ тестового магазина;
- в запросах необходимо передавать специальные тестовые данные (зависят от того, какую функциональность вы проверяете);
- в объектах платежей, созданных для тестового магазина, параметр
test
принимает значениеtrue
.
Пример тестового платежа
JSON
{ "id": "23d93cac-000f-5000-8000-126628f15141", "status": "pending", "paid": false, "amount": { "value": "2.00", "currency": "RUB" }, "confirmation": { "type": "redirect", "confirmation_url": "https://yoomoney.ru/api-pages/v2/payment-confirm/epl?orderId=23d93cac-000f-5000-8000-126628f15141" }, "created_at": "2019-01-22T14:30:45.129Z", "description": "Заказ №1", "metadata": {}, "recipient": { "account_id": "100500", "gateway_id": "100700" }, "refundable": false, "test": true }
Что можно протестировать
Вы можете протестировать все возможности API, включая автоплатежи и отправку данных для чеков по 54-ФЗ при использовании сторонней онлайн-кассы, для следующих способов оплаты:
- оплата банковской картой:
- на странице ЮKassa;
- с использованием платежного токена (
payment_token
), полученного с помощью Checkout.js или мобильного SDK; - на вашей странице (если у вас есть сертификат PCI DSS);
- оплата из кошелька ЮMoney.
Тестовый магазин
Создать тестовый магазин можно до регистрации в ЮKassa и после.
Если вы не зарегистрированы в ЮKassa
Зарегистрируйтесь в ЮKassa по этой ссылке. В процессе увидите два варианта: продолжить регистрацию или перейти к тестированию платежей. Выберите тестирование. Вам отобразится созданный тестовый магазин.
Если у вас есть личный кабинет ЮKassa
Добавьте тестовый магазин в личном кабинете ЮKassa и настройте нужные параметры. Тестовый магазин появится в списке ваших магазинов в течение минуты после создания.
Вы можете создать максимум 20 тестовых магазинов.
Тестирование интеграции
Шаг 1. Получите идентификатор и секретный ключ тестового магазина. Они нужны для аутентификации запросов.
Шаг 2. Настройте тестовый магазин:
- При необходимости настройте уведомления в разделе Интеграция — HTTP-уведомления.
- Если используете решение ЮKassa для работы по 54-ФЗ, в разделе Настройки — Онлайн-Касса включите режим проверки чеков.
Шаг 3. Выберите ту функциональность, которую хотите протестировать:
- Оплата банковской картой
- Оплата из кошелька ЮMoney
- Автоплатежи
- Работа с чеками (оплата по 54-ФЗ) — только для тех, кто использует стороннюю онлайн-кассу
Шаг 4. Протестируйте выбранную функциональность по инструкциям.
Не отдавайте товар, за который заплатили через тестовый магазин. Чтобы избежать накладок, для тестовых уведомлений от ЮKassa используйте специальный URL (его нужно прописать в настройках тестового магазина в личном кабинете).
Оплата банковской картой
Тестовые банковские карты
Настоящие карты нельзя использовать в тестовом магазине. Вместо них проверяйте оплату с помощью тестовых карт.
Ниже приведены тестовые карты, которые относятся к разным платежным системам — для тестирования выбирайте любую карту. В качестве срока действия укажите любую дату (но больше текущей), CVC и код для прохождения 3-D Secure — любые числа.
Проверка успешных сценариев
При тестировании автоплатежей выбирайте тестовые карты без 3-D Secure, иначе повторный платеж не пройдет.
Вы можете проверить оплату банковскими картами разных платежных систем:
Номер | Тип карты | 3-D Secure |
---|---|---|
5555555555554477 | Mastercard | ✔️ |
5555555555554444 | Mastercard | ➖ |
6759649826438453 | Maestro | ➖ |
4793128161644804 | Visa | ✔️ |
4111111111111111 | Visa | ➖ |
4175001000000017 | Visa Electron | ➖ |
2200000000000004 | Mir | ✔️ |
2202474301322987 | Mir | ➖ |
370000000000002 | American Express | ➖ |
3528000700000000 | JCB | ➖ |
36700102000000 | Diners Club | ➖ |
Проверка неуспешных сценариев
Если вы хотите проверить значение параметра
cancellation_details
при неуспешных платежах, используйте любые тестовые карты разных платежных систем.Отмена транзакции «внешними» участниками платежного процесса (payment_network)
Номер карты | Причина отмены платежа |
---|---|
5555555555554592 (Mastercard) 4839665499603842 (Visa) 2200000000000012 (Mir) | 3d_secure_failed |
5555555555554535 (Mastercard) 4926946416239025 (Visa) 2200000000000020 (Mir) | call_issuer |
5555555555554543 (Mastercard) 4141435412630840 (Visa) 2200000000000038 (Mir) | card_expired |
5555555555554568 (Mastercard) 4483274282299972 (Visa) 2200000000000046 (Mir) | fraud_suspected |
5555555555554527 (Mastercard) 4889971706588753 (Visa) 2202202212312379 (Mir) | general_decline |
5555555555554600 (Mastercard) 4562265587712390 (Visa) 2200000000000053 (Mir) | insufficient_funds |
5555555555554618 (Mastercard) 4951017853630544 (Visa) 2201382000000013 (Mir) | invalid_card_number |
5555555555554626 (Mastercard) 4194180666146368 (Visa) 2200770212727079 (Mir) | invalid_csc |
5555555555554501 (Mastercard) 4654130848359150 (Visa) 2201382000000021 (Mir) | issuer_unavailable |
5555555555554576 (Mastercard) 4565231022577548 (Visa) 2201382000000039 (Mir) | payment_method_limit_exceeded |
5555555555554550 (Mastercard) 4233961169071671 (Visa) 2201382000000047 (Mir) | payment_method_restricted |
Отмена транзакции на стороне ЮKassa (yoo_money)
Номер карты | Причина отмены платежа |
---|---|
5555555555554584 (Mastercard) 4969751510013864 (Visa) 2201382000000054 (Mir) | country_forbidden |
5555555555554634 (Mastercard) 4119098878796485 (Visa) 2201696981989955 (Mir) | fraud_suspected |
Оплата из кошелька ЮMoney
Для тестирования оплаты из кошелька ЮMoney тестовый кошелек не понадобится: в тестовом магазине платежи проходят без участия реального кошелька.
Чтобы протестировать оплату, проводите платеж как обычно. При оплате выберите кошелек ЮMoney и на отобразившейся платежной форме нажмите Заплатить. Платеж завершится успешно.
Если вы используете сценарий интеграции Виджет ЮKassa, на платежной форме будет доступна только оплата банковской картой. Кошелек ЮMoney также будет отображаться на платежной форме, но его нельзя использовать для оплаты.
Тестирование автоплатежей
В зависимости от способа оплаты вы можете протестировать разные возможности и сценарии.
Способ оплаты | Успешные сценарии | Неуспешные сценарии |
---|---|---|
Банковская карта | Доступна привязка во время платежа и привязка на нулевую сумму | Доступна привязка во время платежа и привязка на нулевую сумму |
Кошелек ЮMoney | Доступна только привязка во время платежа | Тестирование неуспешных сценариев недоступно |
Успешный сценарий
Проверьте успешный сценарий сохранения способа оплаты и проведения платежа с использованием сохраненного способа оплаты.
Чтобы сохранить банковскую карту для автоплатежей, используйте тестовые банковские карты без прохождения аутентификации по 3-D Secure, например
5555
5555
5555
4444
(Mastercard).Если вы сохраняете для автоплатежей кошелек ЮMoney, тестовый кошелек не нужен. Когда вы выберете оплату из кошелька, ЮKassa не запросит данные для входа. Платеж пройдет автоматически.
Неуспешные сценарии
Проверьте неуспешные сценарии на каждом этапе проведения автоплатежей.
Неуспешный сценарий при сохранении способа оплаты
Вы можете проверить сценарий, в котором привязка на нулевую сумму или платеж с сохранением способа оплаты не проходит. Например, из-за истекшего срока действия карты.
Для этого при сохранении способа оплаты используйте специальные тестовые банковские карты.
Неуспешный сценарий при платеже с использованием сохраненного способа оплаты
Вы можете проверить сценарий, в котором сохранение способа оплаты успешно, а при повторном платеже оплата не проходит.
При сохранении способа оплаты используйте специальную тестовую карту. Полученный идентификатор сохраненного способа оплаты передайте в запросе на повторный платеж. Оплата не пройдет из-за нехватки денег на карте. В объекте платежа будет указана причина отмены
insufficient_funds
.Для тестирования этого сценария используйте следующие тестовые банковские карты:
5555
5555
5555
4642
(Mastercard)4000
0000
0000
0002
(Visa)2200
0000
0000
0079
(Mir)
Работа с чеками
Только для тех, кто работает по 54-ФЗ и использует стороннюю онлайн-кассу.
В тестовом магазине можно проверить проведение оплаты по 54-ФЗ. Взаимодействие с ЮKassa в режиме проверки чеков проходит как при настоящих платежах или возвратах: вам нужно передавать данные для формирования чеков и вы можете просматривать информацию о чеках в личном кабинете.
В режиме проверки чеков ЮKassa только имитирует взаимодействие с онлайн-кассой: тестовые данные не передаются в онлайн-кассу и ОФД, поэтому физический чек не формируется, а пользователь не получает письма от ЮKassa и чеки от ОФД.
Чтобы проверить работу с чеками:
- Настройте тестовый магазин: в личном кабинете перейдите в тестовый магазин, в разделе Настройки — Онлайн-Касса включите режим проверки чеков и выберите сценарий отправки данных.
- Проверьте работу с платежами и возвратами в соответствии с выбранным сценарием.
- Когда соберетесь принимать платежи от ваших реальных пользователей, проверьте, что в вашем настоящем магазине прописаны настройки онлайн-кассы.
Проверка формирования чеков по 54-ФЗ
Формирование чеков — это часть процесса проведения платежей и возвратов. На каждом этапе проверьте отправку данных для чеков и посмотрите, как чеки отображаются в истории платежей тестового магазина.
При тестировании в запросах передавайте идентификатор и секретный ключ тестового магазина, для оплаты используйте специальные тестовые карты и тестовый кошелек.
Проверьте, что на каждом этапе работы вы формируете нужные чеки в соответствии с выбранным сценарием отправки чеков.
Этап | Одновременно или Сначала чек | Сначала платеж |
---|---|---|
Создание платежа | Чек прихода | Чек прихода |
Полное подтверждение платежа | Чек не нужен | Чек не нужен |
Частичное подтверждение платежа | Чек прихода | Чек возврата прихода Чек прихода |
Отмена платежа | Чек формируется автоматически | Чек возврата прихода |
Доставка товара после предоплаты | Чек зачета предоплаты | Чек зачета предоплаты |
Полный возврат | Чек формируется автоматически | Чек возврата прихода |
Частичный возврат | Чек возврата прихода | Чек возврата прихода |
Памятка по подготовке данных для чеков
Корректность запросов
Проверьте, что вы корректно передаете данные для чеков:
- данные переданы в соответствующем запросе (зависит от сценария отправки чеков);
- переданы все обязательные параметры;
- значения параметров переданы в нужном формате;
- в чеке не более 100 товаров;
- сумма платежа совпадает с общей суммой чека (чтобы определить сумму чека, по каждому товару умножьте
quantity
наamount
и просуммируйте); - все суммы в чеке положительные.
Если что-то будет не так, ЮKassa вернет ошибку.
Корректность данных
Проверьте, что передаваемые данные соответствуют требованиям 54-ФЗ и ограничениям онлайн-касс:
- параметр
excise
только у товаров с признаком предмета расчета «Подакцизный товар»; - для товаров, продаваемых в кредит, создан отдельный чек: нельзя, чтобы в одном чеке были товары с признаком способа расчета «Кредит» и товары с другими признаками способа расчета;
- параметры
product_code
,country_of_origin_code
,customs_declaration_number
только у товаров с признаками предмета расчета «Товар», «Подакцизный товар», «Несколько вариантов», «Другое».
Если что-то будет не так, онлайн-касса не сформирует чек — информация об ошибке отобразится в истории платежей (в тестовом магазине будет имитация ответа от онлайн-кассы). Статус платежа будет зависеть от сценария отправки чеков: в сценарии Сначала чек, потом платеж ЮKassa отменит платеж и автоматически сформирует чек возврата прихода; в других сценариях платеж пройдет.
Что почитать еще