iHubGamesiHubGamesdocs

Referência da API

Cancelar assinatura

Marca a Subscription como CANCELED (final, não pode ser reativada). Em uma única transação atômica, também cancela todas as Invoices vinculadas em status PENDING, OVERDUE ou DRAFT (Invoices PAID, REFUNDED, CANCELED ou EXPIRED não são afetadas). Pra parar temporariamente, prefira POST /:id/pause.

POST/v2/subscriptions/:id/cancel
Cancel é final e cascateia para invoices
id Diferente de pause, cancel não pode ser desfeito via API. E todas as invoices PENDING/OVERDUE/DRAFT desta subscription também são canceladas — o cliente não consegue pagar mais nenhuma delas. Se o cliente já pagou alguma, essa Invoice permanece PAID.

Autenticação

HTTP Basic Auth. Envie sua secret key no header:

Authorization: Basic {base64(secret:SUA_SECRET_KEY)}

Parâmetros

idstring (path, UUID)obrigatório

UUID da Subscription.

Exemplo: sub_abc123-...

Body da requisição

Content-Type: application/json

JSON
{
  "reason": "Cliente solicitou cancelamento por chat"
}

Respostas

200

Subscription cancelada. invoicesCanceled informa quantas invoices PENDING/OVERDUE/DRAFT foram canceladas em cascata.

JSON
{
  "subscription": {
    "id": "sub_abc123-...",
    "status": "CANCELED",
    "canceledAt": "2026-09-15T16:00:00.000Z",
    "canceledReason": "Cliente solicitou cancelamento por chat",
    "updatedAt": "2026-09-15T16:00:00.000Z"
  },
  "invoicesCanceled": 1
}
400

Subscription já está cancelada ou expirada.

JSON
{ "status": 400, "error": "Subscription ja esta CANCELED" }
404

Subscription não encontrada.

JSON
{ "status": 404, "error": "Subscription nao encontrada" }

Exemplos

cURL
curl -X POST "https://api.ihubplay.com/v2/subscriptions/sub_abc123-.../cancel" \
  -H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
  -H "Content-Type: application/json" \
  -d '{ "reason": "Cliente solicitou cancelamento por chat" }'