# INXY Payments

## Регистрация

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

<br>

<figure><img src="/files/aa033d28503b78f78fe8cbe8ea3fe888342a9042" 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/2cd1a0bc2ff6afe50bc175b9b026356a1e1dea07" alt=""><figcaption></figcaption></figure>

## Настройка подключения

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

скрин на подключение из Salebot

## Генерация платежной ссылки

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

{% hint style="warning" %} <mark style="color:красный;">**ВАЖНО!**</mark> Система работает с USD! Сумма в переменной payment\_sum считается суммой в долларах США в платежной системе 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/ab8a9f6cc5e17633bce2cebd49d74e85280e83b0" alt=""><figcaption></figcaption></figure>

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

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

{% hint style="warning" %} <mark style="color:красный;">**ВАЖНО!**</mark> Сначала вы вводите необязательные переменные для настройки, а затем payment\_sum.
{% endhint %}

Переменные можно вводить раньше в цепочке, а не в одном блоке. При этом переменная inxy\_pay\_url, содержащая ссылку, должна быть выведена в нужном месте. Эта ссылка открывает форму оплаты.

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

{% hint style="warning" %} <mark style="color:красный;">**ВАЖНО!**</mark> Строка Total amount показывает значение в USD, которое равно payment\_sum. Ниже строка Total crypto amount показывает значение в выбранной криптовалюте. Оно меняется в зависимости от текущего курса. Это сумма, которую ваш клиент должен заплатить вам со своего кошелька.
{% endhint %}

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

{% hint style="warning" %} <mark style="color:красный;">**ВАЖНО!**</mark> Адрес кошелька для оплаты в рамках одной сессии резервируется для клиента только на 2 часа. Рекомендуйте клиенту убедиться, что время не истекло и адрес кошелька все еще действителен в момент оплаты. Если время сессии истекло — весь процесс оплаты нужно начинать заново.
{% endhint %}

## Платежный callback

После успешной оплаты бот получит callback, который сообщит вам, что оплата прошла успешно. Вы видите этот callback в системе как сообщение от пользователя, поэтому пользователь не может его отправить. Сами пользователи НЕ ВИДЯТ callback, его видит только оператор. У INXY есть несколько типов callback'ов:

1. Success callbacks состоят из первых 10 символов токена, за которыми следует ‘success’, например: uc8zsjNN1x\_success

<figure><img src="/files/064c0638c9f9ebf3bc6f4b7b6c937c6c84bd78ca" 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/57a495f0040dc9d2dbb1a63f99a5325cbbdddb7c" alt=""><figcaption></figcaption></figure>

2\. Иногда курсы криптовалют меняются или кошельки взимают дополнительную комиссию за операции, из-за чего полученная вами сумма оказывается неполной. В таких случаях переменная inxy\_payment\_status будет иметь значение partially\_paid, и система получит callback, который выглядит так:

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

<figure><img src="/files/4864331fd81b1c652b175f5a5ecd18c18132a585" 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/83c594805665ca5866b11018934b2325fd83b2f6" alt=""><figcaption></figcaption></figure>

Ссылка также откроет форму оплаты, но она будет отличаться: во-первых, сбоку будет показано, что оплата подписочная, с отображением периода; во-вторых, форма предложит клиенту внести депозит на несколько платежей вперед.

{% hint style="warning" %}
**Особенности INXY**: Если клиент оплатит х2 или х3 от суммы, Salebot получит сообщение об одной сумме. Остальное будет зачислено на баланс клиента и будет использовано для последующих платежей. Так как курс криптовалюты меняется, в итоге этой суммы может не хватить для одного из следующих платежей, что приведет к неоплаченной подписке. В таком случае вы получите callback со статусом ‘fail’ и сможете настроить напоминание для вашего клиента.
{% endhint %}

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

<figure><img src="/files/9d466e4ad00435c3c665b1ac6b9abdd6e0ab9928" alt=""><figcaption></figcaption></figure>

После успешной подписки в переменные клиента будут добавлены inxy\_subscribtion\_id (номер ссылки) и inxy\_subscription\_status.

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

## Отмена подписки

Чтобы отменить подписку, используйте следующую функцию **inxy\_remove\_subscription(inxy\_subscription\_id)**. Введите номер id подписки как inxy\_subscribtion\_id в функции, и подписка будет отменена.

<figure><img src="/files/29089031223dbfdeb0fb70fe37aeb6c79f68cbce" alt=""><figcaption></figcaption></figure>

В случае успеха вы получите callback ‘Subscription status inxy\_subscription\_id - deleted’, а переменная inxy\_subscription\_status изменится на соответствующее значение.

<figure><img src="/files/a6da30645ad6207c35006071f472d5b360513b06" 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/ru/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.
