> ## Documentation Index
> Fetch the complete documentation index at: https://scaleup-c34c4386.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /api/v1/customers/:id/checkout-link

> Gera um link de checkout pré-preenchido e bloqueado para um cliente específico

Gera um checkout com validade de 7 dias cujos dados do comprador são pré-preenchidos e bloqueados com as informações do cliente. Ideal para enviar via email ou WhatsApp para que o cliente conclua o pagamento sem precisar preencher seus dados novamente.

O `client_secret` retornado é o token de acesso à sessão de checkout. A `checkout_url` já inclui esse token e pode ser compartilhada diretamente com o cliente.

## Autenticação

Requer **Organization Access Token (OAT)** via header `Authorization: Bearer`. Escopos necessários: `web:write` ou `customers:write`.

O cliente em `:id` pode pertencer a uma **sub-organização**: com OAT da **organização pai**, o acesso é permitido se o pai for pai direto da org do cliente. Veja [Marketplace: OAT da organização pai e sub-organizações](https://scaleup-c34c4386.mintlify.site/guides/parent-marketplace-suborganizations.md).

## Parâmetros de Caminho

**id** `string` *required*

ID único interno do cliente no Chargefy para o qual o link será gerado.

## Corpo da Requisição

**product\_id** `string` *required*

ID do produto a ser cobrado no checkout.

**custom\_amount** `number`

Valor customizado em centavos (ex: `4990` para R\$ 49,90). Quando informado, substitui o preço padrão do produto.

**no\_fees\_installments** `boolean`

Quando `true`, as parcelas são oferecidas sem juros ao comprador. **Opcional:** se omitido ou `null`, o padrão é `false`. Se enviado, deve ser booleano (`400` caso contrário).

**due\_date** `string`

Data da primeira cobrança no formato `YYYY-MM-DD` (apenas produtos **recorrentes**). **Opcional:** se omitido, vazio ou `null`, a API usa **o dia atual em UTC** como primeira cobrança e grava em `recurrence_due_date` nos metadados do checkout. Se informado, deve estar entre hoje e no máximo 2 meses à frente (calendário UTC).

**subscription\_title** `string`

Título personalizado para a assinatura que será criada a partir deste checkout. Substitui o nome padrão do produto.

**metadata** `object`

Metadados personalizados do integrador em formato chave-valor. Valores permitidos: `string`, `number`, `boolean` ou `null`. Máximo de 50 chaves. São mesclados com os metadados internos do servidor (os metadados internos têm precedência em caso de conflito de chaves).

**success\_url** `string`

URL de redirecionamento após o pagamento bem-sucedido. Deve começar com `http://` ou `https://`. Também aceito como `successUrl`.

**cancel\_url** `string`

URL de redirecionamento quando o comprador abandona ou cancela o checkout. Deve começar com `http://` ou `https://`. Também aceito como `cancelUrl`.

**allow\_discount\_codes** `boolean`

Quando `false`, desabilita o campo de cupom de desconto na tela de checkout. Padrão: `true`. Também aceito como `allowDiscountCodes`.

**recurrence\_billing** `string`

Estratégia de cobrança recorrente (apenas para produtos **recorrentes**). Valores: `zoop` (padrão — cobrança automática via plano no gateway) ou `manual` (Chargefy gerencia as renovações). Também aceito como `recurrenceBilling`. Se omitido, assume `zoop`.

## Resposta

**client\_secret** `string`

Token de acesso à sessão de checkout. Pode ser utilizado para construir a URL manualmente ou passado para o SDK de checkout.

**checkout\_url** `string`

URL completa e pronta para compartilhar com o cliente. O link expira em 7 dias a partir da criação.

## Exemplo

**Mínimo** (integração): apenas `product_id`. Para assinatura, `due_date` e `no_fees_installments` não são obrigatórios — a primeira cobrança recorrente assume o dia UTC atual e parcelas com taxa seguem o padrão do checkout (`no_fees_installments: false`).

```bash cURL (mínimo) theme={null}
curl -X POST "https://api.chargefy.io/api/v1/customers/cus_def456/checkout-link" \
  -H "Authorization: Bearer $CHARGEFY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "prod_abc123"}'
```

```bash cURL (valor customizado + parcelas sem juros) theme={null}
curl -X POST "https://api.chargefy.io/api/v1/customers/cus_def456/checkout-link" \
  -H "Authorization: Bearer $CHARGEFY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "prod_abc123",
    "custom_amount": 4990,
    "no_fees_installments": true
  }'
```

```typescript SDK theme={null}
import { Chargefy } from '@chargefy/sdk';

const chargefy = new Chargefy({
  accessToken: process.env.CHARGEFY_ACCESS_TOKEN,
});

const link = await chargefy.customers.createCheckoutLink('cus_def456', {
  product_id: 'prod_abc123',
  custom_amount: 4990,
  no_fees_installments: true,
});

console.log(link.checkout_url);
```

## Resposta de Exemplo

```json theme={null}
{
  "client_secret": "cs_live_eyJzdWIiOiJjdXNfZGVmNDU2IiwicHJvZCI6InByb2RfYWJjMTIzIn0",
  "checkout_url": "https://app.chargefy.com.br/checkout/cs_live_eyJzdWIiOiJjdXNfZGVmNDU2IiwicHJvZCI6InByb2RfYWJjMTIzIn0"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.