Tayon Help

Receber um pagamento dentro do seu site

Adicione uma etapa de Pagamento para o visitante pagar com cartão, PIX ou boleto sem sair do fluxo, e faça o fluxo reagir ao que realmente aconteceu.

Você vai precisar: Uma conexão de pagamento configurada em Configuração → Conexões de Pagamento.

Um formulário conversacional pode cobrar por alguma coisa no meio da conversa — um ingresso de evento, um livro em um lançamento, um sinal de reserva. O visitante responde às suas perguntas, é levado à página de checkout do próprio gateway, paga e volta para o seu fluxo na etapa que você escolheu.

A etapa que faz isso é uma ação com o tipo Pagamento.

#Adicione a etapa

  1. No Flow Designer, solte uma etapa de Ação no ponto em que o pagamento deve acontecer.
  2. Abra-a e defina o Tipo de Ação como Pagamento.
  3. Escolha a Conexão, ou deixe em Padrão da conta.
  4. Escolha o GatewayStripe ou Mercado Pago.
  5. Preencha Valor, Moeda e Descrição.
  6. Em Para onde o comprador volta, escolha as três etapas em que ele pode cair.
Propriedades da Ação, com a lista de tipos de ação aberta
Propriedades da Ação, com a lista de tipos de ação aberta

Salvar Lead vem antes da etapa de pagamento, não depois. Quem abandona o checkout deve continuar sendo um lead — é praticamente esse o sentido de cobrar dentro de um fluxo em vez de cobrar em uma página de preços.

#O valor é o total, nunca um preço unitário

Um número inteiro puro é lido como a menor unidade da moeda — centavos. É esse o formato em que as pessoas erram:

O que você digita O que é cobrado
190000 R$ 1.900,00
1900.00 R$ 1.900,00
1900,00 R$ 1.900,00
R$ 1.900,00 Recusado. Nenhum checkout abre e nenhum pedido é criado.

Símbolos de moeda nunca são aceitos. Variáveis e FLOW.CALCULATE() são — então FLOW.CALCULATE($QUANTITY * 1900) é a forma normal de cobrar por uma quantidade que o visitante escolheu, porque faz o total para você.

Moeda oferece BRL, USD, EUR, GBP, ARS, MXN, CLP e COP.

Em Formas de pagamento você pode marcar Cartão, PIX e Boleto. Deixe tudo desmarcado para oferecer todas as formas que o gateway aceita.

#As quatro saídas — esta é a parte para ler duas vezes

Uma etapa de pagamento tem quatro saídas, e só uma delas é uma linha que você desenha no quadro.

Saída Quando é usada
Se pago → etapa O gateway devolveu o comprador e o pagamento está confirmado
Se cancelado → etapa O comprador desistiu do checkout, ou o pagamento falhou ou expirou
Enquanto pendente → etapa O dinheiro ainda não foi compensado — PIX e boleto
A seta que sai da própria etapa quando o checkout não pôde sequer ser criado

Dê a cada resultado a sua própria tela. Nunca aponte pendente para a mesma tela de pago: dizer a um comprador cujo boleto ainda não compensou que o pagamento dele foi aprovado é a pior coisa que esta etapa pode fazer, e está a uma lista suspensa compartilhada de distância.

Enquanto pendente não é opcional na prática. Sem essa etapa, quem realmente pagou por PIX cai na sua tela de cancelamento.

#Quem confirma o pagamento somos nós, não o navegador

O comprador chegar de volta a uma URL não prova nada — links são compartilhados, encaminhados e recarregados. O Tayon confirma o pagamento com o próprio gateway antes de tratar um pedido como pago, e continua verificando os pedidos em aberto depois disso — é assim que um boleto pago na manhã seguinte ainda acaba marcado como Pago.

É também por isso que Tag quando pago é seguro de usar. A tag é aplicada ao contato assim que o pagamento é de fato confirmado, e apenas uma vez, não importa quantas vezes o comprador recarregue a página.

#O que o resto do fluxo consegue ler

Depois que a etapa roda, o fluxo passa a ter um conjunto de variáveis que ele pode exibir em uma tela ou testar em uma divisão. Todas começam com o Prefixo das variáveis definido na etapa, que é PAYMENT a menos que você mude.

Variável O que guarda
$PAYMENTSTATUS created, pending, paid, failed, canceled, expired, refunded, error ou unknown
$PAYMENTORDER A referência do pedido
$PAYMENTGATEWAY stripe ou mercadopago
$PAYMENTAMOUNT / $PAYMENTAMOUNTFMT O valor na menor unidade, e o mesmo valor formatado
$PAYMENTCURRENCY A moeda
$PAYMENTQUANTITY A quantidade que você registrou
$PAYMENTERROR Por que um checkout não pôde ser criado

De propósito, não existe variável guardando o endereço do checkout. A própria etapa manda o visitante para lá; você nunca precisa lidar com o link.

Dados do pagador funciona ao contrário: ele recebe os nomes dos identificadores que você coletou antes — EMAIL, NAME, CPF — e não valores digitados. Preencha e o comprador não redigita o que já contou a você. Deixe em branco e o gateway pergunta.

#Como testar

A pré-visualização não consegue criar um checkout de verdade, então uma etapa de pagamento em pré-visualização mostra um seletor de resultado — pago, pendente, cancelado ou erro. Escolha um e a pré-visualização segue exatamente na etapa em que o fluxo publicado seguiria, com as mesmas variáveis definidas. Confira os quatro caminhos antes de publicar.

#Quando não funciona

  • A etapa avançou em vez de abrir um checkout. Alguma coisa impediu a criação do checkout. Olhe $PAYMENTERRORno_connection e no_key significam que a conexão está faltando ou incompleta, bad_amount significa que o valor não estava em um formato aceito.
  • Um valor foi recusado. Tire o símbolo da moeda. R$ 1.900,00 nunca funciona; 190000 funciona.
  • Compradores que pagaram caíram na tela de cancelamento. Você não tem etapa Enquanto pendente, e eles pagaram por PIX ou boleto.
  • O pedido fica em Aguardando pagamento para sempre. O gateway não está nos avisando que o pagamento compensou. Confira se o endereço de webhook da conexão ainda é o mesmo cadastrado no painel do seu gateway — veja Conectar o Stripe ou o Mercado Pago.
  • Você quer ver o que aconteceu de verdade. Todo pedido, pago ou não, está na tela Pagamentos.

Atualizado: