Unitpay
ru
Search
⌃K

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

Введение

Тестовый режим API даёт возможность изучить работу с API Unitpay на тестовых данных без фактического проведения транзакций: - обмен данными; - формат запросов и ответов; - содержание запросов и ответов.
Для использования API в тестовом режиме необходимо добавить параметр params[test]=1 к запросу.
С 19.03.2020 года тестовое API доступно только партнерам с активным проектом.
Данные, которые необходимы для тестовых запросов:
Параметр
Значение
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 и googlepay)
account
Любая строка из латинских букв и цифр
desc
Любая строка из букв и цифр
Дополнительные параметры оплаты:
Параметр
Значение
currency
RUB (в тестовом режиме поддерживается только RUB)
googlePayToken
json в формате {"token":"yourGooglePayTokenInBase64","gateway":"unitpay"} (для платежей с типом googlepay)
Остальные параметры следует указывать согласно документации.
Успешный ответ. Отличие значений параметров в тестовом режиме:
Значение
Описание
redirectUrl
строка
Тестовый URL для переадресации пользователя на шлюз платежной платформы. Если платеж не требует переадресации, то данный параметр будет отсутствовать.
receiptUrl
строка
Тестовый URL для переадресации пользователя на чек платежа.
tokenDecrypt
строка
Строка закодированная в base64 в случае успешной дешифровки токена, либо пустая строка (для платежей с типом googlepay)
Предупреждение: в тестовом режиме переданная информация не сохраняется. Поэтому информация по платежу может отличаться от переданных значений при создании платежа. Номер чека платежа и paymentId после оплаты по реквизитам также изменятся.

Пример токенов для платежей с типом googlepay

googlePayToken
tokenDecrypt
{
"token": "eyJzaWduYXR1cmUiOiIxMjMiLCJpbnRlcm1lZGlhdGVTaWduaW5nS2V5Ijp7InNpZ25lZEtleSI6IntcImtleVZhbHVlXCI6XCJ2YWx1ZVxcdTAwM2RcXHUwMDNkXCIsXCJrZXlFeHBpcmF0aW9uXCI6XCIxOTE3MDU5MzM4MDAwXCJ9Iiwic2lnbmF0dXJlcyI6WyI0NTYiXX0sInByb3RvY29sVmVyc2lvbiI6IkVDdjIiLCJzaWduZWRNZXNzYWdlIjoie1wiZW5jcnlwdGVkTWVzc2FnZVwiOlwibWVzc2FnZVxcdTAwM2RcIixcImVwaGVtZXJhbFB1YmxpY0tleVwiOlwia2V5XFx1MDAzZFwiLFwidGFnXCI6XCJ0YWdcXHUwMDNkXCJ9In0=",
"gateway": "unitpay"
}
eyJnYXRld2F5TWVyY2hhbnRJZCI6IklEIiwibWVzc2FnZUV4cGlyYXRpb24iOiIxOTE3MDU5NzQ5MDAwIiwibWVzc2FnZUlkIjoiMTIzNDU2IiwicGF5bWVudE1ldGhvZCI6IkNBUkQiLCJwYXltZW50TWV0aG9kRGV0YWlscyI6eyJleHBpcmF0aW9uWWVhciI6MjA1MCwiZXhwaXJhdGlvbk1vbnRoIjo2LCJwYW4iOiI0NDQ0NDQ0NDQ0NDQ0NDQ0IiwiYXV0aE1ldGhvZCI6IlBBTl9PTkxZIiwiYXNzdXJhbmNlRGV0YWlscyI6eyJjYXJkSG9sZGVyQXV0aGVudGljYXRlZCI6ZmFsc2UsImFjY291bnRWZXJpZmllZCI6dHJ1ZX19fQ==

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

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
Внимание: в тестовом режиме статус закрытия подписки не сохраняется.