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

Тестовый режим доступен только партнерам с активным проектом.

Введение

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

В тестовом режиме можно проверить как работают способ оплаты банковская карта. Для использования API в тестовом режиме необходимо добавить параметр params[test]=1 к запросу.


Платежи

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

Создать тестовый платеж можно несколькими способами: через форму оплаты (простой способ) и через API.

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

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

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

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

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

Форма

Ссылка на оплату формируется простым способом. При создании ссылки необходимо использовать несколько обязательных параметров:

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

Пример создания тестовой ссылки (PHP):

<?php

$params = [
    'account' => 'test',
    'currency' => 'RUB',
    'desc' => 'test',
    'sum' => '25',
    'test' => 1,
    'login' => 'email вашего аккаунта',
    'secretKey' => 'тестовый секретный ключ'
] ;

$billingCode = 'card';
$projectPublicId = 'публичный ключ проекта';

$secretKey = 'секретный ключ проекта';
$signatureParams = ['desc' => $params['desc'], 'sum' => $params['sum'], 'account' => $params['account'], 'currency' => $params['currency']];
ksort($signatureParams);
$signatureParams[] = $secretKey;
$signature =  hash('sha256', implode('{up}', $signatureParams));
$baseUrl = 'https://unitpay.money';

$params['signature'] = $signature;
$uri = http_build_query($params);

echo $baseUrl.'/pay/'.$projectPublicId.'/'.$billingCode.'?'.$uri.PHP_EOL;

API

Основной запрос формируется по документации, в запросе необходимо использовать тестовые данные, приведенные ниже.

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

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

Пример успешного запроса:

https://unitpay.money/api?method=initPayment
params[paymentType]=card
params[account]=test_unitpay
params[sum]=100
params[desc]=test_unitpay
params[projectId]=123456
params[secretKey]=***********-***********-***********
params[currency]=RUB
params[login]=example@site.com
params[locale]=ru
params[test]=1

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

Пример успешного ответа:

"result": {
        "type": "redirect",
        "paymentId": 123456789,
        "message": "Счет успешно выставлен, ожидается оплата",
        "receiptUrl": "https://unitpay.money/pay/receipt/123456789-1dca2345e2",
        "statusUrl": "https://unitpay.money/pay/receipt/123456789-1dca2345e2",
        "redirectUrl": "https://unitpay.money/pay/123456-a966b/card?account=test_unitpay&sum=100.00&currency=RUB&signature=68bfa6e93a370fbeff5bf097e147c8ba69ca46df6b4e48f000e787dec451250d&desc=test_unitpay&hideOtherMethods=true&locale=ru&paymentId=123456789&hideMenu=true&test=1&login=example@site.com&secretKey=***********-***********-***********"
```

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

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

Тестовые реквизиты

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

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

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

Дата выпуска карты и CVC код могут быть любыми.

После введения реквизитов карты будет переход на тестовую форму 3ds-авторизации. В поле Код необходимо ввести 123456 для успешного платежа.

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

После тестовой оплаты в течение ближайшего часа вы сможете просмотреть электронный чек и взаимодействовать с ним.

Также вы можете по API отправить запрос на уточнение информации по тестовому платежу:

https://unitpay.money/api?
     method=method=getPayment
     params[login]=email аккаунта
     params[paymentId]=номер тестового платежа
     params[secretKey]=секретный ключ аккаунта
     params[test]=1

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

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

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

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

Last updated