Регистрация

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


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


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

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

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

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

Для генерации платежной ссылки введите значение переменной payment_sum (например: 1), после чего появится переменная inxy_pay_url. Вы можете добавить эту переменную на экран как ссылку или поместить ее в кнопку Оплатить.

ПРИМЕЧАНИЕ! Система работает с долларами США! Сумма в переменной payment_sum считается в долларах США в платежной системе 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 отображается значение в долларах США, которое равно payment_sum. Сумма Total crypto amount ниже показывает значение в выбранной криптовалюте. Она варьируется в зависимости от текущего обменного курса. Это сумма, которую ваш клиент должен заплатить вам со своего кошелька.

ПРИМЕЧАНИЕ! Адрес кошелька для платежа в течение одной сессии зарезервирован только для клиента на 2 часа. Рекомендуйте клиенту убедиться, что время не истекло и адрес кошелька все еще действителен при совершении платежа. Если время сессии истекло — весь процесс оплаты нужно начинать заново.

Обратный вызов платежа

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

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

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

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

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

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 изменится на соответствующее значение.