# INXY Payments

## Реєстрація

Після реєстрації в сервісі <https://auth.inxy.io/> перейдіть до Payment gateway API в лівому боковому меню та заповніть такі дані — назву і опис гаманця та іконку. Посилання на ваш сайт є необов’язковим. Виберіть усі криптовалюти, які ви хочете приймати, за допомогою прапорця і натисніть Save Changes

<br>

<figure><img src="/files/8ea58320a4ee6b01f96bfbe06c2b929760bd108b" alt=""><figcaption></figcaption></figure>

Після збереження відкриється вікно з даними для підключення. Далі згенеруйте API key, натиснувши кнопку Generate (1), і введіть код, надісланий на вашу електронну пошту. Збережіть отримане значення змінної у безпечному місці. Скопіюйте згенерований Secret Key туди ж. У разі втрати ключі можна згенерувати повторно (у цьому випадку не забудьте змінити дані в проєкті). Введіть URL для вебхуків <https://chatter.salebot.pro/inxy\\_callback/result> у поле Postback URL (2).

<br>

<figure><img src="/files/e85ae38554259ca5de255b196ef31fac48e3254c" alt=""><figcaption></figcaption></figure>

## Налаштування підключення

Потім перейдіть у Salebot — Платіжні системи — INXY і натисніть кнопку Connect. Введіть отримані ключі API та Secret у відповідні поля.

скрін на підключення з Salebot

## Генерація платіжного посилання

Щоб згенерувати платіжне посилання, введіть значення змінної payment\_sum (наприклад: 1), після цього з’явиться змінна inxy\_pay\_url. Ви можете додати цю змінну на екран як посилання або вставити її в кнопку Pay.

{% hint style="warning" %} <mark style="color:red;">**УВАГА!**</mark> Система працює з USD! Сума у змінній payment\_sum вважається сумою в USD у платіжній системі INXY.
{% endhint %}

Посилання виглядає так: <https://pay.inxy.io/sessions/umLf9cJWBRiaNwowGCE1><br>

Також, **перед введенням суми для змінної payment\_sum**, ви можете ввести таке **додаткові змінні** для налаштування платежу\
**inxy\_currency** — криптовалюта, яка буде використана для платежу. Ви можете ввести одну з доступних криптовалют, які ви обрали прапорцем під час генерації API key. Якщо залишити поле порожнім, гравці обиратимуть криптовалюту самостійно зі списку вибраних. Доступні значення: ‘BTC’,‘ETH’,‘LTC’,‘DOGE’,‘USDT’,‘USDC’,‘DAI’

<figure><img src="/files/b998765f2cfcc31a6e49865e00c8557d3b99adb4" alt=""><figcaption></figcaption></figure>

**inxy\_description** – опис платежу.

<figure><img src="/files/372b4a0fedb518b9d709426dcd8351f96bdeefd2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %} <mark style="color:red;">**УВАГА!**</mark> Спочатку ви вводите необов’язкові змінні для налаштування, а потім payment\_sum.
{% endhint %}

Змінні можна вводити раніше в ланцюжку, а не в одному блоці. А змінну inxy\_pay\_url, яка містить посилання, слід вивести у правильному місці. Це посилання відкриває платіжну форму.

<figure><img src="/files/4d05f561a1675cf3a5fe5911600ab950b8b45d1c" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %} <mark style="color:red;">**УВАГА!**</mark> Рядок Total amount показує значення в USD, що дорівнює payment\_sum. Рядок Total crypto amount нижче показує значення у вибраній криптовалюті. Воно змінюється залежно від поточного курсу обміну. Це сума, яку ваш клієнт має заплатити вам зі свого гаманця.
{% endhint %}

<figure><img src="/files/2bec6aee10ff394e99b94b4cd87353cd65088ec3" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %} <mark style="color:red;">**УВАГА!**</mark> Адреса гаманця для платежу під час однієї сесії резервується лише для клієнта на 2 години. Рекомендуємо клієнту переконатися, що час не вийшов і адреса гаманця все ще дійсна на момент здійснення платежу. Якщо час сесії вичерпався — увесь процес платежу потрібно починати спочатку.
{% endhint %}

## Платіжний callback

Після успішного платежу бот отримає callback, який повідомить, що платіж було успішно здійснено. Ви бачите цей callback у системі як повідомлення від користувача, тож користувач не може його надіслати. Самі користувачі НЕ БАЧАТЬ callback — його бачить лише оператор. INXY має кілька типів callbackів:

1. Callback успіху складаються з перших 10 символів токена, після яких іде ‘success’, наприклад: uc8zsjNN1x\_success

<figure><img src="/files/998153ed699da6c49f15d7d09ac52d73ee3d2174" alt=""><figcaption></figcaption></figure>

Такий callback надсилається, якщо клієнт сплатив повну суму і під час платежу не виникло проблем. Разом із цим callback до проєкту буде додано дві змінні: inxy\_payment\_completed дорівнює True; та **inxy\_payment\_status** із сплаченою сумою.

