Pagamentos (Asaas)

Cobrando Pix no agendamento online

Como o cliente paga no booking, política de pagamento da loja e o que rola no servidor.

Quando você ativa o agendamento online com pagamento Pix, o cliente final agenda direto pelo seu link público (petshopflow.com/<sua-loja>) e paga na hora, antes da confirmação.

Pré-requisitos

  1. Conta Asaas conectada — veja Conectar Asaas.
  2. Serviço marcado como disponível online.
  3. Política de pagamento definida em /configuracoes:
    • obrigatorio: cliente paga 100% antes de confirmar.
    • opcional: cliente escolhe pagar agora ou no local.
    • sinal: cliente paga um % e o resto no local.
    • pos_atendimento: cobra depois.
    • desativado: pagamento online desligado.

Se você escolher sinal, defina percentual do sinal (0–100).

Como o cliente final agenda

  1. Acessa o link público da loja.
  2. Seleciona serviço e horário.
  3. Preenche dados do tutor (nome, CPF, telefone, e-mail opcional) e do cão (nome, porte, raça opcional).
  4. Escolhe forma de pagamento: pix, credito, debito, dinheiro ou local.
  5. Submete.

[SCREENSHOT: Fluxo de booking público com QR Code Pix]

O que rola no servidor

Quando o submitBooking roda:

  1. Rate limit por IP: se vier muita tentativa do mesmo IP, bloqueia com "Muitas tentativas. Aguarde um momento e tente de novo."
  2. Valida tudo com Zod (campos obrigatórios, CPF, e-mail).
  3. Aplica a quota mensal do plano (se a loja for free e estourou, recusa).
  4. Cria ou reutiliza o tutor (busca por CPF).
  5. Cria ou reutiliza o cão (mesmo tutor + nome).
  6. Cria o agendamento com status:
    • aguardando_pagamento se método for pix/credito/debito e política exigir.
    • agendado se for local ou política pos_atendimento.
  7. Se for Pix online, chama o provider Asaas pra gerar o QR Code, devolve pixCopiaCola + pixQrCodeBase64.
  8. Dispara notificação no WhatsApp do tutor com o link/QR (se Evolution conectado).

Confirmação automática

Quando o Asaas dispara o webhook de pagamento confirmado:

  • O payment.status vira pago.
  • O agendamento sai de aguardando_pagamento pra agendado.
  • Se houver funcionário atribuído + comissão configurada, a entrada de comissão pode ser criada na conclusão do atendimento.

Política de cancelamento

Defina o texto em /configuracoes → Política de cancelamento. Aparece pro cliente no fluxo de booking. Use linguagem clara: "Cancelamentos com menos de 4h antes do horário ficam retidos."

Perguntas frequentes

O Pix expira?

Sim. O QR Code Pix do Asaas tem prazo de expiração (por padrão 24h). Se expirar, o agendamento entra em status expirado e o cliente precisa refazer.

Posso cobrar só sinal e o resto no local?

Pode. Use política sinal e defina o percentual. O PetShop Flow cobra o sinal online e marca o restante pra cobrar no local.

Posso desligar pagamento online sem desligar booking?

Sim. Defina política de pagamento como desativado mas mantenha agendamento online habilitado como true. Cliente agenda, paga no local.