<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>bill_line - API</title>
<meta
name="title"
content="bill_line API: detailed connection information"
/>
<meta
name="description"
content="bill_line has developed a convenient modern API that allows any client to quickly connect their product and start accepting payments"
/>
<!-- 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="bill_line API: detailed connection information"
/>
<meta
property="og:description"
content="bill_line has developed a convenient modern API that allows any client to quickly connect their product and start accepting payments"
/>
<meta property="og:image" content="images/opengraph.png" />
<style>
.preloader {
display: none;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 50;
background-color: var(--white);
overflow: hidden;
}
.preloader.-visible {
display: block;
}
.preloader video,
.preloader img {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
}
@media screen and (max-width: 759px) {
.preloader video,
.preloader img {
-webkit-transform: scale(2);
transform: scale(2);
}
}
</style>
</head>
<body class="-api">
<div class="preloader">
<video src="../images/preloader.mp4" muted autoplay playsinline></video>
</div>
<script>
// Allow animations if JS support is enabled
document.body.classList.add("-allow-animations");
// Don't show preloader again if the page was visited
let preloader = document.querySelector(".preloader");
let fullPageUrl = window.location.href;
let visitedPages = window.localStorage.getItem("visited-pages");
let visitedPagesArr = visitedPages ? visitedPages.split(" ") : "";
let isPreloaderLoaded = visitedPagesArr.length;
if (preloader && isPreloaderLoaded) {
preloader.remove();
} else if (preloader) {
preloader.classList.add("-visible");
window.addEventListener("load", function () {
window.localStorage.setItem(
"visited-pages",
visitedPages + " " + fullPageUrl
);
});
}
</script>
<header class="header">
<div class="container">
<div class="header-container">
<a href="/en" 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">Eng</p>
<span
class="
localization-dropdown__arrow
--mask-item
--gradient-hover
"
style="
-webkit-mask-image: url(../images/icons/caret-down.svg);
mask-image: url(../images/icons/caret-down.svg);
"
></span>
</div>
<div class="--dropdown__list">
<a href="/api" class="--dropdown__list-item --gradient-hover">
Укр
</a>
<a
href="/ru/api"
class="--dropdown__list-item --gradient-hover"
>
Рус
</a>
<a
href="#"
class="--dropdown__list-item --gradient-hover -active"
>
Eng
</a>
</div>
</div>
<nav class="header__menu-nav text-2 --medium-text">
<a class="header__nav --gradient-hover" href="/en/product">
Product
</a>
<a class="header__nav --gradient-hover" href="/en/connect">
Connect
</a>
<a class="header__nav --gradient-hover -current" href="/en/api">
API
</a>
<a class="header__nav --gradient-hover" href="/en/about">
About us
</a>
<a class="header__nav --gradient-hover" href="/en/contacts">
Contact us
</a>
</nav>
<div class="header__button-box">
<a
href="https://cabinet.billline.net/login"
target="_blank"
class="default-button -small"
>
<p data-hover-text="Sign in">Sign in</p>
</a>
<a
href="https://cabinet.billline.net/register"
target="_blank"
class="default-button -small -shadow -black"
>
<p>Sign up</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 Documentation is available on screens with a resolution higher
than 1024 px in width
</div>
<a
href="/en"
class="api-error__button default-button -shadow -black"
>
<p>To the Home Page</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">Sign up</h2>
<p>
Sign up at
<a
href="https://cabinet.billline.net/register"
target="_blank"
>https://cabinet.billline.net/register</a
>
to start
</p>
<p>
After signing up you will get access to the your account
</p>
<p>
Create a merchant: go to the "Merchants" tab (on the
sidebar) and click on “+” (Fig. 1).
</p>
<img
src="../images/api-page/img-1.png"
alt="Sign up - billline.net"
/>
<p><em>Fig. 1</em></p>
<p>
Fill in the fields, when you're registering a new
merchant:
</p>
<p><strong>1. Merchant name</strong></p>
<p>Type the merchant name</p>
<p><strong>2. Link to the resource</strong></p>
<p>You should enter URL of your resource</p>
<p><strong>3. Secret key of a merchant</strong></p>
<p>
Click "Generate" button for automatic key generation
</p>
<h4>
Filling in the following fields is related to payment
acceptance (deposit)
</h4>
<p><strong>4. URL transition in the form</strong></p>
<p>
By choosing “YES”, you confirm your consent to URL
address transition to the payment form (where the
customer will be redirected after the payment is made –
success_url after successful acceptance of payment for
processing, fail_url – in case of payment rejection).
</p>
<p>
If you leave "NO" option, the address will be taken from
the merchant’s default settings (process_url).
</p>
<p>
<strong>
5. URL address of the payment processor on the side of
the store (process_url)
</strong>
</p>
<p>
Enter the payment processor's URL address from the
store. Also. you need to specify what type of request
shall be sent to the specified address.
</p>
<p>
<strong>
6. Redirection URL in case of successful transaction
(success_url)
</strong>
</p>
<p>
Enter the URL address of the payer’s redirection in case
of successful transaction, and also specify the type of
request shall be sent to the specified address.
</p>
<p>
<strong>
7. Redirection URL in case of error of transaction
(success_url)
</strong>
</p>
<p>
Enter the URL address of the payer’s redirection in case
of error of transaction, and also specify the type of
request shall be sent to the specified address.
</p>
<h4>
Filling in the following fields is related to payouts
(Withdrawal)
</h4>
<p>
<strong>
8. Receiving a callback response with the results of
withdrawal
</strong>
</p>
<p>
Choosing “YES”, you confirm the receipt of callback
requests with the results of withdrawal. Otherwise, the
result shall be received independently (by sending a
query for payment status).
</p>
<p>
<strong>
9. URL of the callback response processor
(withdrawal_url)
</strong>
</p>
<p>
Here you must specify the URL to which a response with
the result of withdrawal and the method will be sent by
which the data will be transmitted (GET or POST). If
these actions are not performed, then the notification
of change in the transaction status will not be sent.
</p>
<p>
<strong>
10. Return of the recipient’s card mask in the
callback response
</strong>
</p>
<p>
Choosing “YES”, you agree to receive the recipient’s
card mask in callback (in the format 123412XXXXXX4321).
Provided that callback responses are included.
</p>
<p>
<strong>
11. Access to API methods “Payout Send” and “Payout
Status”
</strong>
</p>
<p>
Here you can restrict the IP addresses from which it
will be allowed to receive a request for withdrawal.
</p>
<p>
We recommend to restrict the access, this will protect
you additionally.
</p>
<p>
For activation of the merchant, contact the support
service
<a href="mailto:support@billline.net">
support@billline.net
</a>
</p>
<p>
Also, after activation of the merchant, our support
service will report the base URL for API queries.
</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">Digital 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">
Digital Signature in requests
</h3>
<p>
<strong>
1. Each API method specifies which fields are used to
generate the signature, as well as a hashing method
(MD5 or SHA256).
</strong>
</p>
<p>
<strong>
2. After you select the required fields, you must sort
them alphabetically (in ascending order).
</strong>
</p>
<p>
<strong>
3. Secret merchant key is added at the end.
</strong>
</p>
<p>
<strong>
4. Concatenation of all fields is performed through
the “:” symbol without their names.
</strong>
</p>
<p>
<strong>
5. The line you received is hashed (using MD5 or
SHA256 method) and its bytecode is encoded in Base64:
</strong>
<code>
sign = Base64(MD5(Implode(Sort(Params) + SecretKey,
':'), true))</code
>
or
<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">
Example of the signature for Payout Send request:
</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">
Digital Signature in Callback
</h3>
<p>
<strong>
1. All fields of the form with the “co_” prefix are
sorted alphabetically.
</strong>
</p>
<p>
<strong>
2. The secret merchant key is added at the end.
</strong>
</p>
<p>
<strong>
3. Concatenation of all fields is performed through
the “:” symbol without their names.
</strong>
</p>
<p>
<strong>
4. Example of the string for data signing for Payout
Send request:
</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. The line you received is hashed using MD5 method,
and its bytecode is encoded in 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">
Example of data signing in the response for Payout Send
request:
</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">
Digital signature verification
</h3>
<p>
Digital signature verification is performed after the
request is received. We highly recommend to implement an
additional verification on the merchant's side.
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Digital signature verification
</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">Callbacks</h2>
<p>
The callback mechanism is used to notify the merchant
the transaction has received a final status (for
example, from “Pending” to “Success”).
</p>
<p>The callback is sent:</p>
<ul>
<li>
In case of finalization of the deposit transaction to
the URL address of the payment processor on the side
of the store (process_url);
</li>
<li>
In case of finalization of the withdrawal transaction
to the URL address of the callback response processor
(withdrawal_url).
</li>
</ul>
<p>
In response to the received package, the store server
shall respond with two English letters “OK”.
</p>
<p>
If it was not possible to send a request to
callback_url, or the response received was other than
“OK”, the repeated attempts of callback delivery will be
performed until the “OK” response is received.
</p>
<p>
There are 20 callback attempts delivery performed in
total. The interval between callback sending is:
</p>
<ul>
<li>from 1 to 10 – 5 min.;</li>
<li>from 11 to 20 – 60 min.</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">
Callback in "payment successful" case (iframe and
host-2-host)
</h3>
<p>
If the payment is successful, the payment data will be
sent to the “process_url” store server using the POST
method:
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Callback contains the fields:
</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">
unique transaction number;
</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">
transaction creation date and time;
</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">
transaction processing date and time;;
</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">
payment processing status (“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">
transaction number in the merchant system
(transferred by the merchant when payment is
making);
</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">
transaction amount in the currency, separator
character is a point “.”;
</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">
amount of crediting the merchant account (minus
fee);
</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">
transaction currency;
</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">
unique merchant number;
</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">
unique merchant ID;
</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">
digital signature with the merchant’s key (for
more details read the “Digital signature in
callback” section );
</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">
transfer of the card mask. This field is not
present in the response by default. In order to
receive it in response, you must set “YES” in the
field “Cardmask in callback” in the merchant’s
settings.
</p>
</div>
</li>
</ul>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
If an internal conversion is performed, additional
fields may be present in the callback:
</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">
the base amount received in the request;
</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">
the base currency used in the payment request;
</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">
conversion rate;
</p>
</div>
</li>
</ul>
</div>
<div class="api-editor --margin-element-top">
<p>
During the converting, the co_cu field will include the
processing currency, and the co_amount and co_to_wlt
fields will include the amounts in the processing
currency.
</p>
<p>
In response to the package received, the merchant’s
server must respond with two English letters “OK”.
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Example:
</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">
Callback in "payment rejected" case (iframe and
host-2-host)
</h3>
<p>
If the payment is failed, the missent payment data will
be sent to the “process_url” store server using the POST
method:
</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">
unique transaction number;
</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">
transaction creation date and time;
</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">
transaction processing date and time;;
</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">
payment processing status (“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">
transaction number in the merchant system
(transferred by the merchant when payment is
making);
</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">
unique merchant number;
</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">
unique merchant ID;
</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">
digital signature with the merchant’s key (for
more details read the “Digital signature in
callback” section);
</p>
</div>
</li>
</ul>
</div>
<div class="api-editor --margin-element-top">
<p>
In response to the package received, the merchant’s
server must respond with two English letters “OK”.
</p>
</div>
</div>
<div class="api-addition-info">
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Example:
</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">Callback in payout case</h3>
<p>
The notification will be sent if the transaction status
is changed (for example, from “Pending” to “Success”).
</p>
<p>
The data will be transferred to the URL of the callback
response processor (specified in the merchant’s
settings) using the GET or POST method.
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Callback in in payout case contains certain fileds:
</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">
unique transaction number;
</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">
transaction creation date and time;
</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">
transaction processing date and time;;
</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">
payment processing status ("Success" or "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">
payment number in the merchant’s system (payout
number);
</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">
unique merchant ID;
</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">
digital signature with the merchant’s key (for
more details read the “Digital signature in
callback” section);
</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">
Example of callback in payout case:
</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 Methods</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
List of API methods:
</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">
payment request (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">
payment request (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">
payment status request (Deposit)
</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">
payout request
</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">
payment status request (Payout)
</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">
balance request
</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">
payments list request
</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">Deposit (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">
Initial request
</h3>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The request contains certain fields:
</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">
unique merchant ID;
</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">
transaction number in the merchant system;
</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">
transaction amount in the currency, separator
character is a point “.”;
</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">
transaction currency, may take UAH, USD, EUR, KZT
and 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">
goods name;
</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">
customer’s name. Maximum length is 30 characters;
</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">
customer’s surname;
</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">
customer’s country in the ISO 3166-1 alpha-2
format;
</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">
customer's IP address;
</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">
for additional information about the customer;
</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>
language (added on 07.26.2021.) in which the
payment form will be displayed:
</p>
<p>en — English</p>
<p>ru — Russian</p>
<p>ua — Ukrainian</p>
<p>
If you do not send the “lang” field, the payment
form in <strong>Russian</strong> will be
displayed by default.
</p>
</div>
</div>
</li>
</ul>
</div>
<div class="api-editor --margin-element-top">
<p>
The fields "process_url", "success_url", "fail_url"
(where the client will be redirected after the payment
will be redirected to after the payment is made) do not
have to be passed. These data are automatically taken
from merchant settings in your personal cabinet.
</p>
<p>
The “last_4” field is used in the request in some cases,
in which the last 4 digits of the bank card number are
transmitted.
</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://<provided 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"
>
Customer redirection after making a payment
</h3>
<p>
<strong>
Attention! Direction of the buyer to ”success_url” or
“fail_url” is only informational and CAN NOT confirm
the success or rejection of payment!
</strong>
</p>
<p>
After making a payment, the customer is redirected to
“success_url” or “fail_url”.
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The response contains the fields:
</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">
transaction number in the merchant system (the
same as in the "order" request);
</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">
transaction amount in the currency, separator
character is a point “.”;
</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">
transaction currency (in which the invoice was
formed);
</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">
goods name (if it was transferred);
</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">
unique transaction number;
</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">
transaction status in the payment system (Success
or 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">
Example of the response in case of successful payment
acceptance for processing:
</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">
Example of the response in case of payment cancellation:
</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">
Final Status (Callback)
</h3>
<p>
The callback mechanism is used to notify the merchant
that the transaction has received a final status (for
example, from “Pending” to “Success”).
</p>
<p>It is described in detail in the Callbacks section.</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">
Deposit (host-2-host)
</h2>
<p>
According to the rules of Mastercard and Visa payment
systems, the PCI DSS certificate (of the appropriate
level) is mandatory, as the customer enters the card
details on the merchant’s website.
</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">
Initial request
</h3>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The request contains certain fields:
</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">
transaction type (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">
unique merchant ID;
</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">
transaction number in the merchant system;
</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">
transaction amount in the currency, separator
character is a point “.”;
</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">
transaction currency, may take UAH, USD, EUR, KZT
and 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">
bank card number;
</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">
bank card expiration month;
</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">
bank card expiration year;
</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 of the bank card;
</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 for sending the transaction summary status
</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>goods name (an optional field);</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>card holder name;</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>card holder surname;</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>
digital signature with the merchant’s key.
Avialable fields are: “type”, “merchant”,
“order”, “amount”, “currency”, “card_num”,
“card_exp_month”, “card_exp_year”, “card_cvv”
are used. It is hashed using the SHA256 method.
(for more details read the “Digital signature in
requests” section)
</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>
an array in which data about the customer’s
browser is transmitted, namely:
</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://<provided url>​/api/host2host
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Example of the PHP request:
</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://<provided 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
);
/*
simplified version:
$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">
If the data is successfully received (for further
payment), the response contains the fields:
</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">
transaction status (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">
unique merchant ID;
</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">
transaction number in the merchant system (the
same as in the request);
</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">
unique transaction ID, use it to search or to
contact tech support (if necessary);
</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">
unique transaction number;
</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">
link to the 3DS page, where the customer will be
redirected;
</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">
data for passing;
</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">
data for passing.
</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">
Example of the response:
</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">
If the payment is canceled, the response contains
certain fields:
</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">
transaction status (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">
error code;
</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">
description error.
</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">
Example of the response:
</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">
Redirection of the Customer to the 3DS Form
</h3>
<p>
In case of positive response, the merchant must redirect
the customer to the 3DS form. Use the options from the
response at the initial request for this,.
</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">
Final request
</h3>
<p>
<strong>
*Pay attention! Do not mistake d3_pares and d3_pareq:
</strong>
</p>
<ul>
<li>
you receive d3_pareq in response to the initial
request and send it to the 3DS form;
</li>
<li>
you receive d3_pares from the 3DS form and send in the
final request.
</li>
</ul>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The request contains the fields:
</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">
type (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">
unique merchant ID;
</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">
unique transaction ID (you receive this option in
the response at the initial request);
</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">
transaction number in the merchant system (the
same as in the initial request);
</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">
you receive it in the response from the 3DS form;
</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">
data for passing (you receive it in the response
at the initial request);
</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">
digital signature with the merchant’s key.
Avialable fields are: “type”, “merchant”, “order”,
“uuid”, “d3_md”. It is hashed using the SHA256
method. (for more details read the “Digital
signature in requests” section)
</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://<provided url>/api/host2host
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Example:
</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
);
/*
simplified version:
$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">
If the query is successfully processed, the response
contains the fields:
</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">
payment status (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">
unique merchant ID;
</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">
unique transaction ID, use it to search or to
contact tech support (if necessary);
</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">
transaction number in the merchant system (the
same as in the request);
</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">
Example of the response:
</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">
In case of the payment error, the response contains the
fields:
</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">
transaction status (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">
error code;
</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">
description error.
</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">
Example of the response:
</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">
Final status (callback)
</h3>
<p>
The callback mechanism is used to notify the merchant
that the transaction has received a final status (for
example, from “Pending” to “Success”).
</p>
<p>For more information read the Callbacks section.</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"
>
Payment status request (Deposit)
</h2>
<p>
<strong
>The data transfer method can be POST or GET.</strong
>
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The request contains certain fields:
</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">
unique merchant ID;
</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">
transaction number in the merchant system;
</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">
unique transaction number (the number is
transferred after payment processing to the
merchant’s 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">
digital signature with the merchant’s key.
Avialable fields are: “merchant”, “order”,
“co_inv_id”. It is hashed using the MD5 method.
(for more details read the “Digital signature in
requests” section)
</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://<provided url>​/api/host2host
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Examples of the request:
</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">
In response to the request the data is returned in the
JSON format:
</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>transaction status:</p>
<p>
<em class="--code-fonts">Success</em> – the
payment is completed successfully (final status)
</p>
<p>
<em class="--code-fonts">Pending</em> – the
payment is new or is in the line for processing
</p>
<p>
<em class="--code-fonts">Fail</em> – the payment
is canceled (final status)
</p>
<p>
<em class="--code-fonts">Refund</em> – the
payment was refunded (final status)
</p>
<p>
<em class="--code-fonts">Error</em> – received
data error (signature in the response is empty
“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">
transaction number in the merchant system;
</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">
status description;
</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">
bank card mask (in the format NNNNNN******NNNN,
where N – digit);
</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">
digital signature with the merchant’s key.
</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">
Example of the response – Success status:
</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">
Example of the response – Error status:
</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">Payouts to the bank card</h2>
<p>
For correct payouts setup, go to “Personal Account” –
“Edit merchant”.
</p>
<p>
You can find the detailed description of these settings
in the “Sign up” section (paragraphs 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">
Payout request
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The request contains certain fields:
</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">
unique merchant ID;
</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>payout method, integer number:</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">
outgoing payment number in the merchant’s system;
</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">
bank card number (Visa or 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">
transaction amount in the currency, separator
character is a point “.”;
</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>
transaction currency, must match with the field
“method”:
</p>
<p>
<em class="--code-fonts">«UAH»</em> for method
<em class="--code-fonts">1</em>
</p>
<p>
<em class="--code-fonts">«USD»</em> for method
<em class="--code-fonts">8</em>
</p>
<p>
<em class="--code-fonts">«EUR»</em> for method
<em class="--code-fonts">9</em>
</p>
<p>
<em class="--code-fonts">«AZN»</em> for method
<em class="--code-fonts">11</em>
</p>
<p>
<em class="--code-fonts">«KZT»</em> for method
<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">
digital signature with the merchant’s key.
Avialable fields are: “merchant”, “method”,
“payout_id”, “account”, “amount”, “currency” are
used. It is hashed using the MD5 method (for more
details read the “Digital signature in requests”
section).
</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://<provided
url>/merchant/api/payout_send
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Examples of the request:
</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">
The response contains certain fields:
</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>transaction status:</p>
<p>
<em class="--code-fonts">Success</em> – the
payment is completed successfully (final status)
</p>
<p>
<em class="--code-fonts">Pending</em> – the
payment is new or is in the line for processing.
The Pending status requires an additional
request (for more details read the section
“Payment Status Request (Payout)”).
</p>
<p>
<em class="--code-fonts">Blocked</em> – The
payment is canceled (final status)
</p>
<p>
<em class="--code-fonts">Error</em> – received
data error. The response contains a signature
with an empty key (the status is not final and
is the basis for finding out the reason of this
status)
</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">
transaction status code;
</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">
outgoing payment number in the merchant’s system;
</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">
status description;
</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">
digital signature with the merchant’s key.
</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">
Example of the response – Success status:
</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">
Example of the response – Pending status:
</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">
Example of the response – Error status:
</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">
Final Status (Callback)
</h3>
<p>
The callback mechanism is used to notify the merchant
the transaction has received a final status (for
example, from “Pending” to “Success”).
</p>
<p>For more information read the Callbacks section.</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"
>
Request for payment to bank accounts (SEPA)
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The request contains certain fields:
</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">
unique merchant ID;
</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>payout method, integer number:</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">
the number of the outgoing payment in the
merchant’s system;
</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">
bank account number;
</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">
first name, last name of the client. Maximum
length 30 characters;
</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">
amount of the transaction in currency, separator
character is a period “.”;
</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">
transaction currency “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">
digital signature with the merchant’s key.
Avialable fields are: “merchant”, “method”,
“payout_id”, “account”, “amount”, “currency”.
Hashed using the MD5 method (for more details read
the “Digital signature in requests” section).
</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://<provided
url>/merchant/api/payout_send
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Example of the request:
</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">
The response contains the fields:
</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>transaction status:</p>
<p>
<em class="--code-fonts">Success</em> – the
payment was made successfully (the status is
final)
</p>
<p>
<em class="--code-fonts">Pending</em> – the
payment is new or is in the line for processing.
The Pending status requires an additional
request (for more details read the “Payment
Status Request (payment)” section).
</p>
<p>
<em class="--code-fonts">Blocked</em> – payment
rejected (final status)
</p>
<p>
<em class="--code-fonts">Error</em> – received
data error. The response contains a signature
with an empty key (the status is not final and
is the basis for finding out the reason of this
status)
</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">
transaction status code;
</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">
the number of the outgoing payment in the
merchant’s system;
</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">
status description;
</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">
digital signature with the merchant’s key.
</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">
An example of a response is a Success status:
</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">
An example of a response is the Pending status:
</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">
An example of a response is the Error status:
</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">
Final status (callback)
</h3>
<p>
To notify the merchant that the transaction has received
the final status (for example, from “Pending” to
“Success”), the callback mechanism is used.
</p>
<p>For more information read the Callbacks section.</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"
>
Query for Payment Status (Payout)
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The query contains certain fields:
</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">
unique merchant ID;
</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">
outgoing payment number in the merchant’s system;
</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">
digital signature with the merchant’s key.
Avialable fields are: “merchant” and “payout_id”.
It is hashed using the MD5 method (for more
details read the “Digital signature in requests”
section).
</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://<provided
url>/merchant/api/payout_status
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Examples of the request:
</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">
In response to the request the data is returned in the
JSON format:
</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>transaction status:</p>
<p>
<em class="--code-fonts">Success</em> – the
payment is completed successfully (final status)
</p>
<p>
<em class="--code-fonts">Pending</em> – the
payment is new or is in the line for processing
</p>
<p>
<em class="--code-fonts">Blocked</em> – the
payment is canceled (final status)
</p>
<p>
<em class="--code-fonts">Error</em> – received
data error (signature in the response is empty
“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">
outgoing payment number in the merchant’s system;
</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">
payment status code;
</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">
status description;
</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">
digital signature with the merchant’s key.
</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">
Example of the response – Success status:
</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">
Example of the response – Error status:
</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">
Example of the response – Blocked status:
</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">
Balance request
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
The request contains certain fields:
</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">
unique merchant ID;
</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">
requested currency (UAH, RUB, USD or 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">
digital signature with the merchant’s key.
Avialable fields are: “merchant”, “currency”. It
is hashed using MD5 method (for more details read
the “Digital signature in requests” section).
</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://<provided url>/payment/balance
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Examples of the request:
</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">
The response contains certain fields:
</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>request status:</p>
<p>
<em class="--code-fonts">Success</em> – request
successful
</p>
<p>
<em class="--code-fonts">Error</em> – received
data error (if the merchant is not found, the
signature in the response is not transferred)
</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">
requested currency (UAH, RUB, USD or EUR);
</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">
available currency amount with two decimal places,
separator character is a point (for example –
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">
description (”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">
digital signature with the merchant’s key.
</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">
Example of the response – Success status:
</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">
Example of the response – Error status:
</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">
Payments list request
</h2>
<p>
<strong
>The data transfer method can be POST or GET.</strong
>
</p>
<p>
Payments lists requests are processed not more than one
per minute.
</p>
<p>
The maximum number of transactions in the response is
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">
The requests contains certain fields:
</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">
unique merchant ID;
</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">
requested currency (UAH, RUB, USD or 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">
the number of the transaction in the merchant’s
system, from which the selection begins in the
specified period (if 0 is transferred, then all
transactions are returned);
</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">
date and time of the beginning of the period in
the "YYYY-MM-DD HH:ii:ss" format;
</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">
date and time of the end of the period in the
"YYYY-MM-DD HH:ii:ss" format;
</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">
status of payments to be selected (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">
transaction type (withdrawal or 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">
digital signature with the merchant’s key.
Avialable fields are: “merchant”, “currency”,
“order”, “start_date”, “finish_date”, “status”,
“type”. It is hashed using MD5 method (for more
details read the “Digital signature in requests”
section).
</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://<provided url>/api/payment-list
</div>
</div>
</div>
</div>
<div class="api-info-example">
<p class="api-info-example__title text-2 --bold-text">
Examples of the request:
</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">
The response contains the fields:
</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">
unique transaction number;
</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">
unique transaction ID (the same as “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">
transaction number in the merchant system;
</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>amount transfered:</p>
<p>
In case of
<em class="--code-fonts">“Deposit”</em> – to the
merchant’s balance
</p>
<p>
In case of
<em class="--code-fonts">«Withdrawal»</em> – to
the card
</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>
deducted fee (if the type of fee is a per cent):
</p>
<p>
In case of
<em class="--code-fonts">“Deposit”</em>
deducted from
<em class="--code-fonts">“total”</em>
</p>
<p>
In case of
<em class="--code-fonts">“Withdrawal”</em>
added to
<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>fee rate (if the fee type is fixed):</p>
<p>
In case of
<em class="--code-fonts">“Deposit”</em>
deducted from
<em class="--code-fonts">“total”</em>
</p>
<p>
In case of
<em class="--code-fonts">“Withdrawal”</em>
added to
<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>total transaction amount:</p>
<p>
In case of
<em class="--code-fonts">“Deposit”</em>
– deposit amount without charging a fee
</p>
<p>
In case of
<em class="--code-fonts">“Withdrawal”</em>
– payout amount with added fee
</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">
transaction type (withdrawal or 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">
transaction status (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">
transaction creation date and time;
</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">
transaction processing date and time.
</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">
Example of the response – Success status:
</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">
Example of the response – Blocked status:
</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">
Example of the response – Error status:
</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">
Currency rates request
</h2>
<p>
<strong>
The data transfer method can be POST or GET
</strong>
</p>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Request fields
</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">
merchant ID
</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">
base currency
</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://<provided 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":"Description of the response",
"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">
Example:
</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">
or in case of 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" => "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">
Request for currency exchange
</h2>
</div>
<div class="api-response">
<p class="api-response__title text-2 mob-text-2">
Fields for recurring payment
</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">
merchant ID
</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">
payment number in the merchant’s system
</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">
exchange amount
</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">
exchange currency currency_to – result
</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">
result currency
</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">
request signature using sha256 encryption method
</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://<provided 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" => "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">Status codes</h2>
</div>
<div class="api-table text-3">
<table>
<tr>
<th>Status code</th>
<th>Status</th>
<th>Final</th>
<th>Description</th>
</tr>
<tr>
<td>0</td>
<td>Success</td>
<td>Yes</td>
<td>Payout successful</td>
</tr>
<tr>
<td>2</td>
<td>Error</td>
<td>No</td>
<td>Input data error</td>
</tr>
<tr>
<td>3</td>
<td>Error</td>
<td>No</td>
<td>Payment method blocked</td>
</tr>
<tr>
<td>4</td>
<td>Error</td>
<td>No</td>
<td>Marchant blocked</td>
</tr>
<tr>
<td>5</td>
<td>Error</td>
<td>No</td>
<td>Payout currency error</td>
</tr>
<tr>
<td>6</td>
<td>Error</td>
<td>No</td>
<td>Merchant account blocked</td>
</tr>
<tr>
<td>7</td>
<td>Error</td>
<td>No</td>
<td>The amount exceeds the balance</td>
</tr>
<tr>
<td>8</td>
<td>Error</td>
<td>No</td>
<td>
Transaction ID not found (Contact technical support
for details)
</td>
</tr>
<tr>
<td>10</td>
<td>Error</td>
<td>No</td>
<td>
Repeated withdrawal request, transaction status
request required
</td>
</tr>
<tr>
<td>40</td>
<td>Pending</td>
<td>No</td>
<td>Transaction in processing</td>
</tr>
<tr>
<td>80</td>
<td>Blocked</td>
<td>Yes</td>
<td>Refused to pay</td>
</tr>
<tr>
<td>99</td>
<td>Error</td>
<td>No</td>
<td>Signature error in request</td>
</tr>
<tr>
<td>100</td>
<td>Error</td>
<td>No</td>
<td>The error is not documented</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="/en/product">
Product
</a>
<a class="footer__nav --gradient-hover" href="/en/connect">
Connect
</a>
<a class="footer__nav --gradient-hover" href="/en/about">
About us
</a>
<a class="footer__nav --gradient-hover" href="/en/contacts">
Contact us
</a>
<a class="footer__nav --gradient-hover" href="/en/api"> API </a>
</nav>
<nav class="footer__nav-list">
<a
class="footer__nav --gradient-hover"
href="../files/Вимоги%20(EN).pdf"
target="_blank"
>
Requirements
</a>
<a
class="footer__nav --gradient-hover"
href="../files/Політика%20конфіденційності%20%20(EN).pdf"
target="_blank"
>
Privacy Policy
</a>
<a
class="footer__nav --gradient-hover"
href="../files/Полiтика%20cookie%20%20(EN).pdf"
target="_blank"
>
Cookie Policy
</a>
<a
class="footer__nav --gradient-hover"
href="../files/Полiтика%20AML%20(EN).pdf"
target="_blank"
>
AML Policy
</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">
This site uses cookies By using our site, you agree to our
<a
href="../files/Полiтика%20cookie%20%20(EN).pdf"
target="_blank"
class="default-link"
>Cookie Policy</a
>.
</p>
<button
class="
cookie__button
default-button
-small
-shadow
-white
text-2
--medium-text
"
>
I accept
</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>