Untitled
Search…
Создание платежа
1
https://unitpay.ru/api?
2
method=initPayment
3
params[paymentType]=yandex
4
params[account]=order413
5
params[sum]=10.00
6
params[projectId]=1
7
params[resultUrl]=http://вашсайт.ru
8
params[ip]=77.129.27.24
9
params[secretKey]=ключ
10
params[signature]=цифровая подпись
11
params[preauth]=1
12
params[customerEmail]=Email плательщика
Copied!
Обязательные параметры:
Значение
Описание
paymentType
строка
Код платежной системы, через которую будет идти оплата
account
строка
Идентификатор абонента в системе партнера (например, логин или email абонента)
sum
число
Сумма платежа в рублях (например, 10.00)
projectId
число
ID вашего проекта в системе UnitPay
resultUrl
строка
Urlencoded адрес перехода пользователя после оплаты (например, http://вашсайт.ru). Если параметр не задан, то будет использован адрес страницы чека платежа.
desc
строка
Описание заказа
ip
строка
IP адрес плательщика
secretKey
строка
Секретный ключ, доступен в настройках проекта
Параметры в зависимости от типа оплаты:
Значение
Описание
phone
число
Телефон с кодом страны (например, 79520000000)
operator
строка
Буквенный код оператора для SMS-биллинга. Для остальных систем оператор определяется автоматически
Значение PUBLIC KEY и SECRET KEY проекта можно найти на странице Настройки проекта
Пример формирования цифровой подписи на PHP:
1
function getFormSignature($account, $currency, $desc, $sum, $secretKey) {
2
$hashStr = $account.'{up}'.$currency.'{up}'.$desc.'{up}'.$sum.'{up}'.$secretKey;
3
return hash('sha256', $hashStr);
4
}
Copied!
Пример формирования цифровой подписи на Perl:
1
sub getSignature {
2
my ($method, $params, $secretKey) = @_;
3
delete $params->{sign};
4
delete $params->{signature};
5
my $s = $method;
6
foreach my $key (sort keys %{$params}) {
7
$s .= '{up}' . $params->{$key};
8
}
9
$s .= '{up}' . $secretKey;
10
use Digest::SHA qw(sha256_hex);
11
return sha256_hex($s);
12
}
Copied!
Дополнительные параметры оплаты:
Значение
Описание
currency
строка
Валюта заказа по стандарту ISO 4217 (RUB, UAH, BYN, EUR, USD итд. Полный список валют). Если платежная система не поддерживает требуемую валюту, то сумма будет сконвертирована в валюту системы оплаты
locale
строка
Принудительное указание языка платежной формы, допустимые значения: ru, en. По умолчанию язык формы определяется исходя из страны, к которой относится IP адрес пользователя
signature
строка
Цифровая подпись запроса. Данная функция является обязательной у всех новых партнёров Unitpay. Она защищает вас от злоумышленников - подмены описания или стоимости заказа, размещения ссылки на оплату на ресурсах мошенников.
backUrl
строка
Адрес возврата пользователя с платежной формы без совершения покупки, по умолчанию используется адрес проекта. В адресе обязательно должен использоваться домен проекта. Примеры: "https://redirect.<домен проекта>/?someParams", "https://<домен проекта>/redirect/"
subscription
true/false
Используйте данный флаг, если требуется создать подписку по карте плательщика. Идентификатор подписки (subscriptionId) будет передан в методе PAY на ваш обработчик платежа. Использование подписок возможно только после согласования с вашим курирующим менеджером
subscriptionId
число
Идентификатор подписки, по которой требуется произвести списание средств. Данный параметр должен быть предварительно получен в методе PAY на ваш обработчик платежа
preauth
true/false
Используйте этот флаг для создания платежа с преавторизацией, по умолчанию флаг выключен и значение равно 0
preauthExpireLogic
число
Поле для логики блокировки платежей с преавторизацией 0 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет подтвержден 1 - При отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет отменен. Если параметр не будет использован, платеж будет отменен по истечении срока.
По мере выполнения платежа мы уведомляем платформу магазина о статусе оплаты, последовательно отправляя GET запросы на URL обработчика.
Если вы подключили онлайн-кассу в ЛК, то для формирования чеков необходимо дополнительно передать ряд параметров
Запрос можно выполнить в тестовом режиме. Узнать подробнее

Успешный ответ

Redirect
Response (не ApplePay)
Response (ApplePay)
Invoice
1
{
2
"result": {
3
"message": "Платеж успешно создан.",
4
"paymentId": "1400072",
5
"receiptUrl": "https://unitpay.money/pay/receipt/111-ab34c22",
6
"type": "redirect",
7
"redirectUrl": "http://unitpay.ru/pay/redirect/111-ab34c22"
8
}
9
}
Copied!
1
{
2
"result": {
3
"message": "Платеж успешно создан.",
4
"paymentId": "1400072",
5
"receiptUrl": "https://unitpay.money/pay/receipt/111-ab34c22",
6
"type": "response",
7
"response": "<form>...</form>"
8
}
9
}
Copied!
1
{
2
"result": {
3
"message": "Платеж успешно создан.",
4
"paymentId": "1400072",
5
"receiptUrl": "https://unitpay.money/pay/receipt/111-ab34c22",
6
"type": "response",
7
"response": {
8
"success": 1,
9
"orderId": "123",
10
"appleResponse": {
11
/* объект */
12
},
13
"approveUrl": "url"
14
}
15
}
16
}
17
Copied!
1
{
2
"result": {
3
"message": "Платеж успешно создан.",
4
"paymentId": "1400072",
5
"receiptUrl": "https://unitpay.money/pay/receipt/111-ab34c22",
6
"type": "invoice",
7
"invoiceId": "123"
8
}
9
}
Copied!
Значение
Описание
message
string
Информация о результате формирования платежа
paymentId
bigint
Номер платежа в системе UnitPay
receiptUrl
string
Ссылка на чек Примечание: возвращается, если подключена касса Юнит.Чеки, Атол или e-comm.
type
string
Тип ответа:
redirect — необходимо перенаправить пользователя на адрес, указанные в redirectUrl
response - необходимо показать пользователю информацию, указанную в response invoice — счет создан автоматически и направлен плательщику. Дополнительных действий не требуется
redirectUrl
string
URL для переадресации пользователя на шлюз платежной платформы
response
string
html код формы, а если ApplePay, то json
html - необходимо отобразить на странице
json - необходимо направить пользователя по approveUrl
invoiceId
string
id счета

Ошибочный ответ

1
{"error": {
2
"message": "Описание ошибки"
3
}}
Copied!
Значение
Описание
message
строка
Информация с описанием ошибки формирования платежа
Если ваш сайт создан с помощью CMS, ознакомьтесь со списком готовых модулей. Для взаимодействия с API вы можете использовать библиотеку Unitpay PHP-SDK.
Last modified 2mo ago
Copy link