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

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

Налаштування підключення
Потім перейдіть до Mavibot — Payment systems — INXY і натисніть кнопку Connect. Введіть отримані API та Secret ключі у відповідні поля.
скрин на подключение из Mavibot
Генерація платіжного посилання
Щоб згенерувати платіжне посилання, введіть значення змінної payment_sum (наприклад: 1), після чого з'явиться змінна inxy_pay_url. Ви можете додати цю змінну на екран як посилання або вставити її в кнопку Pay.
ПРИМІТКА! Система працює з USD! Сума в змінній payment_sum вважається USD у платіжній системі INXY.
Посилання виглядає так: https://pay.inxy.io/sessions/umLf9cJWBRiaNwowGCE1
Також перед введенням суми для змінної payment_sum ви можете ввести наступні необов'язкові змінні для налаштування платежу
inxy_currency — криптовалюта, яка буде використана для платежу. Ви можете ввести одну з доступних криптовалют, які ви вибрали прапорцем під час генерації API-ключа. Якщо залишити порожнім, гравці самі обирають криптовалюту зі списку вибраних. Доступні значення: ‘BTC’,‘ETH’,‘LTC’,‘DOGE’,‘USDT’,‘USDC’,‘DAI’

inxy_description – опис платежу.

ПРИМІТКА! Спочатку ви вводите необов'язкові змінні для налаштування, а потім payment_sum.
Змінні можна вводити раніше в ланцюжку, а не в одному блоці. Тоді як змінна inxy_pay_url, що містить посилання, повинна бути виведена в правильному місці. Це посилання відкриває платіжну форму.

ПРИМІТКА! Рядок Total amount показує значення в USD, яке дорівнює payment_sum. Рядок Total crypto amount нижче показує значення у вибраній криптовалюті. Воно змінюється залежно від поточного курсу обміну. Це сума, яку ваш клієнт повинен сплатити вам зі свого гаманця.

ПРИМІТКА! Адреса гаманця для платежу під час однієї сесії резервується для клієнта лише на 2 години. Рекомендуйте клієнту переконатися, що час не вичерпано і адреса гаманця все ще дійсна під час здійснення платежу. Якщо час сесії вичерпано — весь процес оплати потрібно почати заново.
Зворотний виклик платежу
Після успішної оплати бот отримає зворотний виклик, який повідомить, що платіж успішно виконано. Ви бачите цей зворотний виклик у системі як повідомлення від користувача, тому користувач не може його надіслати. Користувачі самі НЕ МОЖУТЬ бачити зворотний виклик, його може бачити лише оператор. INXY має кілька типів зворотних викликів:
- Успішні зворотні виклики складаються з перших 10 символів токена, за якими йде ‘success’, наприклад: uc8zsjNN1x_success

Такий зворотний виклик надсилається, якщо клієнт сплатив повну суму і під час платежу не виникло жодних проблем. Разом із цим зворотним викликом до проєкту буде додано дві змінні: inxy_payment_completed дорівнює True; та inxy_payment_status зі значенням paid.
Під час процесу змінна inxy_payment_status змінює своє значення. Після того, як користувач відкриває форму, вона змінюється на waiting_payment, під час обробки платежу — на waiting_confirmation, а після успішної обробки матиме значення paid або partially_paid.
Під час обробки зворотного виклику тип порівняння має бути Full match. Наприклад, ви можете зробити обробку успішного платежу як блок з умовою та показати відповідне повідомлення користувачеві:

2. Іноді курси обміну криптовалют змінюються або гаманці стягують додаткову комісію за операції, тому отримана сума може бути неповною. У таких випадках змінна inxy_payment_status матиме значення partially_paid, і система отримає зворотний виклик, який виглядає так:
У цьому випадку вам потрібно буде надіслати клієнту повідомлення з проханням покрити недостатню суму. Наприклад, ви можете встановити умову для початку вашого зворотного виклику і після його отримання надіслати клієнту попередньо згенерований URL з платіжним посиланням, або ви можете встановити умову, що блок активується, коли значення змінної inxy_payment_status дорівнює partially_paid.

Пам'ятайте, що платіжне посилання дійсне лише 2 години! Якщо клієнт не здійснить оплату недостатньої суми вчасно, його не можна буде відкрити. Оскільки INXY на цьому етапі обробить перший частковий платіж, гроші не повернуться клієнту. Щоб повернути їх, вам потрібно буде перейти до свого облікового запису INXY і виконати операцію повернення.
Створення підписки
Система INXY дозволяє користувачам створювати підписки. Для цього додайте будь-яке значення до змінної inxy_subscription_payment, і буде створено щомісячну підписку. Якщо ви хочете встановити інший період, використовуйте наступні змінні:
inxy_subscription_interval дорівнює ‘day’ — створить інтервал підписки, що дорівнює дням (за замовчуванням — місяць)
inxy_subscription_period — додайте змінну від 1 до 30, щоб встановити період. Наприклад, щоб створити платіж за підпискою раз на 15 днів, встановіть inxy_subscription_interval =‘day’ та inxy_subscription_period=15, а для платежу двічі на рік встановіть inxy_subscription_period=6 (оскільки inxy_subscription_interval за замовчуванням дорівнює month)

Посилання також відкриє платіжну форму, але вона буде іншою: по-перше, збоку буде показано, що платіж є підпискою із зазначеним періодом, по-друге, форма запропонує клієнту внести депозит на кілька платежів наперед.
Особливості INXY: Якщо клієнт платить х2 або х3 від суми, Mavibot отримає повідомлення про одну суму. Решта буде зарахована на баланс клієнта і використана для майбутніх платежів. Оскільки курс обміну криптовалют змінюється, зрештою цієї суми може не вистачити для одного з наступних платежів, що призведе до несплаченої підписки. У такому випадку ви отримаєте зворотний виклик зі статусом ‘fail’, і ви можете налаштувати нагадування для вашого клієнта.
Підписка не може бути частково оплачена. Баланс клієнта перевіряється перед платежем. Якщо коштів недостатньо, платіж взагалі не здійснюється.

Після успішної підписки змінні клієнта включатимуть inxy_subscribtion_id (довідковий номер) та inxy_subscription_status.

Скасування підписки
Щоб скасувати підписку, використовуйте наступну функцію inxy_remove_subscription(inxy_subscription_id). Введіть номер ідентифікатора підписки як inxy_subscribtion_id у функцію, і підписку буде скасовано.

У разі успіху ви отримаєте зворотний виклик ‘Subscription status inxy_subscription_id - deleted’, а змінна inxy_subscription_status зміниться на відповідне значення.
