Тестирование
Используйте ключ egn_test_…. Тестовые платежи полностью повторяют боевой поток: страница оплаты, QR, смена статусов, вебхуки, возвраты. Деньги при этом не списываются.
Что стоит за test-режимом
| Настройка EGN Pay | provider в /api/v1/me | Поведение |
|---|---|---|
Задан тестовый терминал Т-Банка (…DEMO) | tbank | Платёж создаётся в Т-Банке. Оплату эмулирует метод SbpPayTest, статус приходит обычным уведомлением банка |
| Тестовый терминал не задан | emulator | Т-Банк не вызывается. QR содержит фиктивную ссылку НСПК, статус меняется сразу |
Симуляция оплаты
На странице тестового платежа есть блок «Тестовый платёж» с кнопками:
- Симулировать оплату — платёж станет
succeeded, придётpayment.succeeded. - Отказ — платёж станет
failed, придётpayment.failed.
То же самое через API, например в автотестах:
curl -X POST https://pay.egnetwork.ru/api/public/payments/pay_…/simulate \
-H "Content-Type: application/json" \
-d '{"outcome":"success"}' # success | rejected | expiredДля live-платежей метод вернёт 403 live_payment.
Чек-лист перед запуском
- Платёж создаётся,
payment_urlоткрывается - Вебхук доходит, подпись проверяется, ответ
2xx - Повторный вебхук не выдаёт товар второй раз
- Повторный
POST /paymentsс тем жеorder_idне создаёт дубль - Страница
return_urlпроверяет статус через API, а не по параметруstatus -
payment.expiredиpayment.failedкорректно закрывают заказ - Возврат (
/refund) отражается у вас в системе - Заменили
egn_test_наegn_live_
Markdown-версия этой страницы: /docs/testing.md