Cancela uma assinatura. Por padrão agenda o cancelamento ao fim do período de cobrança atual. Para cancelamento imediato, envie cancel_at_period_end: false.
Autenticação
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
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|
cancel_at_period_end | boolean | Não | Se true (padrão), cancela ao fim do período atual. Se false, cancela imediatamente |
customer_cancellation_reason | string | Não | Motivo do cancelamento informado pelo cliente. Valores: customer_service, low_quality, missing_features, switched_service, too_complex, too_expensive, unused, other |
customer_cancellation_comment | string | Não | Comentário livre do cliente sobre o cancelamento |
Campos da Resposta
Retorna o objeto da assinatura com status atualizado.
| Campo | Tipo | Descrição |
|---|
id | string | ID da assinatura |
status | string | Status atualizado (canceled ou active com cancel_at_period_end: true) |
cancel_at_period_end | boolean | Se o cancelamento está agendado para o fim do período |
ended_at | datetime | Data do encerramento definitivo (se já cancelada) |
Exemplo de Requisição
curl -X DELETE "https://api.chargefy.io/api/v1/subscriptions/sub_1a2b3c4d" \
-H "Authorization: Bearer $CHARGEFY_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cancel_at_period_end": true,
"customer_cancellation_reason": "too_expensive"
}'
Exemplo de Resposta
{
"id": "sub_1a2b3c4d",
"status": "active",
"customer_id": "cus_9x8y7z",
"product_id": "prod_abc123",
"product_price_id": "price_def456",
"current_period_start": "2026-03-01T00:00:00Z",
"current_period_end": "2026-04-01T00:00:00Z",
"cancel_at_period_end": true,
"ended_at": null,
"created_at": "2026-01-15T10:30:00Z"
}