Assinaturas

Cancelar Assinatura

Cancela uma assinatura ativa, interrompendo todas as cobranças futuras. Rota recomendada para cancelamento (preferir em relação ao PATCH com action: "cancel").

A assinatura é marcada como CANCELED imediatamente. Ciclos futuros pendentes (PENDING, AWAITING_PAYMENT) são cancelados.

O campo reason é opcional e pode ser usado para registrar o motivo do cancelamento.

Case de uso:

Como SaaS, quero cancelar a assinatura de um cliente que solicitou encerramento do serviço.

DELETE/v1/subscriptions/:subscriptionId
Base URL Produção:https://api.validapay.com.br
Base URL Sandbox:https://sandbox.validapay.com.br

Authorizations

bearer

Authorization

string · header · required

Cabeçalho de autenticação Bearer no formato Bearer {{token}} onde {{token}} é o seu token OAuth2.

Escopos requeridos

subscriptions/write

Path Parameters

NameTypeRequiredDescription
subscriptionIdstringRequiredID da assinatura (ex: sub_xxx) - required

Body

application/json

Content-Type:application/json
{
  "reason": "Cliente solicitou"
}

Schema

reasonstringOptional

Motivo do cancelamento

const url = 'https://sandbox.validapay.com.br/v1/subscriptions/:subscriptionId';

const options = {
  method: 'DELETE',
  headers: {
    'Authorization': 'Bearer {{token}}'
  },
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Response Examples

200200
{
  "success": true,
  "message": "Assinatura cancelada com sucesso",
  "status": "CANCELED",
  "canceledCycles": 2
}
400400
{
    "error": {
        "message": "Assinatura já está cancelada",
        "code": "SUBSCRIPTION_ALREADY_CANCELED",
        "details": null,
        "timestamp": "2026-07-14T21:39:36.322Z"
    }
}
404404
{
    "error": {
        "message": "Assinatura não encontrada",
        "code": "SUBSCRIPTION_NOT_FOUND",
        "details": null,
        "timestamp": "2026-07-14T21:39:36.322Z"
    }
}