Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.usealpa.com/llms.txt

Use this file to discover all available pages before exploring further.

O checkout de assinaturas é público — não requer API Key. Ideal para landing pages e páginas de planos.

Endpoint

POST /api/subscriptions/checkout
Autenticação: Nenhuma (público)

Corpo da requisição

CampoTipoObrigatórioDescrição
planIduuidID do plano de assinatura
clientNamestringNome completo do assinante
clientEmailstringEmail do assinante
clientDocumentstringCPF (11 dígitos) ou CNPJ (14 dígitos)
paymentMethodstringCREDIT_CARD ou PIX
cardTokenstringCondicionalToken do cartão (obrigatório para CREDIT_CARD)

Exemplo — Cartão de crédito

curl --request POST \
  --url https://alpa-sistema-api.onrender.com/api/subscriptions/checkout \
  --header 'Content-Type: application/json' \
  --data '{
    "planId": "550e8400-e29b-41d4-a716-446655440000",
    "clientName": "João Silva",
    "clientEmail": "joao@example.com",
    "clientDocument": "12345678901",
    "paymentMethod": "CREDIT_CARD",
    "cardToken": "tok_abc123"
  }'

Resposta de sucesso (201 Created)

{
  "success": true,
  "data": {
    "subscriptionId": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11",
    "status": "TRIAL",
    "nextBillingDate": "2026-06-01T00:00:00.000Z"
  }
}

Nota sobre trial

Se o plano possui trialDays > 0, o status retornado será TRIAL e a primeira cobrança só ocorre após o período de trial.

Eventos de webhook disparados

Após inscrição bem-sucedida:
EventoQuando
subscription.createdImediatamente após inscrição
subscription.trial_startedQuando trial é iniciado
subscription.activatedQuando primeira cobrança é aprovada
subscription.charge_failedQuando cobrança falha
subscription.cancelledQuando assinante cancela

Configurar webhooks

Receba notificações automáticas de eventos de assinatura.

Erros comuns

CódigoDescrição
400Campo obrigatório ausente ou inválido
404Plano não encontrado ou inativo
409Assinante já possui assinatura ativa neste plano