# Criar link de pagamento
`POST /v1/checkouts`
**Área:** Links de pagamento

**Scopes necessários:** `checkouts/write`

Cria uma página de pagamento (payment link) configurável, com produtos, formas de pagamento aceitas, cupons e aparência personalizada. O link é reutilizável e não fica vinculado a um cliente específico.

É obrigatório informar `priceId` (preço já cadastrado) ou `product` (produto com preços inline).

Formas de pagamento suportadas: pix, creditcard, boleto e pix_automatico.

**Pix Automático** está disponível apenas para **contas PJ** (conta ValidaPay cadastrada com CNPJ) e só é aceito em preços recorrentes (`recurrenceType` WEEKLY, MONTHLY, QUARTERLY, SEMIANNUAL ou YEARLY). O cliente autoriza a recorrência uma única vez no aplicativo do banco e as cobranças seguintes são debitadas automaticamente, sem novo QR Code a cada ciclo. Até o banco do pagador confirmar a autorização, a assinatura fica com status `PENDING`.

O valor mínimo por cobrança é de **R$ 4,99**.

Erros: `400 PIX_AUTOMATICO_PJ_ONLY` (conta PF) e `400 PIX_AUTOMATICO_MIN_AMOUNT` (valor abaixo do mínimo).

Ao informar `termsOfServiceUrl` e/ou `privacyPolicyUrl`, o checkout exibe um aceite obrigatório com os links: o cliente só consegue finalizar a compra depois de marcar que leu e concorda. O texto do aceite se adapta a um ou aos dois links. Sem esses campos, nenhum aceite é exibido.

Case de uso:

_Como SaaS, quero criar um link de pagamento reutilizável para uma oferta — definindo cores, parcelamento e order bumps — e compartilhá-lo com vários clientes._

### Request body

```json
{
  "priceId": "price_xxx",
  "allowedPaymentMethods": [
    "pix",
    "creditcard",
    "boleto",
    "pix_automatico"
  ],
  "successUrl": "https://meusite.com/obrigado",
  "cancelUrl": "https://meusite.com/cancelado",
  "redirectAfterPaymentUrl": "https://meusite.com/redirect",
  "termsOfServiceUrl": "https://meusite.com/termos-de-servico",
  "privacyPolicyUrl": "https://meusite.com/politica-de-privacidade",
  "successMessage": "Obrigado pela compra!",
  "maxInstallments": 12,
  "freeInstallments": 1,
  "passFeesToCustomer": false,
  "checkoutName": "Oferta Black Friday",
  "primaryColor": "#7C3AED",
  "secondaryColor": "#EDE9FE",
  "fontColor": "#1F2937",
  "showProductImage": true,
  "metadata": {},
  "orderBumps": [
    {
      "priceId": "price_yyy",
      "label": "Adicionar suporte premium",
      "displayMode": "checkbox"
    }
  ]
}
```

### Campos do body

**Obrigatórios:** `priceId`, `allowedPaymentMethods`, `orderBumps.priceId`

| Campo | Descrição |
|---|---|
| `priceId` | ID do preço já cadastrado (obrigatório priceId OU product) |
| `allowedPaymentMethods` | Formas de pagamento aceitas: pix, creditcard, boleto, pix_automatico (só conta PJ, em preço recorrente) |
| `orderBumps.priceId` | priceId do produto adicional |

**Opcionais**

| Campo | Descrição |
|---|---|
| `successUrl` | Redireciona após pagamento aprovado |
| `cancelUrl` | Redireciona ao cancelar |
| `redirectAfterPaymentUrl` | URL de redirecionamento pós-pagamento |
| `termsOfServiceUrl` | Termos de serviço exibidos no checkout para aceite do cliente |
| `privacyPolicyUrl` | Política de privacidade exibida no checkout para aceite do cliente |
| `successMessage` | Mensagem exibida após o pagamento |
| `maxInstallments` | Limite de parcelas (1 a 12) |
| `freeInstallments` | Parcelas sem juros (1 a 12, default 1) |
| `passFeesToCustomer` | Repassa as taxas ao cliente (default false) |
| `checkoutName` | Nome interno do checkout |
| `primaryColor` | Cor primária em hex |
| `secondaryColor` | Cor secundária em hex |
| `fontColor` | Cor do texto em hex |
| `showProductImage` | Exibir imagem do produto (default true) |
| `orderBumps` | Produtos adicionais oferecidos no checkout |
| `orderBumps.label` | Texto exibido |
| `orderBumps.displayMode` | Modo de exibição |

### Resposta 200 — 200

```json
{
  "id": "pl_xxx",
  "url": "https://app.validapay.com.br/pagamento/pl_xxx",
  "priceId": "price_xxx"
}
```

---
Página: https://docs.validapay.com.br/documentacao-validapay2/post-criar-link-de-pagamento
Contrato OpenAPI: https://docs.validapay.com.br/openapi.json