Registro
Após se registrar no serviço https://auth.inxy.io/ , vá ao menu Payment gateway API e preencha as seguintes informações:
- Nome da carteira, descrição e ícone.
- O link para o site é colocado a seu pedido.
Marque todos os tipos de criptomoedas aceitos e clique em Save Changes


Após salvar, um campo de dados de comunicação será aberto.
Em seguida, gere uma chave de API clicando em Generate(1) e insira o código enviado para seu e-mail.
A variável recebida deve ser armazenada em um local seguro. Copie também a Secret Key para lá.
As chaves, em caso de perda, podem ser regeneradas (se isso acontecer, não se esqueça de alterar os dados no projeto).
No campo Postback Url (2), especifique a URL para webhooks https://chatter.salebot.pro/inxy\\_callback/result

Configurações de conexão
Em seguida, vá para Mavibot → seção "Acquiring" → INXY e clique em connect. Insira as chaves de API e Secret recebidas nos campos.


Gerando um link de pagamento
Para gerar um link de pagamento, você precisa definir o valor da variável payment_sum (por exemplo, 1). Depois disso, a variável inxy_pay_url aparecerá. Esta variável pode ser exibida com um link ou colocada no botão "Pay".
ATENÇÃO!!! O sistema trabalha com dólares! O valor especificado em payment_sum será aceito pelo sistema de pagamento INXY como dólares.
O link se parece com: https://pay.inxy.io/sessions/umLf9cJWBRiaNwowGCE1
Além disso, antes de definir o valor da variável payment_sum, você pode definir as seguintes variáveis opcionais para configurar o pagamento:
inxy_currency - a criptomoeda na qual o pagamento será feito.
Você pode especificar uma das criptomoedas possíveis que marcou ao criar a chave de API. Se deixar em branco, o pagador escolherá a criptomoeda entre as que foram marcadas..
Valores disponíveis: 'BTC', 'ETH', 'LTC', 'DOGE', 'USDT', 'USDC', 'DAI'

inxy_description – descrição do pagamento

Atenção! Primeiro, as variáveis adicionais são definidas para as configurações, depois payment_sum.
As variáveis podem ser definidas anteriormente na cadeia, em vez de todas em um bloco. E a variável inxy_pay_url, que contém o link, deve ser exibida no local correto. Ao clicar nela, um formulário de pagamento será aberto.

Atenção! A linha de valor total contém um valor em dólar igual a payment_sum. Abaixo, em total crypto amount - está o valor na criptomoeda selecionada. Ele muda frequentemente dependendo da taxa de câmbio atual. Este é o valor que o cliente precisa pagar a você de sua carteira.

Atenção!!! O endereço da carteira para pagamento, dentro de uma mesma sessão, é reservado para o cliente por apenas 2 horas. Recomende ao cliente que ele verifique se o tempo não expirou e se o endereço da carteira está atual no momento do pagamento. Se o tempo da sessão acabar, você precisará reiniciar o processo de pagamento.
Processamento do resultado do pagamento (callback de pagamento)
Após um pagamento bem-sucedido, um callback será enviado ao bot, que informará que o pagamento foi bem-sucedido. Você vê este callback no sistema como uma mensagem do usuário, para que o usuário não possa enviá-los. Este callback NÃO é VISTO pelo próprio usuário, é exibido apenas ao operador. O INXY tem vários tipos de callbacks:
- Callbacks bem-sucedidos consistem nos primeiros 10 caracteres do token e no pós-escrito success, por exemplo: uc8zsjNN1x_success

Este callback é recebido se o cliente pagou integralmente o valor e não há problemas com o pagamento. Junto com este callback, a variável inxy_payment_completed será adicionada às variáveis do projeto, que é definida como True. E também a variável inxy_payment_status assumirá o valor paid.
A variável inxy_payment_status pode alterar seu valor durante todo o período de processamento do pagamento. Após o usuário abrir o formulário, ela assumirá o status waiting_payment, depois durante o processamento do pagamento assumirá o valor waiting_confirmation, e após o processamento bem-sucedido terá o valor paid ou partially_paid.
Ao processar um callback, o tipo de comparação deve ser "Exact Match".
Por exemplo, você pode processar um pagamento bem-sucedido em um bloco condicional e exibir a mensagem correspondente ao usuário:

2. Há casos em que a taxa de câmbio da criptomoeda mudou ou a carteira retirou uma comissão da operação, resultando no crédito de um valor incompleto em sua conta. Neste caso, a variável inxy_payment_status assumirá o valor partially_paid e um callback será enviado ao sistema.

Neste caso, você precisará enviar uma notificação ao cliente solicitando um pagamento adicional.
Por exemplo, você pode definir uma condição para o início do callback e, após obtê-lo, enviar novamente a URL já gerada com um link de pagamento ao cliente, ou definir uma condição para que o bloco seja acionado quando a variável inxy_payment_status for igual a partially_paid.

Observe que o link de pagamento é válido apenas por 2 horas! Se o cliente não tiver tempo para pagar a parte restante, ele não poderá mais abri-lo. Como o INXY já processará o primeiro pagamento incompleto nesta etapa, o dinheiro não será reembolsado ao cliente. Para devolvê-lo, você precisará acessar sua conta pessoal INXY e realizar uma operação de reembolso.
Criando Assinatura
Assinaturas podem ser criadas no sistema INXY. Para isso, atribua qualquer valor à variável inxy_subscription_payment, e então uma assinatura mensal será criada.
Se você quiser especificar um período diferente, use as seguintes variáveis: inxy_subscription_interval igual a 'day' - define o intervalo em dias (por padrão, é um mês)
inxy_subscription_period - especifique uma variável de 1 a 30 para definir a frequência.
Por exemplo, para criar uma cobrança de assinatura a cada 15 dias, você precisa definir inxy_subscription_interval =’day’ e inxy_subscription_period=15, e para que o pagamento seja cobrado a cada seis meses, você só precisa especificar inxy_subscription_period=6 (já que inxy_subscription_interval é um mês por padrão)

Ao seguir o link, o usuário verá a mesma página de pagamento, mas com algumas diferenças: primeiro, haverá uma nota ao lado indicando que o pagamento faz parte de uma assinatura com a frequência especificada; e segundo, a página de pagamento oferecerá ao cliente a opção de pagar duas ou três quantias adiantadas.
Características do sistema de pagamento INXY: Se o cliente pagar x2 ou x3 do valor, o Mavibot receberá uma notificação sobre o pagamento de apenas um deles. O valor restante será enviado para o saldo do cliente, de onde o valor será retirado em débitos subsequentes. Como a taxa de câmbio da criptomoeda está mudando constantemente, como resultado, esse valor pode não ser suficiente para o débito subsequente, o que levará a uma situação de assinatura paga incompletamente. Neste caso, você receberá um callback “fail” e poderá configurar um lembrete para o cliente.
Não pode haver pagamento parcial de acordo com o cronograma. O saldo é verificado antes do pagamento e, se o saldo não for suficiente, o dinheiro não será debitado da conta do cliente.

Após a assinatura bem-sucedida, a variável inxy_subscription_id aparecerá nas variáveis do cliente, indicando o número da assinatura e inxy_subscription_status com seu status.

Cancelando assinatura
Para cancelar sua assinatura, use a função inxy_remove_subscription(inxy_subscription_id). Insira o ID da assinatura inxy_subscription_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 apropriado.
