Registro

Após se registrar no serviço https://auth.inxy.io/, vá para Payment gateway API no menu lateral esquerdo e preencha os seguintes dados - nome e descrição da carteira e ícone. O link para o seu site é opcional. Selecione todas as criptomoedas que deseja aceitar com uma caixa de seleção e clique em Save Changes


Após salvar, a janela com os dados de conexão será aberta. Em seguida, gere a chave de API clicando no botão Generate (1) e insira o código enviado para o seu e-mail. Salve a variável resultante em um local seguro. Copie a Secret Key gerada no mesmo local. As chaves, em caso de perda, podem ser regeneradas (neste caso, lembre-se de alterar os dados no projeto). Insira a URL para webhooks https://chatter.mavibot.ai/inxy\\_callback/result no campo Postback URL (2).


Configuração da conexão

Em seguida, vá para Mavibot — Payment systems — INXY e clique no botão Connect. Insira as chaves de API e Secret recebidas nos campos.

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

Para gerar o link de pagamento, insira o valor da variável payment_sum (ex.: 1), após isso a variável inxy_pay_url aparecerá. Você pode adicionar esta variável na tela como um link ou colocá-la no botão Pay.

NOTA! O sistema trabalha com USD! O valor na variável payment_sum é considerado USD no sistema de pagamento INXY.

O link se parece com isto: https://pay.inxy.io/sessions/umLf9cJWBRiaNwowGCE1

Além disso, antes de inserir o valor para a variável payment_sum, você pode inserir as seguintes variáveis opcionais para a configuração do pagamento
inxy_currency — criptomoeda que será usada para o pagamento. Você pode inserir uma das criptomoedas disponíveis que escolheu com uma caixa de seleção durante a geração da chave de API. Se deixado vazio, os jogadores escolhem a criptomoeda por si mesmos a partir da lista das escolhidas. Valores disponíveis: 'BTC','ETH','LTC','DOGE','USDT','USDC','DAI'

inxy_description – descrição do pagamento.

NOTA! Primeiro você insere as variáveis opcionais para a configuração, e depois o payment_sum.

As variáveis podem ser inseridas mais cedo na cadeia, e não em um único bloco. Enquanto a variável inxy_pay_url, que inclui o link, deve ser exibida no lugar correto. Este link abre o formulário de pagamento.

NOTA! A linha Total amount mostra o valor em USD, que é igual ao payment_sum. O Total crypto amount abaixo mostra o valor na criptomoeda escolhida. Ele varia com base na taxa de câmbio atual. Este é o valor que seu cliente tem que pagar a você de sua carteira.

NOTA! O endereço da carteira para o pagamento durante uma única sessão é reservado para o cliente apenas por 2 horas. Recomende ao cliente que verifique se o tempo não expirou e se o endereço da carteira ainda é válido quando o pagamento for feito. Se o tempo da sessão expirou — todo o processo de pagamento deve ser reiniciado.

Callback de pagamento

Após o pagamento bem-sucedido, o bot receberá um callback que informará que o pagamento foi feito com sucesso. Você vê este callback no sistema como uma mensagem do usuário, para que o usuário não possa enviá-lo. Os usuários NÃO PODEM VER o callback, apenas o operador pode vê-lo. INXY tem vários tipos de callbacks:

  1. Callbacks de sucesso consistem nos primeiros 10 símbolos do token seguidos por 'success', ex.: uc8zsjNN1x_success

Tal callback é enviado, se o cliente pagou o valor total e nenhum problema ocorreu durante o pagamento. Junto com este callback, duas variáveis serão adicionadas ao projeto: inxy_payment_completed igual a True; e inxy_payment_status com o valor paid.

Durante o processo, a variável inxy_payment_status muda seu valor. Após o usuário abrir o formulário, ela mudará para waiting_payment, durante o processamento do pagamento mudará para waiting_confirmation, e após o processamento bem-sucedido terá o valor de paid ou partially_paid.

Durante o processamento do callback, o tipo de comparação deve ser Full match. Ex.: você pode fazer o processamento do pagamento bem-sucedido como um bloco com condição e mostrar uma mensagem relevante ao usuário:

2. Às vezes, as taxas de câmbio de criptomoedas mudam ou as carteiras cobram taxas extras das operações, de modo que o valor resultante que você recebeu não é completo. Em tais casos, a variável inxy_payment_status terá o valor partially_paid e o sistema receberá um callback que se parece com isto:


Neste caso, você terá que enviar uma mensagem ao cliente com um pedido para cobrir o valor faltante. Ex.: você pode definir uma condição para o início do seu callback e, ao recebê-lo, enviar ao cliente uma url pré-gerada com um link de pagamento ou você pode definir uma condição para que o bloco ative quando o valor da variável inxy_payment_status for partially_paid.

Lembre-se de que o link de pagamento é válido por apenas 2 horas! Se o cliente não fizer o pagamento do valor faltante a tempo, ele não pode ser aberto. Como o INXY nesta fase processará o primeiro pagamento parcial, o dinheiro não retornará ao cliente. Para devolvê-lo, você precisará acessar sua conta INXY e fazer a operação de devolução.

Criando assinatura

O sistema INXY permite que os usuários criem assinaturas. Para fazer isso, adicione qualquer valor à variável inxy_subscription_payment, e uma assinatura mensal será criada. Se você quiser definir um período diferente, use as seguintes variáveis:
inxy_subscription_interval igual a 'day' — criará um intervalo de assinatura igual a dias (o padrão é mês)
inxy_subscription_period — adicione uma variável igual de 1 a 30, para definir o período. Ex.: Para criar um pagamento de assinatura uma vez a cada 15 dias, defina inxy_subscription_interval ='day' e inxy_subscription_period=15, e para que o pagamento seja feito duas vezes por ano, defina inxy_subscription_period=6 (já que inxy_subscription_interval é igual a mês por padrão)

O link também abrirá o formulário de pagamento, mas será diferente: primeiro, ao lado, será mostrado que o pagamento é baseado em assinatura com o período mostrado, segundo, o formulário sugerirá ao cliente adicionar um depósito para vários pagamentos adiantados.

Especificidades do INXY: Se o cliente pagar х2 ou х3 do valor, o Mavibot receberá uma mensagem sobre um único valor. O restante será depositado no saldo do cliente e será usado para os próximos pagamentos. Como a taxa de câmbio da criptomoeda varia, no final este valor pode ser insuficiente para um dos próximos pagamentos, resultando em uma assinatura não paga. Nesse caso, você receberá um callback que indica 'fail' e você pode configurar um lembrete para seu cliente.

A assinatura não pode ser parcialmente paga. O saldo do cliente é verificado antes do pagamento. Se não houver fundos suficientes, o pagamento não é feito de forma alguma.

Após a assinatura bem-sucedida, as variáveis do cliente incluirão inxy_subscribtion_id (número de referência) e inxy_subscription_status.

Cancelando assinatura

Para cancelar uma assinatura, use a seguinte função inxy_remove_subscription(inxy_subscription_id). Insira o número de id da assinatura como inxy_subscribtion_id na função e a assinatura será cancelada.

Em caso de sucesso, você receberá um callback 'Subscription status inxy_subscription_id - deleted' e a variável inxy_subscription_status mudará para o valor relevante.