LYNX UPBANK
DocsReferência da APICriar checkout
2 min de leitura

Criar checkout

POST/v1/billing/create

Cria uma página de pagamento hospedada pela LYNX e retorna uma URL pronta. Use valor fixo (amountCents) ou deixe o cliente escolher (openAmount).

Permissão necessária: BILLING:CREATE

Parâmetros

ParâmetroTipoDescrição
titleobrig.stringTítulo da página de pagamento.
amountCentsintegerValor fixo em centavos (obrigatório se openAmount for false). Mínimo 200 (R$ 2,00).
openAmountbooleanSe true, o cliente define o valor. Padrão false.
descriptionstringDescrição da página.
passFeebooleanSe true, repassa a taxa ao pagador.
layoutstring"full" (página de venda completa, padrão) ou "simple" (link de cobrança enxuto).
collectFieldsobjectQuais dados pedir no checkout: { "name": bool, "email": bool, "whatsapp": bool, "cpf": bool }. Desative todos para checkout 100% anônimo.
ctaTextstringTexto do botão de pagamento (ex.: "Comprar agora").
accentColorstringCor de destaque em hex (ex.: #14B2EC).
imageUrlstringBanner do produto (URL, ideal 16:9).
logoUrlstringLogo exibida no topo da página.
merchantDisplayNamestringNome da loja/vendedor exibido ao comprador.
galleryarrayAté 8 URLs de imagem (galeria do produto).
videoUrlstringLink do YouTube, o vídeo é incorporado na página.
benefitsarrayLista "O que você recebe": [{ "icon": "zap|check|star|shield|gift|clock|heart|trophy|book|download|video|infinity|award|users|chat|rocket", "text": "..." }] (máx. 10).
badgesarraySelos curtos no topo (máx. 6, 40 caracteres): ["+2.000 alunos", "Atualizado 2026"].
guaranteeobject{ "enabled": bool, "days": int, "text": "..." }, selo de garantia.
testimonialsarray[{ "name", "text", "rating" }], depoimentos.
faqarray[{ "q", "a" }], perguntas frequentes.
scarcityobject{ "enabled": bool, "minutes": int }, timer de urgência.
orderBumpobject{ "enabled": bool, "title", "description", "priceCents", "imageUrl" }, oferta adicional pré-pagamento.
deliveryobject{ "type": "link|whatsapp|both|file", "accessUrl", "message", "autoRedirect": bool, "fileId", "fileName" }, ENTREGA AUTOMÁTICA pós-pagamento. Com type "file", suba o arquivo antes em POST /v1/files/upload e use o id retornado em fileId. O link/arquivo só é revelado ao comprador DEPOIS do pagamento confirmado.
supportWhatsappstringWhatsApp de suporte com DDI/DDD (ex.: 5511999998888).
quickAmountsarrayAtalhos de valor em centavos (só com openAmount): [1000, 2500, 5000].
askNotebooleanMostra campo 'Descrição' opcional ao pagador (só com openAmount).

Boas práticas

  • PERSONALIZAÇÃO TOTAL: todos os campos do editor do painel estão disponíveis na API, visual, formulário (collectFields), conteúdo (galeria, vídeo, benefícios, badges), prova social e entrega. Tudo é opcional: o que não for enviado usa os padrões do painel.
  • Links de checkout são públicos, não coloque dados sensíveis no título ou na descrição.
  • Use passFee: true quando quiser receber o valor cheio (a taxa vai por cima, paga pelo cliente).
  • Confirme as vendas pelo webhook billing.paid, que traz o pagador real de cada pedido.
  • Este checkout é REUTILIZÁVEL (aceita infinitos pagamentos). Para um link que aceita UM único pagamento e morre, veja 'Checkout de uso único' (guia) e o endpoint /v1/billing/single-use/create.
  • ENTREGA AUTOMÁTICA: use delivery para liberar um link secreto (type "link") ou um arquivo (type "file", via /v1/files/upload) na hora em que o PIX confirmar. Nada é exposto ao comprador antes do pagamento.

Requisição

bash
curl -X POST https://lynxpix.cc/api/v1/billing/create \
  -H "Authorization: Bearer lynx_test_sua_chave" \
  -H "Content-Type: application/json" \
  -d '{"title":"Curso de PIX na prática","amountCents":9990,"passFee":true,"accentColor":"#7C3AED","collectFields":{"name":true,"email":true,"whatsapp":false,"cpf":true},"benefits":[{"icon":"zap","text":"Acesso imediato"}],"badges":["+2.000 alunos"],"guarantee":{"enabled":true,"days":7,"text":"Garantia de 7 dias"}}'

Resposta

json
{
  "data": {
    "id": "chk_1a2b3c",
    "url": "https://lynx.app/pay/curso-de-pix-25ff60",
    "title": "Curso de PIX na prática",
    "amount": 9990,
    "openAmount": false,
    "status": "active",
    "devMode": true
  },
  "error": null
}