SelectwinSelectwin

Marketplace - Planos de taxas

Visão Geral

Um plano de taxas é uma tabela que a plataforma aplica a um grupo de sub-contas: a taxa por meio de pagamento (Pix, boleto, crédito, débito), a taxa por quantidade de parcelas no crédito, o prazo de liberação de cada meio e a tarifa de saque. Em vez de uma taxa simples por sub-conta (platformFee), você cria o plano uma vez e o atribui a quantas sub-contas quiser.

Nas vendas de uma sub-conta com plano, a plataforma recolhe o que o plano define para aquele meio (e parcelas); os recebíveis da sub-conta seguem o prazo de liberação do plano; e cada saque dela paga a tarifa do plano.

Precauções

  • Mesma forma que a sua taxa. Para cada meio, o plano só cobra na mesma forma (percentual ou fixo) que a taxa da sua própria conta usa naquele meio; caso contrário, 422 planFeeTypeMismatch com params: [{ "method": "credit", "field": "percent" }]. Se a sua conta ainda não tem taxa configurada, 422 platformRatesMissing.
  • Prazo de liberação nunca menor que o seu. O releaseDays de um meio não pode ser menor que o prazo em que a sua plataforma recebe aquele meio (a sub-conta não pode ser paga antes de você): 422 planReleaseBelowPlatform, com o mínimo por campo em params.
  • Plano em uso não é apagado. DELETE de um plano atribuído a sub-contas responde 409 planInUse com params[0].subAccounts (quantas o usam). Mova-as para outro plano (ou retire o plano) antes.
  • Alterar um plano vale para as próximas cobranças de todas as sub-contas que o usam.
  • Recurso de conta: crie e altere planos com uma chave sk_live_ (com sk_test_, 409 accountLevelReadOnlyInSandbox).

Estrutura do Objeto Plano

JSON
{
  "id": "rate_01hqzvplan1",
  "name": "Vendedores Prata",
  "pix": { "percent": 1.5, "fixed": 0, "releaseDays": 1 },
  "boleto": { "percent": 0, "fixed": 250, "releaseDays": 2 },
  "credit": {
    "percent": 4.5,
    "fixed": 0,
    "installments": [ { "n": 2, "percent": 5.5 }, { "n": 3, "percent": 6.5 } ],
    "releaseDays": 30
  },
  "debit": { "percent": 2, "fixed": 0, "releaseDays": 1 },
  "withdrawalFee": 350,
  "createdAt": "2026-10-17T12:00:00.000Z"
}
CampoDescrição
idIdentificador do plano (rate_…) — o planId das sub-contas
nameNome do plano
pix · boleto · debitPor meio: percent (percentual da venda), fixed (centavos por venda) e releaseDays (dias até o valor ficar disponível para a sub-conta; null = o prazo padrão)
creditIdem, mais installments[]: o percentual por quantidade de parcelas (n), ou null quando não há tabela por parcela
withdrawalFeeTarifa fixa por saque da sub-conta, em centavos; null quando não definida

Criar um plano

HTTP
POST /v1/marketplace/plans

Corpo da Requisição

JSON
{
  "name": "Vendedores Prata",
  "pix": { "percent": 1.5, "releaseDays": 1 },
  "boleto": { "fixed": 250, "releaseDays": 2 },
  "credit": { "percent": 4.5, "installments": [ { "n": 2, "percent": 5.5 }, { "n": 3, "percent": 6.5 } ], "releaseDays": 30 },
  "debit": { "percent": 2, "releaseDays": 1 },
  "withdrawalFee": 350
}
AtributoTipoObrigatórioDescrição
namestringSimNome do plano (1–100 caracteres)
pix · boleto · debitobjectNãopercent (0–100), fixed (centavos, inteiro ≥ 0), releaseDays (0–365). Todos opcionais
creditobjectNãoOs mesmos campos, mais installments[] (até 36 itens { n: 1–36, percent: 0–100 })
withdrawalFeeintegerNãoTarifa de saque em centavos (≥ 0)

Resposta (201 Created)

O objeto do plano.

Listar e consultar

HTTP
GET /v1/marketplace/plans
GET /v1/marketplace/plans/{planId}

A lista responde { "data": [ …planos ], "count": 2 }; a consulta responde o objeto do plano.

Alterar um plano

HTTP
PATCH /v1/marketplace/plans/{planId}

Mesmos campos da criação, todos opcionais; campos desconhecidos são recusados com 400. Responde o plano atualizado.

Excluir um plano

HTTP
DELETE /v1/marketplace/plans/{planId}

Responde { "id": "rate_01hqzvplan1", "deleted": true }. Só um plano sem sub-contas pode ser excluído.

Atribuir a uma sub-conta

PUT /v1/marketplace/sub-accounts/{companyId}/plan com { "planId": "rate_…" } (ou null para retirar) — veja Atualizar. Na criação da sub-conta, envie planId direto (Criar).

Erros

HTTPerror.codeQuando
400invalidParametersCorpo inválido (faixa, tipo, campo desconhecido no PATCH)
404planNotFoundO planId não é um plano da sua plataforma
409planInUseExclusão de um plano atribuído a sub-contas (params[0].subAccounts)
409accountLevelReadOnlyInSandboxEscrita com chave de sandbox
422planFeeTypeMismatchUm meio cobrado numa forma (percentual/fixo) diferente da sua taxa naquele meio (params: [{ method, field }])
422platformRatesMissingA sua conta ainda não tem taxa configurada
422planReleaseBelowPlatformUm releaseDays menor que o prazo em que a sua plataforma recebe aquele meio (params traz o mínimo por campo)

Exemplo

Shell
curl -X POST "https://api.selectwin.io/v1/marketplace/plans" \
     -H "SelectKey: sk_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ" \
     -H "Content-Type: application/json" \
     -d '{ "name": "Vendedores Prata", "pix": { "percent": 1.5, "releaseDays": 1 }, "credit": { "percent": 4.5, "releaseDays": 30 }, "withdrawalFee": 350 }'

Atualizado em 21 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