Регистрация

После регистрации в сервисе 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 — Платежные системы — 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 часа. Рекомендуйте клиенту убедиться, что время не истекло и адрес кошелька все еще действителен при совершении платежа. Если время сессии истекло — весь процесс оплаты нужно начинать заново.

Callback платежа

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

  1. Успешные callback'и состоят из первых 10 символов токена, за которыми следует ‘success’, например: uc8zsjNN1x_success

Такой callback отправляется, если клиент оплатил полную сумму и во время платежа не возникло никаких проблем. Вместе с этим callback'ом в проект будут добавлены две переменные: inxy_payment_completed равно True; и inxy_payment_status со значением paid.

В процессе переменная inxy_payment_status меняет свое значение. После того как пользователь открывает форму, она меняется на waiting_payment, во время обработки платежа — на waiting_confirmation, а после успешной обработки принимает значение paid или partially_paid.

При обработке callback'а тип сравнения должен быть Full match. Например, вы можете сделать обработку успешного платежа как блок с условием и показать пользователю соответствующее сообщение:

2. Иногда курсы обмена криптовалют меняются или кошельки взимают дополнительную комиссию за операции, так что полученная вами сумма оказывается неполной. В таких случаях переменная inxy_payment_status будет иметь значение partially_paid, и система получит callback, который выглядит так:


В этом случае вам нужно будет написать клиенту с просьбой покрыть недостающую сумму. Например, вы можете установить условие для начала вашего callback'а и при его получении отправить клиенту предварительно сгенерированный 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 получит сообщение об одной сумме. Остаток будет зачислен на баланс клиента и будет использован для будущих платежей. Поскольку курс обмена криптовалют меняется, в итоге этой суммы может не хватить для одного из следующих платежей, что приведет к неоплаченной подписке. В таком случае вы получите callback со статусом ‘fail’, и вы можете настроить напоминание для вашего клиента.

Подписка не может быть оплачена частично. Баланс клиента проверяется перед платежом. Если средств недостаточно, платеж вообще не производится.

После успешной подписки в переменных клиента будут inxy_subscribtion_id (номер ссылки) и inxy_subscription_status.

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

Чтобы отменить подписку, используйте следующую функцию inxy_remove_subscription(inxy_subscription_id). Введите номер id подписки как inxy_subscribtion_id в функцию, и подписка будет отменена.

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