{% hint style="warning" %}
Під час процесу **inxy\_payment\_status** змінна змінює своє значення. Після того як користувач відкриє форму, воно зміниться на waiting\_payment, під час обробки платежу — на waiting\_confirmation, а після успішної обробки матиме значення paid або partially\_paid.
{% endhint %}

Під час обробки callback тип порівняння має бути Full match. Наприклад: ви можете зробити обробку успішного платежу як блок з умовою і показати користувачеві відповідне повідомлення:

<figure><img src="/files/6ba117cf58d8bccfad52e47b1335c2832c0e5ab3" alt=""><figcaption></figcaption></figure>

2\. Іноді курси криптовалют змінюються або гаманці беруть додаткову комісію за операції, тому отримана вами сума є неповною. У таких випадках змінна inxy\_payment\_status матиме значення partially\_paid, і система отримає callback, який виглядає так:

\
У такому випадку вам потрібно буде надіслати клієнту повідомлення із запитом доплатити відсутню суму. Наприклад: ви можете задати умову для початку вашого callback і після його отримання надіслати клієнту попередньо згенерований url із платіжним посиланням, або ж можете задати умову, за якої блок активується, коли значення змінної inxy\_payment\_status є **partially\_paid**.

<figure><img src="/files/61214f01f8406eb40e6844b5a3b4755237b8f4e9" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Пам’ятайте, що платіжне посилання дійсне лише 2 години! Якщо клієнт не здійснить оплату відсутньої суми вчасно, його не можна буде відкрити. Оскільки INXY на цьому етапі обробить перший частковий платіж, гроші не повернуться клієнту. Щоб їх повернути, вам потрібно буде зайти у свій акаунт INXY і виконати операцію повернення.
{% endhint %}

## Створення підписки

Система INXY дозволяє користувачам створювати підписки. Для цього додайте будь-яке значення до **inxy\_subscription\_payment** змінної, і буде створено щомісячну підписку. Якщо ви хочете встановити інший період, використовуйте такі змінні: \
**inxy\_subscription\_interval** дорівнює ‘day’ — створить інтервал підписки, що дорівнює дням (за замовчуванням — month)\
**inxy\_subscription\_period** — додайте змінну, що дорівнює від 1 до 30, щоб задати період. Напр.: щоб створити платіж за підпискою раз на 15 днів, встановіть inxy\_subscription\_interval =‘day’ і inxy\_subscription\_period=15, а щоб платіж здійснювався двічі на рік, встановіть inxy\_subscription\_period=6 (оскільки inxy\_subscription\_interval за замовчуванням дорівнює month)

<figure><img src="/files/121487efe677b40c829c47bb32bdfae41f2748f1" alt=""><figcaption></figcaption></figure>

Посилання також відкриє платіжну форму, але вона буде іншою: по-перше, збоку буде показано, що платіж є підпискою із зазначеним періодом; по-друге, форма запропонує клієнту додати депозит на кілька платежів наперед.

{% hint style="warning" %}
**Особливості INXY**: Якщо клієнт сплачує х2 або х3 від суми, Salebot отримає повідомлення про одну суму. Решта буде зарахована на баланс клієнта і буде використана для наступних платежів. Оскільки курс криптовалюти змінюється, зрештою цієї суми може не вистачити для одного з наступних платежів, що призведе до несплаченої підписки. У такому випадку ви отримаєте callback із повідомленням ‘fail’, і ви можете налаштувати нагадування для свого клієнта.
{% endhint %}

{% hint style="warning" %}
Підписку не можна оплатити частково. Баланс клієнта перевіряється перед платежем. Якщо коштів недостатньо, платіж не буде здійснено взагалі.
{% endhint %}

<figure><img src="/files/289865731181fd2c3a13c1e80b6f655aa92e4aec" alt=""><figcaption></figcaption></figure>

Після успішної підписки змінні клієнта міститимуть inxy\_subscribtion\_id (реєстраційний номер) та inxy\_subscription\_status.

<figure><img src="/files/1a147c0a70d4e7f74303ef2a358311eaede1445b" alt=""><figcaption></figcaption></figure>

## Скасування підписки

Щоб скасувати підписку, використовуйте таку функцію **inxy\_remove\_subscription(inxy\_subscription\_id)**. Введіть ідентифікаційний номер підписки як inxy\_subscribtion\_id у функції, і підписку буде скасовано.

<figure><img src="/files/6d78e1fd1af42df3dd422059d5e6efabfe7b0366" alt=""><figcaption></figcaption></figure>

У разі успіху ви отримаєте callback ‘Subscription status inxy\_subscription\_id - deleted’, а змінна inxy\_subscription\_status зміниться на відповідне значення.

<figure><img src="/files/df75c28da96cd8e50a6379fa51ae274878659e28" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/uk/integrations/payment/inxy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
