<!DOCTYPE html>
<html lang="uk">
<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);
}
.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="/" 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="#"
class="--dropdown__list-item --gradient-hover -active"
>
Укр
</a>
<a
href="/ru/api"
class="--dropdown__list-item --gradient-hover"
>
Рус
</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="/product">
Продукт
</a>
<a class="header__nav --gradient-hover" href="/connect">
Підключення
</a>
<a class="header__nav --gradient-hover -current" href="/api">
API
</a>
<a class="header__nav --gradient-hover" href="/about">
Про компанію
</a>
<a class="header__nav --gradient-hover" href="/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="/" 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>
Для cповіщення мерчанта про те, що транзакція набула
фінального статусу (наприклад, із “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="/product">
Продукт
</a>
<a class="footer__nav --gradient-hover" href="/connect">
Підключення
</a>
<a class="footer__nav --gradient-hover" href="/about">
Про компанію
</a>
<a class="footer__nav --gradient-hover" href="/contacts">
Контакти
</a>
<a class="footer__nav --gradient-hover" href="/api"> API </a>
</nav>
<nav class="footer__nav-list">
<a
class="footer__nav --gradient-hover"
href="files/Вимоги%20(UA).pdf"
target="_blank"
>
Вимоги
</a>
<a
class="footer__nav --gradient-hover"
href="files/Політика%20конфіденційності%20%20(UA).pdf"
target="_blank"
>
Полiтика конфiденцiйностi
</a>
<a
class="footer__nav --gradient-hover"
href="files/Полiтика%20cookie%20%20(UA).pdf"
target="_blank"
>
Полiтика Cookie
</a>
<a
class="footer__nav --gradient-hover"
href="files/Полiтика%20AML%20(UA).pdf"
target="_blank"
>
Полiтика 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(UA).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>