<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>bill_line - API</title>
<meta
name="title"
content="API bill_line: подробная инструкция по подключению"
/>
<meta
name="description"
content="bill_line разработал удобный современный API, который позволяет любому клиенту быстро подключить свой продукт и начать принимать платежи"
/>
<!-- TODO: Delete noindex on production -->
<meta name="robots" content="noindex" />
<meta name="googlebot" content="noindex" />
<!-- Mobile -->
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta name="format-detection" content="telephone=no" />
<!-- Styles -->
<link
rel="stylesheet"
type="text/css"
href="../css/lib/OverlayScrollbars.min.css"
/>
<link rel="stylesheet" type="text/css" href="../css/lib/prism.css" />
<link
rel="stylesheet"
type="text/css"
href="../css/lib/prism-js-fold.css"
/>
<link rel="stylesheet" type="text/css" href="../css/compose.css" />
<!-- Favicon -->
<link
rel="apple-touch-icon"
sizes="180x180"
href="../images/favicon/apple-touch-icon.png"
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href="../images/favicon/favicon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="../images/favicon/favicon-16x16.png"
/>
<!-- <link rel="manifest" href="../images/favicon/site.webmanifest" />-->
<link
rel="mask-icon"
href="../images/favicon/safari-pinned-tab.svg"
color="#9680ff"
/>
<meta name="msapplication-TileColor" content="#ffffff" />
<meta name="theme-color" content="#ffffff" />
<!-- Opengraph -->
<meta name="twitter:card" content="summary_large_image" />
<meta property="og:type" content="website" />
<meta property="og:image:type" content="images/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://billline.net" />
<meta property="og:site_name" content="bill_line" />
<meta
property="og:title"
content="API bill_line: подробная инструкция по подключению"
/>
<meta
property="og:description"
content="bill_line разработал удобный современный API, который позволяет любому клиенту быстро подключить свой продукт и начать принимать платежи"
/>
<meta property="og:image" content="images/opengraph.png" />
<style>
.preloader {
display: none;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 50;
background-color: var(--white);
overflow: hidden;
}
.preloader.-visible {
display: block;
}
.preloader video,
.preloader img {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
}
@media screen and (max-width: 759px) {
.preloader video,
.preloader img {
-webkit-transform: scale(2);
transform: scale(2);
}
}
</style>
</head>
<body class="-api">
<div class="preloader">
<video src="../images/preloader.mp4" muted autoplay playsinline></video>
</div>
<script>
// Allow animations if JS support is enabled
document.body.classList.add("-allow-animations");
// Don't show preloader again if the page was visited
let preloader = document.querySelector(".preloader");
let fullPageUrl = window.location.href;
let visitedPages = window.localStorage.getItem("visited-pages");
let visitedPagesArr = visitedPages ? visitedPages.split(" ") : "";
let isPreloaderLoaded = visitedPagesArr.length;
if (preloader && isPreloaderLoaded) {
preloader.remove();
} else if (preloader) {
preloader.classList.add("-visible");
window.addEventListener("load", function () {
window.localStorage.setItem(
"visited-pages",
visitedPages + " " + fullPageUrl
);
});
}
</script>
<header class="header">
<div class="container">
<div class="header-container">
<a href="/ru" class="header__logo">
<img src="../images/logo-text.svg" alt="billline.net" />
</a>
<div class="header__menu">
<div
class="
localization-dropdown
--dropdown
text-2
--medium-text
--caps-text
"
>
<div class="--dropdown__value">
<span
class="
localization-dropdown__icon
--mask-item
--gradient-hover
"
style="
-webkit-mask-image: url(../images/icons/globe.svg);
mask-image: url(../images/icons/globe.svg);
"
></span>
<p class="--gradient-hover">Рус</p>
<span
class="
localization-dropdown__arrow
--mask-item
--gradient-hover
"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div class="--dropdown__list">
<a href="/api" class="--dropdown__list-item --gradient-hover">
Укр
</a>
<a
href="#"
class="--dropdown__list-item --gradient-hover -active"
>
Рус
</a>
<a
href="/en/api"
class="--dropdown__list-item --gradient-hover"
>
Eng
</a>
</div>
</div>
<nav class="header__menu-nav text-2 --medium-text">
<a class="header__nav --gradient-hover" href="/ru/product">
Продукт
</a>
<a class="header__nav --gradient-hover" href="/ru/connect">
Подключение
</a>
<a class="header__nav --gradient-hover -current" href="/ru/api">
API
</a>
<a class="header__nav --gradient-hover" href="/ru/about">
О компании
</a>
<a class="header__nav --gradient-hover" href="/ru/contacts">
Контакты
</a>
</nav>
<div class="header__button-box">
<a
href="https://cabinet.billline.net/login"
target="_blank"
class="default-button -small"
>
<p data-hover-text="Войти">Войти</p>
</a>
<a
href="https://cabinet.billline.net/register"
target="_blank"
class="default-button -small -shadow -black"
>
<p>Регистрация</p>
<span class="default-button__arrow"></span>
</a>
</div>
</div>
<button
class="
header__open-menu-button
-small
default-button
-shadow
-white
"
>
<div></div>
<div></div>
<div></div>
</button>
</div>
</div>
</header>
<main>
<div class="api-error">
<div class="container">
<div class="api-error-container">
<div class="api-error__icon">
<img
src="../images/icons/api-icon.svg"
alt="API - billline.net"
/>
</div>
<div class="api-error__text mob-title-5 --bold-text">
API Документация доступна на экранах с разрешением выше 1024 px по
ширине
</div>
<a
href="/ru"
class="api-error__button default-button -shadow -black"
>
<p>На Главную страницу</p>
<span class="default-button__arrow"></span>
</a>
</div>
</div>
</div>
<article class="api-section">
<div class="container">
<div class="api-section-container">
<nav class="api-navigation --custom-scrollbar"></nav>
<div class="api-content-block">
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="registration">Регистрация</h2>
<p>
Для начала работы пройдите регистрацию
<a
href="https://cabinet.billline.net/register"
target="_blank"
>https://cabinet.billline.net/register</a
>
</p>
<p>
После регистрации вы получите доступ к личному кабинету
пользователя.
</p>
<p>
Для создания мерчанта нужно перейти на вкладку
“Мерчанты” (на сайдбаре), и нажать на “ + ” (рис. 1).
</p>
<img
src="../images/api-page/img-1.png"
alt="Регистрация - billline.net"
/>
<p><em>рис. 1</em></p>
<p>При регистрации нового мерчанта заполните поля:</p>
<p><strong>1. Наименование мерчанта</strong></p>
<p>Указать имя мерчанта</p>
<p><strong>2. Ссылка на ресурс</strong></p>
<p>Нужно ввести URL своего ресурса</p>
<p><strong>3. Секретный ключ мерчанта</strong></p>
<p>
Нажмите кнопку “Сгенерировать” для автоматической
генерации ключа.
</p>
<h4>
Заполнение следующих полей связано с приемом платежей
(Deposit)
</h4>
<p><strong>4. Передача URL-адресов в форме</strong></p>
<p>
Выбирая «YES» — вы подтверждаете согласие на передачу
URL-адресов в форму оплаты (куда будет перенаправлен
покупатель после проведения платежа – success_url после
успешного принятия платежа в обработку, fail_url – при
отказе проведения платежа).
</p>
<p>
Если оставить значение «NO» — адрес будет взят из
настроек мерчанта по умолчанию (process_url)
</p>
<p>
<strong>
5. URL-адрес обработчика платежей на стороне магазина
(process_url)
</strong>
</p>
<p>
Введите URL-адрес обработчика платежей на стороне
магазина, а также укажите тип запроса, который
необходимо отправлять на указанный адрес
</p>
<p>
<strong>
6. URL-адрес перенаправления в случае успешного
проведения операции (success_url)
</strong>
</p>
<p>
Введите URL-адрес перенаправления плательщика в случае
успешного проведения операции, а также укажите тип
запроса, который необходимо отправлять на указанный
адрес
</p>
<p>
<strong>
7. URL-адрес перенаправления в случае ошибки во время
проведения операции (fail_url)
</strong>
</p>
<p>
Введите URL-адрес перенаправления плательщика в случае
ошибки во время проведения операции, а также укажите тип
запроса, который необходимо отправлять на указанный
адрес.
</p>
<h4>
Заполнение следующих полей связано с проведением выплат
(Withdrawal)
</h4>
<p>
<strong>
8. Получение callback-ответа с результатами проведения
выплаты средств
</strong>
</p>
<p>
Выбирая «YES» — вы подтверждаете получение
callback-запросов с результатами проведения выплаты
средств. В противном случае, результат необходимо
получать самостоятельно (отправкой запроса статуса
платежа).
</p>
<p>
<strong>
9. URL-адрес обработчика callback-ответов
(withdrawal_url)
</strong>
</p>
<p>
В этом поле нужно задать URL, на который будет
отправляться ответ с результатом проведения выплаты и
метод, которым будут передаваться данные (GET или POST).
Если эти действия не выполнить, то уведомление об
изменении статуса транзакции отправлено не будет.
</p>
<p>
<strong>
10. Возврат маски карты получателя в callback-ответе
</strong>
</p>
<p>
Выбирая «YES» — вы соглашаетесь на получение маски карты
получателя в callback (в формате 123412ХХХХХХ4321). При
условии, что callback-ответы включены
</p>
<p>
<strong>
11. Доступ к API методам Payout Send и Payout Status
</strong>
</p>
<p>
В этой настройке можно ограничить IP-адреса, с которых
будет разрешено принимать запрос на проведение выплат.
</p>
<p>
Мы рекомендуем ограничить доступ — это дополнительно
обезопасит сас.
</p>
<p>
Для активации мерчанта обратитесь в службу поддержки
<a href="mailto:support@billline.net">
support@billline.net
</a>
</p>
<p>
Также, после активации мерчанта, служба поддержки
сообщит базовый URL для запросов к API.
</p>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="electronic-signature">Цифровая подпись</h2>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="electronic-signature-require">
Цифровая подпись в запросах
</h3>
<p>
<strong>
1. В каждом из методов API указывается какие поля
используются для формирования подписи, а также метод
хеширования (MD5 или SHA256).
</strong>
</p>
<p>
<strong>
2. Отобрав нужные поля нужно их отсортировать по
алфавиту (по возрастанию).
</strong>
</p>
<p>
<strong>
3. В конец добавляется секретный ключ мерчанта.
</strong>
</p>
<p>
<strong>
4. Конкатенация всех полей идет через символ «:» без
их названия
</strong>
</p>
<p>
<strong>
5. Полученная строка хешируется (методом MD5 или
SHA256) и его байтовое представление кодируется в
Base64:
</strong>
<code>
sign = Base64(MD5(Implode(Sort(Params) + SecretKey,
':'), true))</code
>
или
<code>
sign = Base64(SHA256 (Implode(Sort(Params) +
SecretKey, ':'), true))</code
>
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример подписи для запроса Payout Send:
</p>
<div class="api-info-example__code-block">
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-php"
><code class="language-php">$data = [
"merchant" => "M1VJDHSI6DYXS",
"method" => 1,
"payout_id" => "000002",
"account" => "5300111122223333",
"amount" => 1.19,
"currency" => 'UAH'
];
$dataSet = $data;
ksort($dataSet, SORT_STRING);
array_push($dataSet, "SecRetKey0123");
$signString = implode(":", $dataSet);
$calc_sign = base64_encode(md5($signString, true));
$data["sign"] = $calc_sign;</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="electronic-signature-callback">
Цифровая подпись в Callback
</h3>
<p>
<strong>
1. Все поля формы с префиксом «co_» отсортированы по
алфавиту.
</strong>
</p>
<p>
<strong>
2. В конец добавлен секретный ключ мерчанта.
</strong>
</p>
<p>
<strong>
3. Конкатенация всех полей произведена через символ
«:» без их названия.
</strong>
</p>
<p>
<strong>
4. Пример строки для подписи данных для запроса Payout
Send:
</strong>
<code
>16:UAH:2019-02-19 19:12:04:2019-02-19
19:12:11:success:1:M1VJDHSI6DYXS:20:34:15.76:SecretKey
</code>
</p>
<p>
<strong>
5. Полученная строка хешируется методом MD5 и его
байтовое представление кодируется в Base64:
</strong>
<code>
co_sign = Base64(MD5(Implode(Sort(Params) + SecretKey,
':'), true))</code
>
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример подписи данных в ответе для запроса Payout Send:
</p>
<div class="api-info-example__code-block">
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-php"
><code class="language-php">$data = [
"co_inv_id" => "1111111",
"co_inv_crt" => "2021-02-16 19:12:04",
"co_inv_prc" => "2021-02-16 19:12:11",
"co_inv_st" => "Success",
"co_payout_id" => "000002",
"co_merchant_uuid" => "M1VJDHSI6DYXS"
];
$dataSet = $data;
ksort($dataSet, SORT_STRING);
array_push($dataSet, "SecRetKey0123");
$signString = implode(":", $dataSet);
$calc_sign = base64_encode(md5($signString, true));
$data["sign"] = $calc_sign;</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="check-electronic-signature">
Проверка цифровой подписи
</h3>
<p>
Проверка цифровой подписи проводится при получении
запроса. Также, настоятельно рекомендуем, реализовать
проверку на стороне мерчанта.
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Проверка цифровой подписи
</p>
<div class="api-info-example__code-block">
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-php"
><code class="language-php">$secret_key = 'SecretKey'; // секретный ключ мерчанта
$dataSet = json_decode($response, TRUE);
$sign = $dataSet["sign"];
unset($dataSet["sign"]);
ksort($dataSet, SORT_STRING);
array_push($dataSet, $secret_key);
$signString = implode(":", $dataSet);
$calc_sign = base64_encode(md5($signString, true));
if ($sign != $calc_sign) {
// Sign error
echo ("Sign error");
} else {
echo "Sign Ok";
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="callbacks">Коллбеки</h2>
<p>
Для уведомления мерчанта о том, что транзакция получила
финальный статус (например, с “Pending” на “Success”),
используется механизм коллбеков.
</p>
<p>Коллбек отправляется:</p>
<ul>
<li>
при финализации транзакции пополнения (Deposit) на
URL-адрес обработчика платежей на стороне магазина
(process_url)
</li>
<li>
при финализации транзакции выплаты (Withdrawal) на
URL-адрес обработчика callback-ответов
(withdrawal_url)
</li>
</ul>
<p>
В ответ на принятый пакет сервер магазина должен
ответить двумя английскими буквами «OK».
</p>
<p>
В случае, если не удалось отправить запрос на
callback_url, или был получен ответ не «OK», будут
осуществляться повторные попытки доставки коллбека, пока
не будет получен ответ «OK».
</p>
<p>
Всего производится 20 попыток доставки коллбека.
Интервал между отправками коллбека составляет:
</p>
<ul>
<li>с 1 по 10 — 5 мин;</li>
<li>с 11 по 20 — 60 мин.</li>
</ul>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="success-callback">
Коллбек при успешном платеже (iframe и host-2-host)
</h3>
<p>
При успешном проведении платежа на сервер магазина
«process_url» передаются данные о платеже методом POST:
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Коллбек содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_crt</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время создания транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_prc</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время проведения транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_st</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус проведения платежа (“Success”);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_order_no</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта (передан
мерчантом при проведении платежа);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма транзакции в валюте, разделитель точка “.”;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_to_wlt</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма зачисления на счет мерчанта (за вычетом
комиссии);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_cur</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
валюта транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_merchant_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
co_merchant_uuid
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта (более детально
расписано в разделе “Цифровая подпись в
Callback”).
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_card_number</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
передача маски карты. Это поле по умолчанию
отсутствует в ответе. Чтобы получать его в ответе,
необходимо в настройках мерчанта установить
значение “YES” в поле “Cardmask in callback”
</p>
</div>
</li>
</ul>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
В случае, если выполняется внутренняя конвертация, в
коллбеке могут присутствовать дополнительные поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_base_amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
базовая сумма, полученная в запросе;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
co_base_currency
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
базовая валюта, получения в запросе платежа;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_rate</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
курс конвертации;
</p>
</div>
</li>
</ul>
</div>
<div class="api-editor --margin-element-top">
<p>
При конвертации в поле co_cur будет валюта процессинга,
а в полях co_amount и co_to_wlt будут суммы в валюте
процессинга.
</p>
<p>
В ответ на принятый пакет сервер мерчанта должен
ответить двумя английскими буквами «OK».
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"co_inv_id" : "1111111",
"co_inv_crt" : "2019-02-19 19:12:04",
"co_inv_prc" : "2019-02-19 19:12:11",
"co_inv_st" : "success",
"co_order_no" : "0001",
"co_amount" : "16",
"co_to_wlt" : "15.95",
"co_cur" : "UAH",
"co_merchant_id" : "1",
"co_merchant_uuid" : "M1VJDHSI6DYXS",
"co_sign" : "pQQgUBfjz+XxRSpwo5srmw=="
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="error-callback">
Коллбек при отказе в проведении платежа (iframe и
host-2-host)
</h3>
<p>
При отказе в проведении платежа на сервер магазина
«process_url» передаются данные об ошибочном платеже
методом POST:
</p>
</div>
<div class="api-response">
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_crt</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время создания транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_prc</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время проведения транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_st</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус проведения платежа (“Fail”);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_order_no</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта (передан
мерчантом при проведении платежа);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_merchant_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
co_merchant_uuid
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта (более детально
расписано в разделе “Цифровая подпись в
Callback”).
</p>
</div>
</li>
</ul>
</div>
<div class="api-editor --margin-element-top">
<p>
В ответ на принятый пакет сервер мерчанта должен
ответить двумя английскими буквами «OK».
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"co_inv_id" : "1111111",
"co_inv_crt" : "2019-02-19 19:12:04",
"co_inv_prc" : "2019-02-19 19:12:11",
"co_inv_st" : " fail",
"co_order_no" : "0001",
"co_merchant_id" : "1",
"co_merchant_uuid" : "M1VJDHSI6DYXS",
"co_sign" : "pQQgUBfjz+XxRSpwo5srmw=="
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="callback-on-payment">Коллбек при выплате</h3>
<p>
Уведомление будет отправлено в случае изменения статуса
транзакции (например с «Pending» на «Success»).
</p>
<p>
Данные передаются на URL-адрес обработчика
callback-ответов (указан в настройках мерчанта) методом
GET или POST.
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Колбек при выплате содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_crt</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время создания платежа;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_prc</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время проведения платежа;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_st</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус проведения («Success» или «Fail»);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_payout_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер платежа в системе мерчанта (номер выплаты);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
co_merchant_uuid
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта (более детально
расписано в разделе “Цифровая подпись в
Callback”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример Callback при выплате:
</p>
<div class="api-info-example__code-block">
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-php"
><code class="language-php">Array
(
[co_inv_id] => 1111111
[co_inv_crt] => 2021-02-16 19:12:04
[co_inv_prc] => 2021-02-16 19:12:11
[co_inv_st] => Success
[co_payout_id] => 000002
[co_merchant_uuid] => M1VJDHSI6DYXS
[co_sign] => XXXXXXXXXXXXXXXXXX
)</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="methods-api">Методы API</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Список методов API:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">/payment/form</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрос на прием платежа (iframe)
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">/api/host2host</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрос на прием платежа (host-2-host)
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
/payment/status
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрос статуса платежа (прием)
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
/merchant/api/​payout_send
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрос на выплату
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
/merchant/api/​payout_status
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрос статуса платежа (выплата)
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
/payment/balance
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрос баланса
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">
/api/payment-list
</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрос списка платежей
</p>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="payment-acceptance-iframe">
Прием платежей (iframe)
</h2>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 data-method="post" id="iframe-primary-request">
Первичный запрос
</h3>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма транзакции в валюте, разделитель точка “.”;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
валюта транзакции, может принимать значения UAH,
USD, EUR, KZT и AZN;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">item_name</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
название товара;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">first_name</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
имя клиента. Максимальная длина 30 символов;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">last_name</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
фамилия клиента;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">country</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
страна клиента в ISO 3166-1 alpha-2 формате;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">ip</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
IP-адрес клиента;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">custom</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
для дополнительной информации о клиенте.
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">lang</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>
язык (добавлено 26.07.2021.), на котором будет
отображаться платежная форма:
</p>
<p>en — английский</p>
<p>ru — русский</p>
<p>ua — украинский</p>
<p>
Если не передавать поле «lang» — по умолчанию
отобразится форма оплаты на
<strong>русском</strong> языке.
</p>
</div>
</div>
</li>
</ul>
</div>
<div class="api-editor --margin-element-top">
<p>
Поля «process_url», «success_url», «fail_url» (куда
будет перенаправлен клиент после проведения платежа)
передавать не нужно. Эти данные берутся автоматически с
настроек мерчанта в личном кабинете.
</p>
<p>
В некоторых случаях в запросе используется поле “last_4”
в котором передаются последние 4 цифры номера карты.
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -get"
>GET</span
>
<p class="text-3 mob-text-3 --code-fonts">
/payment/form
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный
url>​/payment/form
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"merchant" : "M1VJDHSI6DYXS",
"order" : "0001",
"amount" : "16",
"currency" : "UAH",
"item_name" : "Samsung TV",
"first_name" : "IVAN",
"last_name" : "IVANOV",
"country" : "UA",
"ip" : "212.10.20.75",
"custom" : "",
"lang" : "en"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3
data-method="post"
id="redirecting-buyer-after-making-payment"
>
Перенаправление покупателя после проведения платежа
</h3>
<p>
<strong>
Внимание! Перевод покупателя на ”success_url” или
«fail_url» является только информационным и НЕ МОЖЕТ
подтверждать успех или отказ в приеме платежа!
</strong>
</p>
<p>
После проведения платежа клиент перенаправляется на
“success_url” или “fail_url”
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order_no</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта (тот же что и
в запросе «order»);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма транзакции в валюте, разделитель точка “.”;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
валюта транзакции (в которой был выставлен счет);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">item_name</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
название товара (если передавалось);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_st</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус транзакции в платежной системе (Success или
Canceled).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа при успешном принятии платежа в обработку:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"order_no" : "0001",
"amount" : "16",
"currency_code" : "UAH",
"item_name" : "Samsung TV",
"co_inv_id" : "1111111",
"co_inv_st" : "success"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа при отклонении платежа:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"order_no" : "0001",
"amount" : "16",
"currency_code" : "UAH",
"item_name" : "Samsung TV",
"co_inv_id" : "1111111",
"co_inv_st" : "canceled"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="final-status-callback">
Финальный статус (коллбек)
</h3>
<p>
Для уведомления мерчанта о том, что транзакция получила
финальный статус (например, с “Pending” на “Success”),
используется механизм коллбеков.
</p>
<p>Подробно расписано в разделе "Коллбеки":</p>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="payment-acceptance-host-2-host">
Прием платежей (host-2-host)
</h2>
<p>
Согласно правилам платежных систем Mastercard и Visa
наличие сертификата PCI DSS (соответствующего уровня)
является обязательным, так как клиент вводит реквизиты
карты на сайте мерчанта.
</p>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 data-method="post" id="host-2-host-primary-request">
Первичный запрос
</h3>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">type</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
тип транзакции (payment);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма транзакции в валюте, разделитель точка “.”;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
валюта транзакции, может принимать значения UAH,
USD, EUR, KZT и AZN;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">card_num</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер карты;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">card_exp_month</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
месяц окончания срока действия карты;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">card_exp_year</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
год окончания срока действия карты;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">card_cvv</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
cvv карты;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">process_url</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
URL для отправки итогового статуса транзакции
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">item_name</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>название товара (поле не обязательное);</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">first_name</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>имя владельца карты;</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">last_name</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>фамилия владельца карты;</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>
цифровая подпись ключом мерчанта. Используются
поля «type», «merchant», «order», «amount»,
«currency», «card_num», «card_exp_month»,
«card_exp_year», «card_cvv». Хешируется методом
SHA256. (более детально расписано в разделе
“Цифровая подпись в запросах”)
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">browser</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>
массив, в котором передаются данные о браузере
клиента, а именно:
</p>
<p class="--code-fonts">accept_header</p>
<p class="--code-fonts">color_depth</p>
<p class="--code-fonts">ip</p>
<p class="--code-fonts">language</p>
<p class="--code-fonts">screen_height</p>
<p class="--code-fonts">screen_width</p>
<p class="--code-fonts">time_different</p>
<p class="--code-fonts">window_width</p>
<p class="--code-fonts">window_height</p>
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -post"
>POST</span
>
<p class="text-3 mob-text-3 --code-fonts">
/api/host2host
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный
url>​/api/host2host
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса PHP:
</p>
<div class="api-info-example__code-block">
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-php"
><code class="language-php">$url = "https://<предоставленный url>/api/host2host";
$merchant = "M1VJDHSI6DYXS";
$signature = "XXXXXXXXXXXXXXXXXX";
$order_id = "0001";
$data = [
"type" => "payment",
"merchant" => $merchant,
"order" => $order_id,
"amount" => "10.99",
"currency" => "UAH",
"card_num" => "5300111122223333",
"card_exp_month" => "01",
"card_exp_year" => "25",
"card_cvv" => "111",
"process_url" => "https://test.com/api/callback_url",
"item_name" => "Samsung TV",
"first_name" => "IVAN",
"last_name" => "IVANOV",
"browser" => [
"accept_header" => "...",
"color_depth" => "...",
"ip" => "...",
"languager" => "...",
"screen_height" => "...",
"screen_width" => "...",
"time_different" => "...",
"user_agent" => "...",
"java_enabled" => "...",
"window_width" => "...",
"window_height" => "..."
],
];
$dataSign = array_filter(
$data,
fn ($key) => in_array($key, [ 'type', 'merchant', 'order', 'amount', 'currency', 'card_num', 'card_exp_month', 'card_exp_year', 'card_cvv' ]),
ARRAY_FILTER_USE_KEY
);
/*
упрощенный вариант:
$dataSign = [ $data['type'], $data['merchant'], $data['order'], $data['amount'], $data['currency'], $data['card_num'], $data['card_exp_month'], $data['card_exp_year'], $data['card_cvv'] ];
*/
ksort($dataSign, SORT_STRING);
array_push($dataSign, $signature);
$signString = implode(':', $dataSign);
$sign = base64_encode(hash('sha256', $signString, true));
$data['sign'] = $sign;
$request = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($request))
);
$result = curl_exec($ch);</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
При успешном приеме данных (для дальнейшего проведения
платежа) ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус транзакции (3ds);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта (тот же, что и
в запросе);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">uuid</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор транзакци, используйте
его для поиска и при необходимости связаться с
техподдержкой;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">d3_acs_url</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
ссылка на страницу 3DS, куда необходимо
перенаправить клиента;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">d3_pareq</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
данные для пересылки;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">d3_md</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
данные для пересылки.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "3ds",
"merchant": "M1VJDHSI6DYXS",
"order": "0001",
"uuid": "ABC123abc123",
"co_inv_id": 1111111,
"d3_acs_url": "https://3ds.bank.ua",
"d3_pareq": "eJxVUt...tuwjAM/RX==",
"d3_md": "1:809b...82316eb"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
При отклонении платежа ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус транзакции (error);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">code</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
код ошибки;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">description</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
описание ошибки.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "error",
"code": "10",
"description": "The order is already in the system. Request a status."
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="redirect-customer-to-the-3ds-form">
Перенаправление покупателя на форму 3DS
</h3>
<p>
При положительном ответе мерчанту необходимо
переадресовать клиента на форму 3DS. Для этого
используйте параметры из ответа при первичном запросе
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<div class="api-info-example__code-block">
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-html"
><code class="language-html"><form name="MPIform" action="{{ d3_acs_url }}" method="POST" target="_blank">
<input type="text" name="PaReq" value="{{ d3_pareq }}" />
<input type="text" name="MD" value="{{ d3_md }}" />
<input type="text" name="TermUrl" value="{{ URL }}" />
<button type="submit">Send</button>
</form></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 data-method="post" id="final-request">
Итоговый запрос
</h3>
<p>
<strong>
*Обратите внимание! Не путайте d3_pares и d3_pareq:
</strong>
</p>
<ul>
<li>
d3_pareq вы получаете в ответ при первичном запросе и
пересылаете в форму 3DS;
</li>
<li>
d3_pares вы получаете от формы 3DS и пересылаете в
итоговом запросе.
</li>
</ul>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">type</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
тип (3ds);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">uuid</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор транзакции (параметр,
который получаете в ответе при первичном запросе);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта (тот же что и
в первичном запросе);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">d3_pares</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
получаете в ответе от формы 3DS;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">d3_md</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
данные для пересылки (получаете в ответе при
первичном запросе);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта. Используются
поля «type», «merchant», «order», «uuid», «d3_md».
Хешируется методом SHA256. (детально расписано в
разделе “Цифровая подпись в запросах”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -post"
>POST</span
>
<p class="text-3 mob-text-3 --code-fonts">
/api/host2host
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный url>/api/host2host
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример:
</p>
<div class="api-info-example__code-block">
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-php"
><code class="language-php">$data = [
"type" => "3ds",
"merchant" => $merchant ,
"uuid" => "BILLLINE ID",
"order" => "Ваш ID который указывали ранее",
"d3_pares" => $d3_pares,
"d3_md" => $d3_md,
];
$dataSign = array_filter(
$data,
fn ($key) => in_array($key, [ "type", "merchant", "order", "uuid", "d3_md" ]),
ARRAY_FILTER_USE_KEY
);
/*
упрощенный вариант:
$dataSign = [ $data["type"], $data["merchant"], $data["order"], $data[" uuid "], $data["d3_md"] ];
*/
$dataSign = [ $data["type"], $data["merchant"], $data["order"], $data[" uuid "], $data["d3_md"] ];
ksort($dataSign, SORT_STRING);
array_push($dataSign, $signature);
$signString = implode(":", $dataSign);
$sign = base64_encode(hash("sha256", $signString, true));
$data["sign"] = $sign;
$request = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Content-Length:" . strlen($request))
);
$result = curl_exec($ch);</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
При успешной обработке запроса ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус платежа (success);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">uuid</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор транзакции, используйте
его для поиска и при необходимости связаться с
техподдержкой;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта (тот же что и
в запросе);
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"type" : "3ds",
"merchant" : "M1VJDHSI6DYXS",
"uuid" : "ABC123abc123",
"order" : "0001",
"d3_pares" : "eJzVmNmS...ovrSsTczhh==",
"d3_md" : "1:809b...82316eb",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
При ошибке платежа ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус платежа (error);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">code</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
код ошибки;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">description</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
описание ошибки.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "error",
"code": "2",
"description": "Incorrect request details"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="host-2-host-final-status-callback">
Финальный статус (коллбек)
</h3>
<p>
Для уведомления мерчанта о том, что транзакция получила
финальный статус (например, с “Pending” на “Success”),
используется механизм коллбеков.
</p>
<p>Подробно расписано в разделе “Коллбеки”:</p>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2
data-method="get"
id="request-for-payment-status-acceptance"
>
Запрос статуса платежа (прием)
</h2>
<p>
<strong
>Метод передачи данных может быть POST или
GET.</strong
>
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">co_inv_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер транзакции (номер передается
после обработки платежа на Process URL мерчанта);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта. Используются
поля «merchant», «order», «co_inv_id». Хешируется
методом MD5. (детально расписано в разделе
“Цифровая подпись в запросах”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -get"
>GET</span
>
<p class="text-3 mob-text-3 --code-fonts">
/api/host2host
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный
url>​/api/host2host
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"merchant" : "M1VJDHSI6DYXS",
"order" : "0001",
"co_inv_id" : "1111111",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
В ответ на запрос возвращаются данные в формате JSON:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>статус транзакции:</p>
<p>
<em class="--code-fonts">Success</em> – платеж
проведен успешно (статус финальный)
</p>
<p>
<em class="--code-fonts">Pending</em> – платеж
новый или находится в очереди на обработку
</p>
<p>
<em class="--code-fonts">Fail</em> – платеж
отклонен (статус финальный)
</p>
<p>
<em class="--code-fonts">Refund</em> – по
платежу был произведен возврат (статус
финальный)
</p>
<p>
<em class="--code-fonts">Error</em> – ошибка
принятых данных (подпись в ответе пустая «sign»
= «»)
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">description</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
описание статуса;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">card_number</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
маска карты (в формате NNNNNN******NNNN, где N –
цифра);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Success:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" : "success",
"order" : "0001",
"description" : "Merchant payment success",
"card_number" : "530011******3333",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Error:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" : "Error",
"order" : "0001",
"description" : "Merchant payment not found",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="payments-to-card">Выплаты на карту</h2>
<p>
Для корректной настройки проведения выплат зайдите в
“Личный кабинет” – “Редактирование мерчанта”.
</p>
<p>
Подробное описание этих настроек находится в разделе
“Регистрация” (пункты 8-11)
</p>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 data-method="post" id="Request for payment">
Запрос на выплату
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">method</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>метод выплаты, целое число:</p>
<p>
<em class="--code-fonts">1</em> -
Visa/Mastercard UAH
</p>
<p>
<em class="--code-fonts">8</em> - Mastercard USD
</p>
<p>
<em class="--code-fonts">9</em> - Mastercard EUR
</p>
<p>
<em class="--code-fonts">11</em> -
Visa/Mastercard AZN
</p>
<p>
<em class="--code-fonts">12</em> -
Visa/Mastercard KZT
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">payout_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер исходящего платежа в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">account</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер платежной карты (Visa или Mastercard);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма транзакции в валюте, разделитель точка “.”;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>
валюта транзакции, должна соответствовать полю
«method»:
</p>
<p>
<em class="--code-fonts">«UAH»</em> для метода
<em class="--code-fonts">1</em>
</p>
<p>
<em class="--code-fonts">«USD»</em> для метода
<em class="--code-fonts">8</em>
</p>
<p>
<em class="--code-fonts">«EUR»</em> для метода
<em class="--code-fonts">9</em>
</p>
<p>
<em class="--code-fonts">«AZN»</em> для метода
<em class="--code-fonts">11</em>
</p>
<p>
<em class="--code-fonts">«KZT»</em> для метода
<em class="--code-fonts">12</em>
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта. Используются
поля «merchant», «method», «payout_id», «account»,
«amount», «currency». Хешируется методом MD5.
(детально расписано в разделе “Цифровая подпись в
запросах”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -post"
>POST</span
>
<p class="text-3 mob-text-3 --code-fonts">
/merchant/api/payout_send
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный
url>/merchant/api/payout_send
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"merchant" : "M1VJDHSI6DYXS",
"method" : 1,
"payout_id" : "000002",
"account" : "5300111122223333",
"amount" : "102.81",
"currency" : "UAH",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>статус транзакции:</p>
<p>
<em class="--code-fonts">Success</em> – платеж
проведен успешно (статус финальный)
</p>
<p>
<em class="--code-fonts">Pending</em> – платеж
новый или находится в очереди на обработку.
Статус Pending требует дополнительного запроса
(подробно расписано в разделе “Запрос статуса
платежа (выплата)”).
</p>
<p>
<em class="--code-fonts">Blocked</em> – платеж
отклонен (статус финальный)
</p>
<p>
<em class="--code-fonts">Error</em> – ошибка
принятых данных. Ответ содержит подпись пустым
ключом (статус не финальный и является
основанием для выяснения причины возникновения
данного статуса)
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">code</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
код статуса транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">payout_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер исходящего платежа в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">description</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
описание статуса;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа — статус Success:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" : "Success",
"code" : "0",
"payout_id" : 000002,
"description" : "Payment successful. Status final",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Pending:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Pending",
"code": "40",
"payout_id": 000002,
"description": "Payment in order",
"sign": "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Error:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Error",
"code": "99",
"payout_id": "",
"description": "Sign error",
"sign": "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="payment-final-status-callback">
Финальный статус (коллбек)
</h3>
<p>
Для уведомления мерчанта о том, что транзакция получила
финальный статус (например, с “Pending” на “Success”),
используется механизм коллбеков.
</p>
<p>Подробно расписано в разделе “Коллбеки”</p>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2
data-method="post"
id="request-for-payment-to-bank-accounts-sepa"
>
Запрос выплаты на банковские счета (SEPA)
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">method</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>метод выплаты, целое число:</p>
<p>
<em class="--code-fonts"
>15 — Payout Iban EUR;</em
>
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">payout_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер исходящего платежа в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">account</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер банковского счета;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">full_name</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
имя, фамилия клиента. Максимальная длина 30
символов;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма транзакции в валюте, разделитель точка “.”;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
валюта транзакции «EUR»:
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта. Используются
поля «merchant», «method», «payout_id», «account»,
«amount», «currency». Хешируется методом MD5.
(детально расписано в разделе “Цифровая подпись в
запросах”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -post"
>POST</span
>
<p class="text-3 mob-text-3 --code-fonts">
/merchant/api/payout_send
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный
url>/merchant/api/payout_send
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"merchant" : "M1VJDHSI6DYXS",
"method" : 15,
"payout_id" : "000002",
"account" : "iban adress",
"full_name" : IVANOV IVAN
"amount" : "102.81",
"currency" : "EUR",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>статус транзакции:</p>
<p>
<em class="--code-fonts">Success</em> – платеж
проведен успешно (статус финальный)
</p>
<p>
<em class="--code-fonts">Pending</em> – платеж
новый или находится в очереди на обработку.
Статус Pending требует дополнительного запроса
(подробно расписано в разделе “Запрос статуса
платежа (выплата)”).
</p>
<p>
<em class="--code-fonts">Blocked</em> – платеж
отклонен (статус финальный)
</p>
<p>
<em class="--code-fonts">Error</em> – ошибка
принятых данных. Ответ содержит подпись пустым
ключом (статус не финальный и является
основанием для выяснения причины возникновения
данного статуса)
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">code</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
код статуса транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">payout_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер исходящего платежа в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">description</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
описание статуса;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа — статус Success:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" : "Success",
"code" : "0",
"payout_id" : 000002,
"description" : "Payment successful. Status final",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Pending:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Pending",
"code": "40",
"payout_id": 000002,
"description": "Payment in order",
"sign": "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Error:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Error",
"code": "99",
"payout_id": "",
"description": "Sign error",
"sign": "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-editor">
<h3 id="sepa-final-status-callback">
Финальный статус (коллбек)
</h3>
<p>
Для уведомления мерчанта о том, что транзакция получила
финальный статус (например, с “Pending” на “Success”),
используется механизм коллбеков.
</p>
<p>Подробно расписано в разделе “Коллбеки”</p>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2
data-method="post"
id="request-for-payment-status-payment"
>
Запрос статуса платежа (выплата)
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">payout_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер исходящего платежа в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта. Используются
поля «merchant» и «payout_id». Хешируется методом
MD5. (детально расписано в разделе “Цифровая
подпись в запросах”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -post"
>POST</span
>
<p class="text-3 mob-text-3 --code-fonts">
/merchant/api/payout_status
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный
url>/merchant/api/payout_status
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"merchant" : "M1VJDHSI6DYXS",
"payout_id" : "000002",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
В ответ на запрос возвращаются данные в формате JSON:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>статус транзакции:</p>
<p>
<em class="--code-fonts">Success</em> – платеж
проведен успешно (статус финальный)
</p>
<p>
<em class="--code-fonts">Pending</em> – платеж
новый или находится в очереди на обработку
</p>
<p>
<em class="--code-fonts">Blocked</em> – платеж
отклонен (статус финальный)
</p>
<p>
<em class="--code-fonts">Error</em> – ошибка
принятых данных (подпись в ответе пустая «sign»
= «»)
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">payout_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер исходящего платежа в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">code</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
код статуса платежа;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">description</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
описание статуса;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Success:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" : "Success",
"payout_id" : 000002,
"code" : "0",
"description" : "Payment successful. Status final",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Error:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" : "Error",
"code" : "8",
"payout_id" : "",
"description" : "Transaction not found",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Blocked:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" : "Blocked",
"payout_id" : 000002,
"code" : "80",
"description" : "Payment error. Status final",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 data-method="post" id="balance-inquiry">
Запрос баланса
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрашиваемая валюта (UAH, USD, EUR, KZT или AZN);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта. Используются
поля «merchant», «currency». Хешируется методом
MD5 (детально расписано в разделе “Цифровая
подпись в запросах”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -post"
>POST</span
>
<p class="text-3 mob-text-3 --code-fonts">
/payment/balance
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный url>/payment/balance
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"merchant" : "M1VJDHSI6DYXS",
"currency" : "UAH",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>статус запроса:</p>
<p>
<em class="--code-fonts">Success</em> – запрос
успешен
</p>
<p>
<em class="--code-fonts">Error</em> – ошибка
принятых данных (в случае, если мерчант не
найден, подпись в ответе не передается)
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрашиваемая валюта (UAH, USD, EUR, KZT или AZN);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">balance</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
доступная сумма в валюте с двумя знаками после
запятой, разделитель точка (например — 212.07);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">description</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
описание («Wallet balance»);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Success:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Success",
"currency": "UAH",
"balance": 212.07,
"description": "Wallet balance",
"sign": "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Error:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Error",
"merchant": "M1VJDHSI6DYXS",
"description": "Merchant not found or not Approved"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 data-method="get" id="request-for-payment-list">
Запрос списка платежей
</h2>
<p>
<strong
>Методом передачи данных может быть POST или
GET.</strong
>
</p>
<p>
Запросы списка платежей обрабатываются не более одного в
минуту.
</p>
<p>Максимальное количество транзакций в ответе 10 000.</p>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Запрос содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
запрашиваемая валюта (UAH, RUB, USD или EUR);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта, с которой
начинается выборка в заданном периоде (если
передается 0, то возвращаются все транзакции);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">start_date</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время начала периода в формате YYYY-MM-DD
HH:ii:ss;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">finish_date</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время окончания периода в формате
YYYY-MM-DD HH:ii:ss;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус платежей, которые будут выбраны (all,
success, pending, blocked, refund);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">type</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
тип транзакции (withdrawal или deposit);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
цифровая подпись ключом мерчанта. Используются
поля «merchant», «currency», «order»,
«start_date», «finish_date», «status», «type».
Хешируется методом MD5 (детально расписано в
разделе “Цифровая подпись в запросах”).
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -get"
>GET</span
>
<p class="text-3 mob-text-3 --code-fonts">
/api/payment-list
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный
url>/api/payment-list
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример запроса:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"merchant" : "M1VJDHSI6DYXS",
"currency" : "UAH",
"order" : "0",
"start_date" : "2021-02-09 00:00:00",
"finish_date" : "2021-02-11 16:59:59",
"status" : "all",
"type" : "deposit",
"sign" : "XXXXXXXXXXXXXXXXXX"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-box --margin-title-top">
<div class="api-content">
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Ответ содержит поля:
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный номер транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">uid</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
уникальный идентификатор транзакции (тот же что и
«uuid»);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order_id</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер транзакции в системе мерчанта;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">subtotal</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>сумма, зачисленная:</p>
<p>
при <em class="--code-fonts">«Deposit»</em> – на
баланс мерчанту
</p>
<p>
при <em class="--code-fonts">«Withdrawal»</em> –
на карту
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">fee_percentage</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>
удержанная комиссия (если тип комиссии процент):
</p>
<p>
при
<em class="--code-fonts">«Deposit»</em>
вычитается с
<em class="--code-fonts">«total»</em>
</p>
<p>
при
<em class="--code-fonts">«Withdrawal»</em>
начисляется на
<em class="--code-fonts">«subtotal»</em>
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">fee_fixed</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>
удержанная комиссия (если тип комиссии
фиксированный):
</p>
<p>
при
<em class="--code-fonts">«Deposit»</em>
вычитается с
<em class="--code-fonts">«total»</em>
</p>
<p>
при
<em class="--code-fonts">«Withdrawal»</em>
начисляется на
<em class="--code-fonts">«subtotal»</em>
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">total</p>
</div>
<div class="api-response__description">
<div class="api-response__text text-2 mob-text-2">
<p>общая сумма транзакции:</p>
<p>
при
<em class="--code-fonts">«Deposit»</em>
– сумма пополнения без взимания комиссии
</p>
<p>
при
<em class="--code-fonts">«Withdrawal»</em>
– сумма выплаты с начисленной комиссией
</p>
</div>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">type</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
тип транзакции (withdrawal или deposit);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">status</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
статус транзакции (Success, Pending, Blocked,
Refund);
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">created_at</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время создания транзакции;
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">updated_ad</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
дата и время проведения транзакции.
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Success:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"id" : 11114,
"uid" : "ABA4OD7X73L4Q",
"order_id" : "0083",
"subtotal" : 0.9,
"fee_percentage" : 0,
"fee_fixed" : 0.1,
"total" : 1,
"currency" : "UAH",
"type" : "Deposit",
"status" : "Success",
"created_at" : "2021-02-10 09:34:57",
"updated_ad" : "2021-02-10 09:37:40"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Blocked:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"id" : 11115,
"uid" : "XTJTEZXMJAUMT",
"order_id" : "0084",
"subtotal" : 0.9,
"fee_percentage" : 0,
"fee_fixed" : 0.1,
"total" : 1,
"currency" : "UAH",
"type" : "Deposit",
"status" : "Blocked",
"created_at" : "2021-02-10 10:22:32",
"updated_ad" : "2021-02-10 10:24:17"
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример ответа – статус Error:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Error",
"description": "Please send one request per minute"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 data-method="get" id="currency-exchange-rate-request">
Запрос курсов валют
</h2>
<p>
<strong>
Метод передачи данных может быть POST или GET
</strong>
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Поля для запроса
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
идентификатор мерчанта
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency_from</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
базовая валюта
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -get"
>GET</span
>
<p class="text-3 mob-text-3 --code-fonts">
/api/rates
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный url>/api/rates
</div>
</div>
</div>
</div>
<div class="api-info-example">
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status":"success",
"description":"Описание ответа",
"rates": {
"CURR1":VAL1,
"CURR2":VAL2,
…}
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Пример:
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status":"success",
"description":"Rates from RUB",
"rates":{
"USD":0.0127,
"UAH":0.3476,
"EUR":0.0112
}
}</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
или в случае ошибки
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status" => "Error",
"description" => "Описание ошибки"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 data-method="post" id="currency-exchange-request">
Запрос обмена валют
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Поля для проведения рекуррентного платежа
</p>
<ul class="api-response__list">
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">merchant</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
идентификатор мерчанта
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">order</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
номер платежа в системе мерчанта
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">amount</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
сумма обмена
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency_from</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
валюта обмена
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency_to</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
валюта результата
</p>
</div>
</li>
<li>
<div
class="
api-response__response-box
text-3
--code-fonts
"
>
<p class="api-response__response">currency sign</p>
</div>
<div class="api-response__description">
<p class="api-response__text text-2 mob-text-2">
подпись запроса с использованием метода шифрования
sha256
</p>
</div>
</li>
</ul>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-response --accordion">
<div
class="
api-info-response__button
--accordion-button --accordion__open
"
>
<div class="api-info-response__button-text">
<span class="api-info-response__request -post"
>POST</span
>
<p class="text-3 mob-text-3 --code-fonts">
/api/exchange
</p>
</div>
<span
class="--mask-item"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div
class="
api-info-response__content
--accordion__content-container
"
>
<div class="--accordion__content">
<div
class="
api-info-response__request-link
text-3
--code-fonts
"
>
https://<предоставленный url>/api/exchange
</div>
</div>
</div>
</div>
<div class="api-info-example">
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "success",
"description": "Currency exchange success",
"transInfo":{
"order":"order",
"uuid":"uuid",
"amount": amount,
"fee":0,
"currency_from":"currency_from",
"converted_amount": converted_amount,
"currency_to":"currency_to",
"rate":rate
}
}
</code></pre>
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
или в случае ошибки
</p>
<div class="api-info-example__code-block">
<div
class="
api-info-example-code__title
text-3
--bold-text
"
>
Content type
</div>
<div class="api-info-example-code__type text-3">
application/json
</div>
<div
class="api-info-example-code__box --code-container"
>
<div
class="
api-info-example-code__buttons
text-3
--medium-text
"
>
<div
class="
api-info-example-code__button
--gradient-hover
--copy-code
"
>
Copy
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--expand-code
"
>
Expand all
</div>
<div
class="
api-info-example-code__button
--gradient-hover
--collapse-code
"
>
Collapse all
</div>
</div>
<div
class="
api-info-example-code
text-3
--code-fonts --code-response
--custom-scrollbar
"
>
<pre
class="language-json"
><code class="language-json">{
"status": "Error",
"description" => "Описание ошибки"
}</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="api-content-container">
<div class="api-content-box">
<div class="api-content">
<div class="api-editor">
<h2 id="status-codes">Коды статуса</h2>
</div>
<div class="api-table text-3">
<table>
<tr>
<th>Код статуса</th>
<th>Статус</th>
<th>Финальный</th>
<th>Описание</th>
</tr>
<tr>
<td>0</td>
<td>Success</td>
<td>Да</td>
<td>Выплата успешна</td>
</tr>
<tr>
<td>2</td>
<td>Error</td>
<td>Нет</td>
<td>Ошибка входных данных</td>
</tr>
<tr>
<td>3</td>
<td>Error</td>
<td>Нет</td>
<td>Платежный метод заблокирован</td>
</tr>
<tr>
<td>4</td>
<td>Error</td>
<td>Нет</td>
<td>Марчант заблокирован</td>
</tr>
<tr>
<td>5</td>
<td>Error</td>
<td>Нет</td>
<td>Ошибка валюты выплаты</td>
</tr>
<tr>
<td>6</td>
<td>Error</td>
<td>Нет</td>
<td>Счет мерчанта заблокирован</td>
</tr>
<tr>
<td>7</td>
<td>Error</td>
<td>Нет</td>
<td>Сумма превышает баланс</td>
</tr>
<tr>
<td>8</td>
<td>Error</td>
<td>Нет</td>
<td>
ID транзакции не найден (Обратитесь в техническую
поддержку для уточнения деталей)
</td>
</tr>
<tr>
<td>10</td>
<td>Error</td>
<td>Нет</td>
<td>
Повторный запрос выплаты, требуется запрос статуса
транзакции
</td>
</tr>
<tr>
<td>40</td>
<td>Pending</td>
<td>Нет</td>
<td>Транзакция в обработке</td>
</tr>
<tr>
<td>80</td>
<td>Blocked</td>
<td>Да</td>
<td>Отказано в выплате</td>
</tr>
<tr>
<td>99</td>
<td>Error</td>
<td>Нет</td>
<td>Ошибка подписи в запросе</td>
</tr>
<tr>
<td>100</td>
<td>Error</td>
<td>Нет</td>
<td>Ошибка не документирована</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</main>
<footer class="footer">
<div class="container">
<div class="footer__top">
<div class="footer__top-left">
<div class="footer__logo">
<img
class="-lazyload"
srcset="../images/lazyload.png"
src="../images/logo.svg"
alt="billline.net"
/>
</div>
<div class="footer__socials">
<a
href="https://www.facebook.com/billline.net"
target="_blank"
class="default-button -shadow -white -social"
>
<span
class="default-button__icon --mask-item"
style="
-webkit-mask-image: url(../images/icons/facebook.svg);
mask-image: url(../images/icons/facebook.svg);
"
></span>
</a>
<a
href="https://www.instagram.com/bill_line.payments/"
target="_blank"
class="default-button -shadow -white -social"
>
<span
class="default-button__icon --mask-item"
style="
-webkit-mask-image: url(../images/icons/instagram.svg);
mask-image: url(../images/icons/instagram.svg);
"
></span>
</a>
<a
href="https://www.linkedin.com/company/billline"
target="_blank"
class="default-button -shadow -white -social"
>
<span
class="default-button__icon --mask-item"
style="
-webkit-mask-image: url(../images/icons/linkedin.svg);
mask-image: url(../images/icons/linkedin.svg);
"
></span>
</a>
</div>
</div>
<div class="footer__top-right text-2 --medium-text">
<nav class="footer__nav-list">
<a class="footer__nav --gradient-hover" href="/ru/product">
Продукт
</a>
<a class="footer__nav --gradient-hover" href="/ru/connect">
Подключение
</a>
<a class="footer__nav --gradient-hover" href="/ru/about">
О компании
</a>
<a class="footer__nav --gradient-hover" href="/ru/contacts">
Контакты
</a>
<a class="footer__nav --gradient-hover" href="/ru/api"> API </a>
</nav>
<nav class="footer__nav-list">
<a
class="footer__nav --gradient-hover"
href="../files/Вимоги%20(RU).pdf"
target="_blank"
>
Требования
</a>
<a
class="footer__nav --gradient-hover"
href="../files/Політика%20конфіденційності%20%20(RU).pdf"
target="_blank"
>
Политика конфиденциальности
</a>
<a
class="footer__nav --gradient-hover"
href="../files/Полiтика%20cookie%20%20(RU).pdf"
target="_blank"
>
Политика Cookie
</a>
<a
class="footer__nav --gradient-hover"
href="../files/Полiтика%20AML%20(RU).pdf"
target="_blank"
>
Политика AML
</a>
</nav>
</div>
</div>
<div class="footer__bot">
<div class="footer__partners">
<img
class="-lazyload"
srcset="../images/lazyload.png"
src="../images/partners/pci-dss.svg"
alt="PCI DSS - billline.net"
/>
<img
class="-lazyload"
srcset="../images/lazyload.png"
src="../images/partners/visa.svg"
alt="VISA - billline.net"
/>
<img
class="-lazyload"
srcset="../images/lazyload.png"
src="../images/partners/mastercard.svg"
alt="Mastercard - billline.net"
/>
</div>
<p class="footer__copyright text-2 --medium-text">© bill_line 2022</p>
</div>
</div>
</footer>
<div class="cookie-block">
<div class="container">
<div class="cookie" data-animate="swim-top">
<p class="text-2 mob-text-2 --white-text">
Этот сайт использует файлы cookie Используя наш сайт, вы
соглашаетесь с нашей
<a
href="../files/Полiтика%20cookie%20%20(RU).pdf"
target="_blank"
class="default-link"
>Политикой cookie</a
>.
</p>
<button
class="
cookie__button
default-button
-small
-shadow
-white
text-2
--medium-text
"
>
Принимаю
</button>
</div>
</div>
</div>
<script src="../js/lib/jquery-3.6.0.min.js"></script>
<script src="../js/lib/jquery.cookie.js"></script>
<script src="../js/lib/jquery.inputmask.min.js"></script>
<script src="../js/lib/OverlayScrollbars.min.js"></script>
<script src="../js/lib/prism.js"></script>
<script src="../js/lib/prism-js-fold.js"></script>
<script src="../js/custom-solutions.js"></script>
<script src="../js/scroll-animation.js"></script>
<script src="../js/form.js"></script>
<script src="../js/script.js"></script>
</body>
</html>