Página de venda com pagamento via Asaas Checkout — R$ 599,90 à vista ou parcelado em até 8x no cartão de crédito.
index.html), informa nome e WhatsApp (captura de lead) e clica em Quero comprar.POST /criar-checkout salva a lead no SQLite e cria um checkout parcelado no Asaas (POST /v3/checkouts com billingTypes: ["CREDIT_CARD"], chargeTypes: ["INSTALLMENT"] e installment.maxInstallmentCount: 8), já com os dados do pagador pré-preenchidos via customerData.CHECKOUT_PAID marca como PAGO; CHECKOUT_EXPIRED/CHECKOUT_CANCELED marcam como EXPIRADO/CANCELADO (quase-compradores) e buscam os dados do cliente (GET /v3/customers/{id}) para enriquecer a lead.Quem entrou e não pagou fica com status PENDENTE, EXPIRADO ou CANCELADO. Baixe a lista em planilha do Excel (.xlsx) clicando em:
Excel dos que não pagaram: [url:main.ts/quase-compraram.xlsx]
⚠️ Importante sobre o histórico: as vendas feitas antes da captura de nome/WhatsApp não têm esses dados (ficam em branco no Excel). A partir de agora, todo novo checkout guarda nome + WhatsApp automaticamente e o Excel passa a ter os leads completos. Para recuperar dados já preenchidos no Asaas por quem não pagou, é preciso que os eventos
CHECKOUT_EXPIREDeCHECKOUT_CANCELEDestejam cadastrados no webhook (abaixo).
Defina a variável de ambiente ASAAS_API_KEY (chave de API do Asaas). Prefira a chave de produção
https://api.asaas.com — a variável já é usada nos endpoints de /v3.
👉 Add ASAAS_API_KEY here: https://www.val.town/x/spfc/venda-499/environment-variables?key=ASAAS_API_KEY
(Opcional) Personalize em main.ts:
VALOR — valor da venda (padrão 599.9)MAX_PARCELAS — máximo de parcelas (padrão 8)NOME_ITEM / DESCRICAO — nome e descrição exibidos no checkout| Método | Rota | Descrição |
|---|---|---|
| GET | / | Página de venda |
| GET | /obrigado | Página de sucesso pós-pagamento |
| GET | /quase-compraram.xlsx | Excel dos que entraram e não pagaram (leads) |
| POST | /criar-checkout | Cria o checkout Asaas e retorna o link |
| POST | /webhook/asaas | Recebe eventos do Asaas (CHECKOUT_PAID, EXPIRED, CANCELED) |
No painel do Asaas (Integrações → Webhooks), cadastre a URL de webhook apontando para:
url:main.ts/webhook/asaas
Cadastre os eventos: CHECKOUT_PAID, CHECKOUT_EXPIRED e CHECKOUT_CANCELED (todos os três — o EXPIRED/CANCELED é o que enriquece os quase-compradores).
Use a página de venda:
[url:main.ts]