Public
Página de venda R$ 499 cartão até 8x via Asaas
apiasaaspagamento
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

venda-499

Página de venda com pagamento via Asaas CheckoutR$ 599,90 à vista ou parcelado em até 8x no cartão de crédito.

Como funciona

  1. O cliente abre a página de venda (index.html), informa nome e WhatsApp (captura de lead) e clica em Quero comprar.
  2. 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.
  3. O cliente é direcionado para a página hospedada do Asaas, onde escolhe de 1x a 8x e digita o cartão.
  4. O Asaas notifica o webhook: 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.

Quase-compradores (Excel)

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_EXPIRED e CHECKOUT_CANCELED estejam cadastrados no webhook (abaixo).

Configuração

  • 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

Rotas

MétodoRotaDescrição
GET/Página de venda
GET/obrigadoPágina de sucesso pós-pagamento
GET/quase-compraram.xlsxExcel dos que entraram e não pagaram (leads)
POST/criar-checkoutCria o checkout Asaas e retorna o link
POST/webhook/asaasRecebe eventos do Asaas (CHECKOUT_PAID, EXPIRED, CANCELED)

Webhook no painel Asaas

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).

Nomear o produto

Use a página de venda:

[url:main.ts]