SelectwinSelectwin

Ciclos da Assinatura

Cada assinatura é cobrada em ciclos. Um ciclo representa um período de cobrança (ex.: um mês), com sua data de vencimento (dueDate) e status próprio. A Selectwin gera e cobra os ciclos automaticamente. Os IDs de ciclo usam o prefixo scy_ (também aceitamos o legado cycle_).

OperaçãoMétodoEndpointSucesso
Listar ciclosGET/v1/subscriptions/{subscriptionId}/cycles200
Consultar cicloGET/v1/subscriptions/{subscriptionId}/cycles/{cycleId}200
Reagendar cicloPOST/v1/subscriptions/{subscriptionId}/cycles201

Status de ciclo

scheduled (agendado), processing (em cobrança), paid (pago), failed (falhou), canceled (cancelado).


Listar ciclos

GET /v1/subscriptions/{subscriptionId}/cycles

Aceita paginação (limit 1–100, padrão 20; offset), filtro de período (daterange, daterangegt, daterangegte, daterangelt, daterangelte) e status (um dos status de ciclo acima).

Shell
curl -X GET "https://api.selectwin.io/v1/subscriptions/subs_01hqzvabc/cycles" \
  -H "SelectKey: sk_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ"

Resposta 200 OK (paginada):

JSON
{
  "offset": 0, "limit": 20, "total": 3, "hasMore": false,
  "page": { "current": 1, "total": 1, "offset": { "first": 0, "prev": null, "next": null, "last": 0 } },
  "data": [
    {
      "id": "scy_01hqzvabc",
      "cycle": 1,
      "status": "paid",
      "startDate": "2026-04-01T00:00:00.000Z",
      "endDate": "2026-05-01T00:00:00.000Z",
      "dueDate": "2026-04-01T00:00:00.000Z",
      "billedAt": "2026-04-01T10:15:00.000Z",
      "updatedAt": "2026-04-12T17:56:33.000Z",
      "createdAt": "2026-04-01T00:00:00.000Z",
      "amount": 19700,
      "transactionId": "tra_01hqzvxyz",
      "method": "credit",
      "expectedAmount": null,
      "attempts": 1,
      "nextAttemptAt": null,
      "failure": null
    }
  ],
  "merchant": { "name": "Seller Name", "merchantId": "bus_1234567890", "isSubAccount": false },
  "_links": { "self": { "href": "https://api.selectwin.io/v1/subscriptions/subs_01hqzvabc/cycles", "method": "GET" } }
}

Campos do ciclo: id, cycle (número sequencial), status, startDate, endDate, dueDate, billedAt (data da cobrança ou null), updatedAt, createdAt, e:

CampoTipoO que é
amountinteiro (centavos)null
transactionIdstringnull
methodcreditpix
expectedAmountinteiro (centavos)null
attemptsinteiroTentativas de cobrança já feitas neste ciclo (no máximo o teto da régua de inadimplência da loja — 5 por padrão)
nextAttemptAtdatetimenull
failureobjetonull

failure:

JSON
{ "stage": "charge", "code": "insufficientFundsError", "message": "Saldo ou limite insuficiente para realizar esta compra. Verifique o limite disponível ou use outro cartão.", "at": "2026-08-17T10:00:00.000Z" }
  • stage: "beforeCharge" — a cobrança nem chegou a ser feita. code: noCard (sem cartão), noBillingAddress (boleto sem endereço), unpriceableItems (item sem preço), internalError, ou o código da recusa da cobrança (o mesmo vocabulário de erros da criação de transação). message é null.
  • stage: "charge" — a cobrança foi recusada. code e message são o code e o displayMessage (pt-BR) de payment.refused da transação ligada — ver Recusas de Pagamento.

Consultar ciclo

GET /v1/subscriptions/{subscriptionId}/cycles/{cycleId}

JSON
{
  "id": "scy_01hqzvabc",
  "cycle": 1,
  "status": "paid",
  "startDate": "2026-04-01T00:00:00.000Z",
  "endDate": "2026-05-01T00:00:00.000Z",
  "dueDate": "2026-04-01T00:00:00.000Z",
  "billedAt": "2026-04-01T10:15:00.000Z",
  "updatedAt": "2026-04-12T17:56:33.000Z",
  "createdAt": "2026-04-01T00:00:00.000Z",
  "merchant": { "name": "Seller Name", "merchantId": "bus_1234567890", "isSubAccount": false },
  "_links": { "self": { "href": "https://api.selectwin.io/v1/subscriptions/subs_01hqzvabc/cycles/scy_01hqzvabc", "method": "GET" } }
}

Reagendar ciclo

POST /v1/subscriptions/{subscriptionId}/cycles

Shell
curl -X POST "https://api.selectwin.io/v1/subscriptions/subs_01hqzvabc/cycles" \
  -H "SelectKey: sk_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ"

Resposta 201 Created (o ciclo recém-agendado):

JSON
{
  "id": "scy_02hqzvdef",
  "cycle": 2,
  "status": "scheduled",
  "startDate": "2026-05-01T00:00:00.000Z",
  "endDate": "2026-06-01T00:00:00.000Z",
  "dueDate": "2026-05-01T00:00:00.000Z",
  "billedAt": null,
  "updatedAt": "2026-04-12T17:56:33.000Z",
  "createdAt": "2026-04-12T17:56:33.000Z",
  "merchant": { "name": "Seller Name", "merchantId": "bus_1234567890", "isSubAccount": false },
  "_links": { "self": { "href": "https://api.selectwin.io/v1/subscriptions/subs_01hqzvabc/cycles/scy_02hqzvdef", "method": "GET" } }
}

Erros

error.codeHTTP
subscriptionNotFound404
cycleNotFound404

Atualizado em 17 de outubro de 2026

Preferências de cookies

Hoje o site usa só cookies essenciais: nenhuma ferramenta de medição ou de anúncios está ligada, e nada é compartilhado com terceiros. Se isso mudar, você decide aqui antes de qualquer coisa ser carregada.

  • Mantêm o site funcionando: segurança, a sua escolha sobre cookies e preferências como a versão da documentação. Não dependem de consentimento.

    Sempre ativos