Skip to main content
Uma plataforma usa uma API key de plataforma para criar organizações conectadas e, depois, operar recursos delas pelo header Organization. O identificador público que você guarda é o ID da organization (org_*). Não existe um objeto público separado para o vínculo plataforma↔organização.
O mesmo org_* tem dois usos. Para consultar ou atualizar a própria organização, coloque o ID na URL. Para operar recursos pertencentes a ela, como produtos, customers e pagamentos, envie o ID no header Organization.
Não adicione o header Organization automaticamente a toda chamada de plataforma. Nos endpoints de organizações, a coleção ou o ID da URL é a fonte de verdade.

Fluxo recomendado

  1. Crie a organização conectada para o CPF/CNPJ da conta.
  2. Guarde o id retornado no seu sistema.
  3. Quando precisar de cadastro financeiro, escolha um dos dois caminhos:
    • Hospedado — crie um activation session para o organization e envie o responsável pela conta para a url retornada. É o caminho de menor esforço: o formulário, os uploads e as validações são da Chargefy. Guia: Ativar organização por sessão hospedada.
    • Por API — colete o cadastro nas suas telas, grave os blocos com POST /v1/organizations/{id} e envie para análise com POST /v1/organizations/{id}/submit, sem redirecionar ninguém. Guia: Ativar organização por API.
    Os dois escrevem no mesmo cadastro e o resultado chega pelo mesmo organization.updated.
  4. Acompanhe organization.created, organization.review.required, organization.review.submitted e organization.updated por webhook. Os planos de taxas da plataforma chegam em fee.plan.created e fee.plan.updated.
  5. Para criar recursos pertencentes a essa organização, como produtos, customers e pagamentos, use sua API key de plataforma com Organization: <organization_id>.

Criar a organização conectada

Resposta — requirements.missing já mostra o que o cadastro financeiro ainda precisa:
Chamadas repetidas com o mesmo CPF/CNPJ dentro da mesma plataforma retornam a mesma organização.
Guarde um único org_* por participante. Esse ID aparece na URL dos endpoints de organizações, no header Organization dos recursos da conta e no campo organization dos webhooks. Se a criação terminar em timeout ou 5xx, repita a chamada com o mesmo documento: a API devolve a mesma organização sem criar duplicata.
O document é a identidade fiscal declarada da organização: ele define se a ativação financeira abre como pessoa física (CPF) ou jurídica (CNPJ). Enquanto a organização não está ativa e não tem atividade de pagamento, o documento pode ser corrigido com POST /v1/organizations/{id} — útil quando um cadastro é reprovado e a conta precisa tentar de novo com outro documento, sem perder produtos e integrações já criados no mesmo org_*. Depois da primeira ativação, o documento é permanente. O fluxo completo está em Reenviar KYC de uma organização. Trocar o documento apaga o cadastro declarado ligado ao anterior: os blocos individual, company, representative, business_profile, o statement_descriptor e a conta para saques voltam a ficar vazios, e os arquivos de verificação são desvinculados (eles continuam em /v1/files e podem ser anexados de novo). É o que impede os documentos de uma pessoa de seguirem colados no CPF/CNPJ de outra. Releia requirements.missing depois da troca para saber o que reenviar. Veja o contrato completo em Criar organização.

Plano de taxas

Toda organização conectada paga as taxas de um plano da sua plataforma. Sem fee_plan, ela segue o plano padrão e acompanha as trocas de padrão; com o ID de um plano, usa esse plano até você trocar. fee_plan só é aceito com chave de produção, porque o plano define o preço das vendas reais; com chave de teste, omita o campo. A resposta traz "default" ou o ID do plano fixado:
Para trocar depois, envie fee_plan em POST /v1/organizations/{id}: o ID de outro plano, ou "default" para voltar ao padrão. O guia Planos de taxas das organizações filhas explica o plano padrão, a sua margem e quando a taxa vale.

Criar o activation session

Quando a organização precisar completar o cadastro financeiro, crie uma activation session para o id da organização. A resposta emite uma URL fresca para o fluxo hospedado.
A URL expira em 60 segundos. Para renovar, chame POST /v1/activation-sessions de novo com o mesmo organization. Veja o contrato completo em Criar activation session.

Operar na organização conectada

Depois que você tem o ID da organization, envie esse valor no header Organization em endpoints que aceitam atuação de plataforma.
Esta regra vale para recursos pertencentes à conta conectada. Para consultar ou atualizar a própria organização, use GET /v1/organizations/{id} ou POST /v1/organizations/{id} sem o header Organization.
Exemplo criando uma sessão de checkout:
Exemplo criando um payment link:
O header Organization é aceito apenas com API key de plataforma. API keys de organização operam somente na própria organização e não podem usar esse header.

Exibir a conta para saques

Para exibir a conta para saques cadastrada do host no admin da plataforma, consulte a organização conectada:
Essa consulta funciona enquanto a conexão entre plataforma e organização estiver ativa, mesmo que activation_status ainda seja not_submitted, in_review ou disabled. O status financeiro só informa se a conta já pode processar pagamentos.
A conta principal aparece em payout_account. Esse objeto inclui o pa_*, banco, agência/roteamento, titular, tipo da conta, os campos legados is_active e is_verified e os quatro últimos dígitos. O número completo da conta nunca é retornado. is_active: true indica apenas qual conta está definida como principal; não confirma que os repasses foram creditados. Oriente a organização a conferir os recebimentos no extrato bancário. Quando a conta conectada muda, o webhook organization.updated também envia o snapshot atual em data.object.payout_account. Para listar ou consultar contas diretamente por pa_*, use os endpoints de payout_accounts com o header Organization.

Webhooks

Configure um endpoint para receber estes eventos:
  • organization.created: a organização conectada foi criada e vinculada à plataforma.
  • organization.review.required: há uma atualização cadastral pendente para a organização conectada.
  • organization.review.submitted: a atualização cadastral hospedada foi enviada para análise.
  • organization.updated: dados públicos, plano de taxas ou status de ativação financeira mudaram.
  • fee.plan.created e fee.plan.updated: um plano de taxas da plataforma foi criado ou mudou.
  • Eventos do recurso criado pela organização conectada, como payment.intent.succeeded e checkout.session.completed.
Em todos eles, o objeto público vem em data.object. Use o campo top-level organization do evento para identificar a organização conectada que originou o evento. Nos eventos fee.plan.*, esse campo é a organização da própria plataforma, porque o plano pertence a ela.
Ao receber um evento de organização, releia o estado atual com GET /v1/organizations/{organization} e a API key de plataforma. Não envie o header Organization nessa consulta.

Erros comuns