PT
Painéis de VPN

Pagamentos em cripto para 3x-ui

Um pequeno serviço auto-hospedado que permite ao seu painel 3x-ui receber pagamentos em cripto pela SnapEX Pay. Seu bot do Telegram ou site pede a ele um link de pagamento, o cliente paga em USDT na página da SnapEX Pay e, quando a fatura é paga, o serviço adiciona um cliente ao seu inbound, ou renova o existente, e devolve o link da assinatura. O 3x-ui não tem sistema de faturamento próprio, então este serviço é a camada de pagamento entre a sua loja e o painel.

Baixar o módulo

Grátis. Versão 1.1.0.

O que faz

  • Cada pedido tem a sua própria fatura da SnapEX Pay e o seu pay_url. Os clientes pagam em USDT nas redes TRC20, ERC20 ou BEP20; outras moedas podem aparecer na página de pagamento quando a SnapEX Pay puder oferecê-las.
  • Um nome de usuário novo vira um novo cliente em XUI_INBOUND_ID. Um existente é renovado: o vencimento é estendido (ou contado a partir de agora, se já tiver vencido; um cliente sem vencimento continua ilimitado), o cliente é reativado e o tráfego é zerado nos planos com cota. O UUID e o subId não mudam, então a configuração do cliente continua funcionando.
  • Funciona com o 3x-ui 2.x e 3.x: usa a nova API /panel/api/clients quando o painel a tem e, se não, a API mais antiga inbounds/addClient.
  • Webhooks seguros: assinaturas HMAC-SHA256 com janela de 5 minutos, o status da fatura é sempre relido na API da SnapEX Pay e cada fatura é provisionada uma única vez.
  • Planos (dias, preço em USD, cota de tráfego) em uma única variável de ambiente. Um só contêiner: FastAPI e SQLite.

Instalação

  1. No painel do comerciante da SnapEX Pay, crie uma chave de API com os escopos invoices.read e invoices.write.
  2. Baixe e descompacte o arquivo e, na pasta dele, execute cp .env.example .env e preencha SNAPEX_API_KEY, API_TOKEN, XUI_URL (com o caminho base da web), XUI_USERNAME e XUI_PASSWORD, XUI_INBOUND_ID e XUI_SUB_URL.
  3. Inicie o serviço: docker compose up -d e depois verifique com curl http://localhost:8080/health.
  4. Coloque o serviço atrás de HTTPS (nginx, Caddy, Traefik). No painel → Desenvolvedores, defina a URL do webhook como https://<your service>/webhook, coloque a chave secreta de assinatura whsec_… (exibida uma única vez, ao salvar a URL pela primeira vez) em SNAPEX_WEBHOOK_SECRET e execute docker compose up -d de novo.
  5. No seu bot ou backend, chame POST /v1/checkout com Authorization: Bearer <API_TOKEN>, envie pay_url ao cliente e consulte GET /v1/orders/{invoice_id} para obter o link da assinatura.

Configurações

SNAPEX_API_KEY, SNAPEX_WEBHOOK_SECRETChave de API do comerciante (invoices.read, invoices.write) e a chave secreta de assinatura do webhook (whsec_…).
SNAPEX_ENVIRONMENT, SNAPEX_FEE_ONFaturas live ou test; quem paga a taxa de serviço — merchant ou customer.
API_TOKENToken Bearer para /v1/checkout e /v1/orders.
XUI_URLURL do painel incluindo o caminho base da web, por exemplo https://xui.example.com:2053/secretpath.
XUI_API_TOKENSó no 3x-ui 3.x: um token de API do painel, usado no lugar de usuário e senha (para painéis com login em dois fatores).
XUI_INBOUND_ID, XUI_SUB_URLInbound para novos clientes (VLESS, VMess, Trojan, Shadowsocks ou Hysteria) e o prefixo da assinatura.
PLANSid:days:usd:traffic_bytes separados por vírgula; 0 bytes = ilimitado.
SNAPEX_PARTNER_IDOpcional: o Partner ID do integrador que configurou o módulo (programa de indicações da SnapEX Pay). Deixe em branco se você mesmo fez a configuração.

Perguntas

Quais versões do 3x-ui são compatíveis?

3x-ui 2.x e 3.x: tanto a nova API /panel/api/clients quanto a API mais antiga inbounds/addClient.

O que acontece quando um cliente renova?

Envie o mesmo nome de usuário de novo. O cliente mantém o UUID e o subId, o vencimento é estendido, o cliente é reativado e o tráfego é zerado nos planos com cota.

Meu painel tem login em dois fatores. Vai funcionar?

No 3x-ui 3.x, sim: defina XUI_API_TOKEN (um token de API do painel) no lugar de usuário e senha.

Um pagamento pode ser provisionado duas vezes?

Não. Cada fatura é provisionada uma única vez, mesmo que o webhook chegue duas vezes ou que duas cópias cheguem ao mesmo tempo.

Existe um bot do Telegram pronto?

Sim, um bot do Telegram da SnapEX Pay à parte, para Marzban, 3x-ui e Remnawave. Este serviço é indicado quando você já tem seu próprio bot ou site.

Pronto para receber em cripto?

Crie uma conta de comerciante, gere uma chave de API e conecte o módulo. 1% por pagamento, sem mensalidade.