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: Ativaçã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: Ativaçã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.
  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. Veja o contrato completo em Criar organização.

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 ou status de ativação financeira mudaram.
  • 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.
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