> ## 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/subscriptions/:id/manual-renewal-checkout

> Cria um checkout aberto para renovação de um período de cobrança em assinaturas com cobrança manual

Gera um checkout para cobrar manualmente um período de renovação de uma assinatura com `billing_source: chargefy_manual`. O checkout criado pode ser enviado ao cliente para que ele conclua o pagamento.

## Autenticação

> [!NOTE]
>
> Requer um token de acesso válido (`CHARGEFY_ACCESS_TOKEN`) no header `Authorization`. Escopos necessários: `web:write` ou `subscriptions:write`.

## Parâmetros de Path

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `id` | `string` | Sim | ID da assinatura |

## Parâmetros do Body

Todos os campos são opcionais. Quando não fornecidos, os dados do cliente e do produto são herdados da assinatura.

| Parâmetro | Tipo | Obrigatório | Descrição |
| - | - | - | - |
| `customer_id` | `string` | Não | ID do cliente. Se omitido, usa o cliente da assinatura |
| `customer_email` | `string` | Não | E-mail do cliente. Se omitido, usa o e-mail do cliente da assinatura |
| `customer_name` | `string` | Não | Nome do cliente. Se omitido, usa o nome do cliente da assinatura |
| `customer_tax_id` | `string` | Não | CPF/CNPJ do cliente |
| `amount` | `number` | Não | Valor em centavos a cobrar neste período. Se omitido, usa o valor padrão do produto |
| `success_url` | `string` | Não | URL de redirecionamento após pagamento bem-sucedido |
| `cancel_url` | `string` | Não | URL de redirecionamento em caso de cancelamento |
| `metadata` | `object` | Não | Metadados personalizados a incluir no checkout |
| `no_fees_installments` | `boolean` | Não | Se `true`, habilita parcelamento sem juros |

> [!WARNING]
>
> Este endpoint está disponível **exclusivamente** para assinaturas com `billing_source: chargefy_manual`. Assinaturas com status `canceled` retornam erro `409 Conflict`.

## Campos da Resposta

Retorna o objeto do checkout criado (status `201`).

| Campo | Tipo | Descrição |
| - | - | - |
| `id` | `string` | ID do checkout criado |
| `url` | `string` | URL para o cliente concluir o pagamento |
| `status` | `string` | Status do checkout (`open`) |
| `product_id` | `string` | ID do produto da assinatura |
| `subscription_id` | `string` | ID da assinatura vinculada ao checkout |
| `customer_email` | `string \| null` | E-mail do cliente pré-preenchido |
| `customer_name` | `string \| null` | Nome do cliente pré-preenchido |
| `amount` | `number \| null` | Valor em centavos |
| `success_url` | `string \| null` | URL de sucesso |
| `cancel_url` | `string \| null` | URL de cancelamento |
| `created_at` | `datetime` | Data de criação do checkout |

## Exemplo de Requisição

```bash cURL theme={null}
curl -X POST "https://api.chargefy.io/api/v1/subscriptions/sub_1a2b3c4d/manual-renewal-checkout" \
  -H "Authorization: Bearer $CHARGEFY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 4990,
    "success_url": "https://meusite.com.br/obrigado",
    "cancel_url": "https://meusite.com.br/cancelado"
  }'
```

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

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

const checkout = await chargefy.subscriptions.createManualRenewalCheckout('sub_1a2b3c4d', {
  amount: 4990,
  success_url: 'https://meusite.com.br/obrigado',
  cancel_url: 'https://meusite.com.br/cancelado',
});
```

## Exemplo de Resposta

```json theme={null}
{
  "id": "chk_abc123",
  "url": "https://checkout.chargefy.io/c/chk_abc123",
  "status": "open",
  "product_id": "prod_abc123",
  "subscription_id": "sub_1a2b3c4d",
  "customer_email": "cliente@exemplo.com",
  "customer_name": "João Silva",
  "amount": 4990,
  "success_url": "https://meusite.com.br/obrigado",
  "cancel_url": "https://meusite.com.br/cancelado",
  "created_at": "2026-03-30T10:00:00Z"
}
```


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