Использование тестового API

Введение

Тестовый режим API даёт возможность изучить работу с API Unitpay на тестовых данных без фактического проведения транзакций:

- обмен данными;
- формат запросов и ответов;
- содержание запросов и ответов.
Для использования API в тестовом режиме необходимо добавить параметр params[test]=1 к запросу.
С 19.03.2020 года тестовое API доступно только партнерам с активным проектом.

Данные, которые необходимы для тестовых запросов:

Параметр Значение
projectId Уникальный ID проекта в системе UnitPay
login Email партнера в системе UnitPay
secretKey Ваш секретный ключ для тестового режима

Секретный ключ для тестового режима:

Для работы с тестовым API необходимо получить тестовый секретный ключ.
Для этого: 
1) Перейдите на страницу настройки профиля;
2) Справа вы увидите блок с секретными ключами. Скопируйте секретный ключ для тестового режима;

3) Используйте скопированный ключ во всех тестовых запросах для параметра secretKey. Это общий секретный ключ и для партнёра, и для проекта в тестовом режиме API.

ВАЖНО! После перехода в "боевой" режим не забудьте поменять тестовые параметры на реальные и заменить секретный ключ для тестового режима на настоящий.

Для API в тестовом режиме следует посылать все обязательные параметры, которые можно посмотреть на основной странице используемого метода.
Все параметры ответа API в тестовом режиме соответствуют ответу в "боевом" режиме, если иного не описано в документации тестового API.

Доступные методы для тестового режима
Создание платежа (initPayment)
Информация о платеже (getPayment)
Возврат платежа (refundPayment)
Создание выплаты (massPayment)
Информация о выплате (massPaymentStatus)
Получение списка активных подписок (listSubscriptions)
Получение информации о подписке (getSubscription)
Закрытие подписки (closeSubscription)


Платежи

Создание платежа

initPayment
Обязательные параметры метода

Тестовые данные:

Параметр Значение
paymentType card
(в тестовом режиме поддерживается только card)
account Любая строка из латинских букв и цифр
desc Любая строка из букв и цифр

Дополнительные параметры оплаты:

Параметр Значение
currency

RUB
(в тестовом режиме поддерживается только RUB)

Остальные параметры следует указывать согласно документации.

Успешный ответ. Отличие значений параметров в тестовом режиме:

  Значение Описание
redirectUrl строка Тестовый URL для переадресации пользователя на шлюз платежной платформы. Если платеж не требует переадресации, то данный параметр будет отсутствовать.
receiptUrl строка Тестовый URL для переадресации пользователя на чек платежа.

Предупреждение: в тестовом режиме переданная информация не сохраняется. Поэтому информация по платежу может отличаться от переданных значений при создании платежа. Номер чека платежа и paymentId после оплаты по реквизитам также изменятся.

Тестовые формы

URL, полученный при создании платежа в тестовом режиме, необходим только для тестирования платежа, 3ds-авторизации и вывода чека. Не передавайте такую ссылку пользователям!

Чтобы протестировать оплату, перейдите по ссылке из redirectUrl. Ссылка ведёт на тестовую форму для ввода реквизитов карты. Введите реквизиты и пройдите 3ds-авторизацию для получения статуса по платежу. Деньги по реальным реквизитам списываться не будут.

Тестовые реквизиты для оплаты картой:

Значение Описание
1234567465831234 Успешный платеж
Любое другое значение Ошибочный платеж
После введения реквизитов карты будет переход на тестовую форму 3ds-авторизации.
В поле Код необходимо ввести 391745 для успешного платежа.

Оплата по подписке

Оплата по подписке доступна только по картам. Чтобы провести тестовую оплату по подписке, добавьте к методу initPayment параметр subscriptionId с тестовым значением.

Тестовые subscriptionId:

Значение Описание
от 1 до 5 Успешный платеж
Любой другой subscriptionId Выдаст ошибку: Подписка не найдена

Информация о платеже

getPayment
Обязательные параметры метода

Тестовые paymentId для платежей:

Значение Описание
100301 Платеж в обработке
100303 Успешный платеж
100304 Ошибочный платеж

Используйте paymentId из тестовых ответов, чтобы получить информацию по платежу. 

Внимание: информация по тестовому платежу не сохраняется. Данные полученные в ответе могут отличаться от переданных при создании платежа. Значение purse в тестовом режиме может быть скрыто.


Возврат платежа

refundPayment
Обязательные параметры метода

Тестовые paymentId для возврата платежа:

Значение Сумма Частичный возврат
12358132134 5000 Поддерживает
383117770 1000 Не поддерживает

Добавьте к запросу необязательный params[sum], чтобы получить различные события возврата платежа (больше или меньше допустимой суммы возврата).


Выплаты

Создание выплаты

massPayment
Обязательные параметры метода

Тестовые параметры для выплат:

Параметр Значение
transactionId Любая строка из латинских букв и цифр
purse Любая строка из латинских букв и цифр

При создании выплаты можно получить разные статусы. Чтобы протестировать их, используйте параметр paymentType=card и следующие transactionId:

Значение Статус
F12358132134 success
F383117770 error
Любое другое значение not_completed

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


Информация о выплате

massPaymentStatus
Обязательные параметры метода

В тестовом режиме получить информацию можно только по выплате из списка. Тестовые параметры можно посмотреть в таблице ниже.

Тестовые transactionId для получения информации по выплате:

Значение Статус
F12358132134 success
F383117770 error
Любое другое значение Ответ с ошибкой

Подписки

Получение списка активных подписок

listSubscriptions
Обязательные параметры метода

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


Получение информации о подписке

getSubscription
Обязательные параметры метода

В тестовом режиме получить информацию о подписке можно только по subscriptionId указанных в таблице ниже.

Тестовые subscriptionId:

Значение Статус
1, 2, 5 active
3 close
4 new

Закрытие подписки

closeSubscription
Обязательные параметры метода

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

Тестовые subscriptionId подписок:

Значение Статус
1, 2, 5 active
3 close
4 new

Внимание: в тестовом режиме статус закрытия подписки не сохраняется.