> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upag.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar uma Sessão de Checkout

> Crie uma nova sessão de checkout para um cliente

Cria uma nova sessão de checkout com pelo menos um item (preço + quantidade). Retorna a URL da página de pagamento para redirecionar o cliente.

## Endpoint

```bash cURL theme={null}
curl -X POST https://api.upag.io/v1/checkout-sessions \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cus_ahwDXrgYvur89iPs",
    "items": [
      {
        "priceId": "price_def456ghi",
        "quantity": 1
      }
    ],
    "paymentMethods": ["credit_card", "pix"],
    "billingAddressCollection": "auto",
    "successUrl": "https://seusite.com/sucesso",
    "cancelUrl": "https://seusite.com/cancelado"
  }'
```

## Parâmetros

<ParamField body="items" type="array" required>
  Lista de linhas do checkout. Cada item precisa de `priceId` (string) e `quantity` (número, mínimo `1`). É obrigatório pelo menos um item.
</ParamField>

<ParamField body="customerId" type="string">
  Opcional. ID do cliente (`cus_...`) para associar à sessão.
</ParamField>

<ParamField body="paymentMethods" type="string[]">
  Opcional. Métodos aceitos na sessão. Valores do enum da API: `credit_card`, `pix`.
</ParamField>

<ParamField body="billingAddressCollection" type="string">
  Opcional. Um de: `auto`, `required`, `none`.
</ParamField>

<ParamField body="successUrl" type="string">
  Opcional. URL válida para redirecionar após pagamento bem-sucedido.
</ParamField>

<ParamField body="cancelUrl" type="string">
  Opcional. URL válida se o cliente cancelar o fluxo.
</ParamField>

## Resposta

```json Response theme={null}
{
  "id": "cs_abc123xyz",
  "status": "open",
  "customerId": "cus_ahwDXrgYvur89iPs",
  "url": "https://checkout.upag.io/cs_abc123xyz",
  "billingAddressCollection": false,
  "successUrl": "https://example.com/success",
  "cancelUrl": "https://example.com/cancel",
  "latitude": null,
  "longitude": null,
  "country": null,
  "region": null,
  "city": null,
  "expiresAt": "2024-11-16T10:00:00.000Z",
  "createdAt": "2024-11-15T10:00:00.000Z",
  "updatedAt": "2024-11-15T10:00:00.000Z",
  "items": []
}
```
