Recebendo pagamentos num funil com a Lava
Venda direto no chat — o comprador toca num botão, paga e o bot entrega o acesso sozinho. Passo a passo, incluindo as armadilhas em que já tropeçamos.
Seu funil pode receber dinheiro: a pessoa chega à etapa Pagamento, recebe um botão, paga — e o bot entrega o acesso e continua o funil sozinho. Você não precisa fazer nada, de dia ou de noite.
Os pagamentos passam pela Lava.top — um serviço de pagamento que trabalha com pessoas físicas e empreendedores individuais e aceita cartões e SBP (o sistema russo de transferências bancárias instantâneas).
💡 O dinheiro vai direto para você. Você tem a sua própria conta na Lava e o seu próprio contrato com eles. A Craft nunca segura o seu dinheiro e não fica com nenhuma parte das suas vendas: nós só criamos a cobrança e recebemos a notificação do pagamento.
Como funciona#
- A pessoa passa pelo funil e chega à etapa Pagamento.
- O bot cria uma cobrança pessoal na sua conta da Lava e envia um botão de pagamento — no Telegram, dois de uma vez: ⚡️ Pagar via SBP e 💳 Pagar com cartão.
- A pessoa paga na página da Lava.
- A Lava nos avisa, o bot reconhece o comprador e continua o funil — pela seta que sai da etapa Pagamento. É ali que você entrega o acesso: um link de canal, um convite para um chat, um arquivo.
Você só precisa configurar uma vez. Depois disso, o funil roda sozinho.
O que você vai precisar#
- Uma conta na lava.top com um método de saque confirmado.
- Um funil já montado na Craft (Telegram ou Instagram).
- 15 minutos.
⚠️ O Telegram é a opção confiável. No Instagram, o acesso só pode ser entregue se a pessoa te escreveu nas últimas 24 horas — é uma regra da Meta e não há como contornar. Como pagar pode facilmente levar mais de um dia, leve as pessoas do Instagram para o Telegram e venda lá.
Passo 1. Crie um produto na Lava#
No painel da Lava: Criar → Produto digital.
Preencha:
- Descrição — o que a pessoa está comprando.
- "Depois do pagamento" (a parte paga) — coloque aqui os links do seu canal/chat. A Lava também os envia por email ao comprador. Essa é a sua rede de segurança: mesmo que algo aconteça com o bot, o comprador recebe o acesso.
- Preço — você pode defini-lo em várias moedas ao mesmo tempo.
Depois publique o produto.
🔴 Um rascunho não conta. Um produto não publicado não aparece pela API — simplesmente não conseguimos emitir uma cobrança para ele, e vai parecer que "a chave está errada". Confira se o produto está publicado.
Os dois campos — descrição e parte paga — são obrigatórios: o produto não salva sem eles.
Quem define o preço: a Lava ou o funil#
O produto tem a opção "Preço sob demanda via API". Ela decide de onde vem o valor da cobrança, então escolha de propósito.
| Opção desativada (padrão) | Opção ativada | |
|---|---|---|
| O preço é definido por | a Lava — o que você digitou no produto | o funil — o campo "Preço" da etapa Pagamento |
| Para mudar o preço | edite na Lava | edite no funil |
| Vários preços (promoção, aumento de preço) | precisa de um segundo produto | um funil, um produto |
| Produto na vitrine da Lava | vende direto | vende só pelo funil |
Um preço que nunca muda → deixe desativado, é mais simples. Planeja um timer "o preço sobe em 24 horas", promoções ou preços diferentes por ramo → ative: veja O funil define o preço.
🔴 Se você vai ativar, pegue o offerId antes (passo 2) e só depois mude a opção. Depois de ativada, o produto some da lista que a Lava retorna, e não sobra lugar de onde ler o offerId.
Passo 2. Pegue o offerId#
Uma cobrança precisa do offerId — que NÃO é o número que você vê no endereço do produto.
🔴 O erro mais comum. A barra de endereço (app.lava.top/products/XXXX) mostra o id do produto. Ele não vai funcionar. O offerId fica dentro do produto e não aparece no painel. Cole o errado e o pagamento falha com "produto não encontrado".
Duas formas de obtê-lo:
O jeito fácil: mande para nós o link do produto e procuramos para você.
Por conta própria (se você se sente à vontade com a linha de comando) — use a sua chave da Lava:
curl -s "https://gate.lava.top/api/v2/products?showAllSubscriptionPeriods=true" \
-H "X-Api-Key: YOUR_LAVA_KEY"
Encontre seu produto na resposta — o valor que você precisa fica em offers → id. Ele se parece com 8665127d-....
💡 Como confirmar que o offerId é seu. O offerId de outra pessoa com a sua chave não funciona — a Lava responde que você só pode vender os seus próprios produtos. É uma forma prática de verificar que o dinheiro vai cair na conta certa.
🔴 Pegue o offerId ANTES de ativar "Preço sob demanda via API". Com essa opção ativada, o produto some da lista — a requisição retorna zero produtos, e parece uma chave errada ou um produto não publicado. Guarde o offerId em algum lugar antes.
Passo 3. Conecte a Lava na Craft#
Na Craft: Configurações → "Pagamentos nos funis (Lava)". Cole sua chave de API da Lava (na Lava: Integrações → Public API) e clique em "Conectar". A Craft verifica a chave com a Lava na hora — uma chave errada aparece aqui, não na sua primeira venda.
🔴 Nunca repasse a chave para ninguém. Ela permite emitir cobranças em seu nome. Cole só nesta página; ela não pode ir parar em chats, numa conversa com IA nem em capturas de tela. Se vazar — apague na Lava, crie uma nova e cole de novo.
Depois de conectar, a mesma página mostra o endereço do webhook e o segredo de que você precisa no próximo passo, além do botão "Produtos e seus ids", que lista seus produtos e o offerId exato usado pela etapa Pagamento.
Passo 4. Configure o webhook#
O webhook é como a Lava nos conta o que aconteceu com um pagamento: aprovado, recusado, reembolsado. Sem ele, o bot nunca fica sabendo do pagamento e não libera acesso.
Na Lava: Integrações → Public API → Add Webhook.
| Campo | O que inserir |
|---|---|
| URL | o endereço mostrado na página de configurações da Craft (https://craftopen.space/api/payments/webhook) |
| Eventos | Marque os quatro: pagamento aprovado, pagamento recusado, reembolso aprovado, contestação iniciada |
| Autenticação | Chave de API do seu serviço |
| Chave de API | o segredo da página de configurações da Craft — há um botão Copiar ao lado |
🔴 Marque também "pagamento recusado". Sem isso, o bot nunca fica sabendo que o cartão de alguém foi recusado — a pessoa fica na página de erro da Lava e você nunca descobre que perdeu um comprador. Se você configurou o webhook antes de setembro de 2026, abra-o e confira os quatro eventos.
🔴 O campo "Chave de API" NÃO é a sua chave da Lava. O nome confunde. É uma senha que a Lava usa para se identificar para nós, para sabermos que a notificação é verdadeira. A Craft a fornece na página de configurações. Sua chave da Lava não vai aqui e não é seguro colocá-la ali.
Se você clicar em "Novo segredo" na Craft, coloque o novo segredo no webhook da Lava na hora — senão as notificações da Lava deixam de passar na verificação e o acesso depois do pagamento não é mais liberado.
Passo 5. Monte a etapa Pagamento#
No construtor de funis, adicione uma etapa Pagamento e preencha:
- Produto da Lava (offerId) — o do passo 2.
- Preço (para exibição) e Moeda — afetam só o texto da mensagem; a Lava cobra o preço do próprio produto.
- Mensagem com o botão de pagamento — o texto da sua oferta; os botões aparecem abaixo dele.
- Texto do botão — usado quando há só um método de pagamento.
- Variável de email — onde fica guardado o email do comprador.
🔴 Colete o email ANTES da etapa de pagamento. A Lava não emite cobrança sem o email do comprador. Coloque uma etapa Pergunta antes do Pagamento — "Para qual email enviamos o acesso?" — e salve a resposta numa variável (email por padrão). Sem isso, a etapa de pagamento simplesmente não dispara.
Como pedir para as pessoas não desistirem. "Vamos te enviar um recibo" soa opcional — o comprador pensa "não preciso de recibo" e simplesmente não responde. É uma perda cara: ele já tinha concordado em pagar. Não diga "não dá para continuar sem isso" — diga o que acontece quando ele enviar:
Falta um passo. Me manda seu email: vou usar para o seu pedido e já respondo com o botão de pagamento. O recibo também vai para lá. E o acesso ao curso eu mando aqui neste chat, logo depois do pagamento.
E dê a essa etapa Pergunta um tempo limite com lembrete — senão quem se distrai some em silêncio.
A seta que sai da etapa Pagamento é por onde o funil continua depois de um pagamento aprovado. É a etapa em que você entrega o acesso: o link do canal privado, o convite para o chat, o arquivo.
Métodos de pagamento#
No Telegram, o comprador recebe dois botões: "⚡️ Pagar via SBP" e "💳 Pagar com cartão (cartões russos)". Isso converte melhor — as pessoas pagam com o que estão acostumadas.
- Moeda que não seja o rublo → só cartão (o SBP é em rublos).
- Se um dos métodos não estiver habilitado na sua conta da Lava, os outros botões chegam mesmo assim — o funil não quebra.
Cartões estrangeiros têm um botão próprio. "💳 Pagar com cartão (cartões russos)" emite uma cobrança em rublos, e ela não aceita cartões estrangeiros: a página de pagamento trava e a cobrança nunca chega ao banco (confirmado com um pagamento real). Se parte dos seus compradores está no exterior, preencha "Preço para cartões estrangeiros" na etapa Pagamento — por exemplo, $49. Aparece um terceiro botão, "🌍 Pagar com cartão estrangeiro": uma cobrança em dólar ou euro que aceita cartões de qualquer país.
- Funciona com "O funil define o preço" marcado. Se o produto da Lava define o preço, o produto precisa de um preço nessa moeda.
- Escolha um número redondo próximo do preço em rublos — por exemplo, 3.490 ₽ → $49.
- Só no Telegram por enquanto.
- Apple Pay. Abaixo do campo de preço há uma caixa de seleção, "Botão '🍎 Apple Pay com cartão estrangeiro'" — mais um botão pelo mesmo preço estrangeiro. A página do cartão estrangeiro não oferece Apple Pay sozinha, então ele ganha um botão próprio. Funciona no iPhone e no Mac com um cartão estrangeiro na Carteira: cartões russos não podem ser adicionados ao Apple Pay, e a Lava não o aceita em rublos.
- PayPal. Mais uma caixa de seleção — "Botão '🅿️ Pagar com PayPal'": uma cobrança pelo mesmo preço estrangeiro para quem não tem um cartão adequado. O PayPal precisa estar habilitado na sua conta da Lava — se não estiver, a Lava recusa e o comprador simplesmente não vê esse botão (os outros continuam).
- Página de pagamento em inglês. Os botões estrangeiros (cartão, Apple Pay, PayPal) abrem a página da Lava e os emails de pagamento em inglês — já que são os compradores do exterior que os usam. Os botões em rublos continuam em russo.
- A confirmação demora mais. Um pagamento em rublos chega ao bot em alguns segundos; um estrangeiro às vezes leva 5–10 minutos: a página de pagamento manda o comprador direto de volta ao bot, e o acesso chega quando o banco liquida a cobrança. Para o comprador não entrar em pânico nem pagar duas vezes, diga isso no texto da etapa Pagamento — por exemplo: "Às vezes o banco leva 5–10 minutos para confirmar um pagamento — seu acesso vai chegar aqui sozinho mesmo assim, não precisa pagar de novo."
No Instagram chega um único botão de pagamento — cartão. Mais um motivo para levar os compradores para o Telegram se você vende na Rússia.
🔴 Não distribua o link direto do produto da Lava. Uma compra feita fora do funil não fica ligada a uma pessoa específica — o bot não vai saber para quem entregar e a entrega automática não acontece. Use só o botão da etapa Pagamento.
Quando alguém não paga#
O ponto mais caro de um funil é a pessoa que abriu a página de pagamento e fechou. Para ela não ficar no silêncio, a etapa Pagamento tem o campo "Lembrete se não pagar": quanto tempo esperar pelo pagamento antes de mandá-la para um ramo separado.
Preencha e a etapa ganha uma segunda saída, "Não pagou". Para onde essa seta levar é por onde o funil vai se o pagamento nunca chegar.
O que escrever nessa mensagem: geralmente a pessoa não pagou não porque mudou de ideia, mas porque o banco recusou a cobrança ou o link abriu no navegador errado. Ofereça o outro método de pagamento (cartão em vez de SBP ou o contrário) e o seu contato pessoal. E adicione um botão que leva de volta à etapa Pagamento — ele emite uma cobrança nova.
Uma espera razoável é de 10–20 minutos: as pessoas pagam na hora ou já seguiram em frente.
Deixe o campo vazio e não há ramo — quem não paga não ouve mais nada.
Quando o banco recusa o pagamento#
É outro caso: a pessoa queria pagar, mas o cartão não passou — saldo insuficiente, o banco bloqueou, o código não foi confirmado. Aqui o bot age sozinho, nada para configurar:
- Ele diz à pessoa por que falhou, em palavras simples, e sugere outro método — cartão em vez de SBP, ou outro cartão.
- Ele envia na hora novos botões de pagamento na mesma etapa, pelo mesmo preço.
- Ele avisa você: quem, quanto, qual método e o que o banco disse. Se a pessoa não pagar logo, escreva para ela você mesmo — essa pessoa queria comprar.
Se alguém tentou SBP e depois pagou com cartão, não recebe a mensagem "não passou". Duas falhas seguidas geram uma mensagem, não duas.
Depois de pagar ou falhar, a Lava manda a pessoa de volta ao chat com o bot em vez de deixá-la na página dela.
⚠️ As notificações de pagamento recusado e de reembolso chegam a você no Telegram se houver uma conta do Telegram vinculada à sua conta da Craft. Se não houver, recebemos a notificação e a repassamos. Vincular é mais confiável — você fica sabendo na hora.
O mesmo vale para a etapa "Pergunta" que você usa para coletar o email: ela tem um tempo limite e uma saída "Sem resposta". Sem isso, quem começa a compra e desiste no campo de email também some em silêncio. Defina 5 minutos e um lembrete: "Ainda estou esperando o seu email."
O funil define o preço (promoções e timers)#
Normalmente o preço fica no produto da Lava. Então "o preço sobe em 24 horas" ou "um desconto para este ramo" exige um segundo produto — e a partir daí você fica administrando dois produtos e dois offerIds.
Há um segundo modo: o funil define o valor da cobrança. Um produto da Lava serve para qualquer preço, e aumentos de preço e promoções são montados como ramos do funil.
Como ativar:
- Na Lava, ative "Preço sob demanda via API" no produto (a essa altura você já deve ter o offerId — veja o aviso no passo 2).
- Na etapa Pagamento, marque "Este funil define o preço".
- O valor vem do campo "Preço" dessa etapa. Precisa de um segundo preço? Adicione uma segunda etapa Pagamento em outro ramo com um preço diferente.
O que você ganha: o preço na mensagem e o preço na cobrança passam a ser o mesmo número do mesmo campo — nada pode se desencontrar. Um timer "a promoção acaba em", preços diferentes por palavra-chave, um visitante que volta vendo o preço novo — tudo isso são ramos de um funil.
✅ Verificado com pagamentos reais. Um funil, um produto: o primeiro ramo emitiu uma cobrança de 3490 ₽, o segundo de 4990 ₽, e a página da Lava mostrou exatamente o nosso valor. USD e EUR também funcionam.
O que saber de antemão:
🔴 O valor passa a ser responsabilidade sua. Enquanto a Lava definia o preço, não havia o que errar. Agora um erro de digitação no campo "Preço" é uma cobrança real. A combinação perigosa é "valor ainda em rublos, moeda trocada": 3490 ₽ vira $3490. Nós protegemos contra isso: se a moeda não for o rublo e o valor for maior que 1000, nenhuma cobrança é criada e você recebe um aviso no seu bot. Conferir o par moeda/valor continua sendo com você.
⚠️ O produto some da vitrine da Lava — ele não pode mais ser comprado direto, só pelo funil. Se você também vendia pela vitrine, esse modo não é para você.
⚠️ O mínimo em rublos é 50 ₽. A Lava recusa qualquer valor menor ("o valor é baixo demais"). Tenha isso em mente nos pagamentos de teste.
⚠️ Só em funis do Telegram por enquanto. No Instagram, o preço continua no produto da Lava.
Como testar#
Primeiro as verificações mais baratas.
Sem gastar dinheiro:
- Passe pelo seu próprio funil até a etapa Pagamento e espere os botões. Os botões apareceram — sua chave funciona, o produto está publicado e o offerId está certo.
- Toque no botão e olhe a página: há escolha de método, o valor certo, o nome certo do produto? Não pague — criar uma cobrança por si só não mexe em dinheiro.
- Confira se o funil pede um email antes do pagamento e o guarda.
Com dinheiro (a verificação final, uma vez):
A Lava não tem modo de teste — é a resposta oficial deles. Então a única forma de verificar a cadeia inteira é um pagamento real de valor pequeno.
- Defina temporariamente um preço pequeno (no produto da Lava, ou no campo "Preço" da etapa Pagamento se o funil define o preço).
- Pague você mesmo, uma vez por método se você vende com cartão e SBP.
- Confirme que o acesso chega no bot automaticamente.
- Restaure o preço real na hora.
🔴 Enquanto um preço de teste estiver ativo, qualquer pessoa pode comprar por esse preço. O produto está publicado e visível para todos. Volte o preço real na hora, não "depois".
💡 Sobre a taxa. A Lava retém uma taxa em cada pagamento — confira o valor exato no seu painel e plano. No nosso teste, ela reteve cerca de 8% de um pagamento pequeno.
Testando o funil inteiro#
Se o seu funil tem lembretes com timers e mais de um preço, testá-lo "como está" leva um dia. O jeito rápido:
- Salve suas configurações reais antes — anote o atraso de cada etapa antes de mudar qualquer coisa, senão você não vai restaurar os tempos com exatidão.
- Defina todos os atrasos como 5 segundos e os preços como valores pequenos e diferentes (por exemplo, 50 ₽ e 55 ₽), para o valor dizer qual ramo disparou.
- Percorra o funil com outra conta que nunca passou por ele: quem já passou cai no meio do funil, não no início.
- Percorra duas vezes: uma sem tocar em nada — você verá a cadeia inteira de lembretes; outra tocando em tudo — você verá o caminho curto.
- Pague os dois ramos com os valores pequenos e confirme que o acesso chega sozinho.
- Restaure os atrasos e preços reais.
💡 Se uma mensagem chegar um ou dois minutos atrasada durante o seu teste — provavelmente o serviço estava sendo atualizado naquele momento. Nada se perde, a fila se recupera. Não corra para consertar um funil que funciona.
Pagaram, mas não receberam acesso#
Confira nesta ordem — nove em cada dez vezes é um dos dois primeiros.
- O webhook está configurado na Lava, o segredo certo está no campo "Chave de API" e os quatro eventos estão marcados (passo 3)? Sem webhook, a Lava nunca nos contou do pagamento, então o bot não tinha como reagir.
- Instagram e a regra das 24 horas. Se o pagamento aconteceu mais de um dia depois da última mensagem da pessoa, a Meta não deixa o bot escrever para ela.
- A pessoa comprou pelo botão do funil, e não por um link direto do produto (veja o aviso acima)?
- O email chegou à etapa de pagamento? Uma variável de email vazia significa nenhuma cobrança.
Ainda travado — escreva para nós no Telegram com o horário do pagamento e o email do comprador. Vamos verificar o que chegou do nosso lado e, se necessário, liberar o acesso manualmente — o comprador recebe no bot exatamente como num pagamento normal.
Erros comuns#
| Sintoma | Causa |
|---|---|
| Os botões de pagamento nunca chegam | O offerId está vazio, ou nenhum email foi coletado antes da etapa de pagamento |
| O bot diz "A Lava não aceita este email" | É o email da sua própria conta da Lava — você não pode comprar o próprio produto com ele |
| O cartão de alguém foi recusado e você nunca soube | "Pagamento recusado" não está marcado no webhook, ou não há Telegram vinculado à sua conta da Craft |
| "Produto não encontrado" | Você colou o id do produto da barra de endereço em vez do offerId |
| Nós "não vemos" um produto que você criou | É um rascunho não publicado — ou "Preço sob demanda via API" está ativado (aí ele não deve mesmo aparecer) |
| Cobrança com o valor errado | O funil define o preço e o campo "Preço" tem um erro de digitação |
| Nenhuma cobrança, mais um aviso sobre o valor | Moeda que não é rublo com um valor do tamanho de rublos — nós paramos a cobrança |
| "O valor é baixo demais" | A Lava não aceita menos de 50 ₽ |
| O pagamento passou, sem acesso | O webhook não está configurado, ou tem o segredo errado |
| Alguém comprou, o bot não fez nada | A compra veio de um link direto do produto, passando por fora do funil |
| O acesso nunca chegou no Instagram | Passaram mais de 24 horas desde a última mensagem da pessoa |
Ainda não suportado#
Sendo transparentes sobre os limites, para não haver surpresas:
- Remoção automática do acesso em caso de reembolso. Avisamos na hora sobre um reembolso ou uma contestação bancária, mas remover a pessoa do canal ou do chat fica com você.
- Assinaturas e pagamentos recorrentes. Só compras avulsas por enquanto.
- Preços definidos pelo funil e a escolha do método de pagamento são só do Telegram. No Instagram, o preço fica no produto da Lava e há um único botão.
- Conectar as chaves sozinho. Por enquanto passa por nós e leva minutos.
Precisa de algo desta lista — conte para nós. Construímos o que as pessoas realmente pedem.