# Próximas atualizações de requisitos Saiba mais sobre as alterações nos dados de verificação obrigatórios e como isso afeta sua integração com a Stripe. As atualizações de requisitos neste guia se referem a propriedades na API Accounts v1. É possível ver as propriedades correspondentes da API Accounts v2 em [Dados de verificação obrigatórios](https://docs.stripe.com/connect/required-verification-information.md) selecionando `v2` no menu suspenso **API Accounts** e a atualização desejada no menu suspenso **Atualização de requisito**. As regulamentações de pagamentos ajudam a prevenir crimes como lavagem de dinheiro, fraude e evasão fiscal. Reguladores financeiros do mundo todo aplicam [requisitos de Conheça seu cliente (KYC)](https://support.stripe.com/questions/know-your-customer) para garantir que a Stripe recolha, verifique e mantenha dados de identificação de determinados tipos de empresas e de pessoas físicas que, em última instância, as possuem, controlam ou dirigem. Esses requisitos são atualizados com frequência por reguladores de serviços financeiros, bandeiras de cartão e outras instituições financeiras. Este guia fornece uma visão geral das próximas alterações e destaca as mudanças mais significativas. Para ver a lista completa de requisitos, consulte [Dados de verificação obrigatórios](https://docs.stripe.com/connect/required-verification-information.md). Se você usa um fluxo baseado em API para fazer onboarding das contas conectadas, é necessário atualizar sua integração para processar todas as alterações de requisitos. Saiba mais sobre [opções de Connect Onboarding](https://docs.stripe.com/connect/onboarding.md) e sobre [a migração dos seus fluxos de onboarding e remediação baseados em API para fluxos hospedados pela Stripe ou incorporados](https://docs.stripe.com/connect/migrate-from-api-onboarding.md). #### Programa - Europa *Última atualização: 23 de fevereiro de 2026* ## Entenda as alterações nos requisitos de verificação Para alinhar às regulamentações da Autoridade de Conduta Financeira (FCA) do Reino Unido e do Banco Central da Irlanda (CBI), a Stripe está atualizando seus requisitos de verificação para o Conheça seu cliente (KYC), proprietários usufrutuários finais (UBO) e diretores. Se suas contas conectadas operarem em algum dos países listados, talvez seja necessário atualizar o fluxo de onboarding. Não fazer as atualizações obrigatórias interromperá o acesso das contas conectadas a pagamentos e serviços financeiros. Para saber mais sobre o que mudará e por quê, consulte o [artigo de suporte sobre novos requisitos de conformidade](https://support.stripe.com/questions/europe-verification-requirement-updates-for-connected-accounts). As próximas alterações afetam contas conectadas nos seguintes países: - AT - BE - BG - CH - CY - CZ - DE - DK - EE - ES - FI - FR - GB - GI - GR - HR - HU - IE - IS - IT - LI - LT - LU - LV - MT - NL - NO - PL - PT - RO - SE - SI - SK > #### Atualizações contínuas > > A Stripe continuará atualizando a API para aceitar o recolhimento desses requisitos até 1º de abril de 2026. ## Escolha uma abordagem de integração A Stripe recomenda usar onboarding hospedado pela Stripe ou incorporado para recolher requisitos de verificação de empresa e identidade. Essas opções exigem menos recursos para implementar e manter do que o onboarding via API. A tabela a seguir descreve as principais diferenças: - [Onboarding hospedado pela Stripe](https://docs.stripe.com/connect/hosted-onboarding.md): (Recomendado) envie as contas a um fluxo hospedado pela Stripe para enviar os dados obrigatórios. - [Onboarding incorporado](https://docs.stripe.com/connect/embedded-onboarding.md): (Recomendado) incorpore componentes de onboarding fornecidos pela Stripe que permitem que as contas enviem dados diretamente à Stripe pelo seu aplicativo. - [Onboarding via API](https://docs.stripe.com/connect/api-onboarding.md): crie e gerencie um fluxo de onboarding personalizado usando APIs da Stripe. | | **Onboarding hospedado pela Stripe** | **Onboarding incorporado** | **Onboarding via API** | | ---------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | | Ideal para | Plataformas que querem que a Stripe processe o onboarding | Plataformas que querem um fluxo de onboarding com marca e no aplicativo | Plataformas que precisam de controle total e conseguem criá-lo e mantê-lo | | Esforço inicial de implementação | 3 a 4 semanas de engenharia | 3 a 4 semanas de engenharia | 30 a 40 semanas de engenharia | | Esforço contínuo para lidar com atualizações de requisitos | Processado automaticamente pela Stripe | Processado automaticamente pela Stripe | Exige monitoramento proativo de alterações futuras, além de recursos de engenharia para atualizar o fluxo de onboarding a cada alteração | | Personalização | Interface hospedada pela Stripe com marca da plataforma | Componente altamente personalizável por tema que as contas acessam pelo aplicativo da plataforma | A plataforma projeta, cria e mantém a interface | | Esforço para aceitar outros países | Processado automaticamente pela Stripe | Processado automaticamente pela Stripe | Exige recursos de engenharia para atualizar o fluxo de onboarding para cada país adicional | Saiba mais sobre [opções de Connect Onboarding](https://docs.stripe.com/connect/onboarding.md) e sobre [a migração dos seus fluxos de onboarding e remediação baseados em API para fluxos hospedados pela Stripe ou incorporados](https://docs.stripe.com/connect/migrate-from-api-onboarding.md). As [alterações que você fizer no fluxo de onboarding](https://docs.stripe.com/connect/handle-verification-updates.md#collect-future-requirements) dependem da configuração de onboarding. Além de atualizar o fluxo de onboarding, atualize a documentação interna e externa conforme necessário e prepare as equipes de suporte para responder a perguntas sobre as atualizações. Se você usa onboarding hospedado pela Stripe ou incorporado, não é necessário atualizar a integração para se preparar para estas atualizações de requisitos. No entanto, é possível comunicar às contas conectadas que a Stripe poderá solicitar dados de identificação novos ou atualizados quando os requisitos mudarem. ## Visão geral da integração com API Se você optar por não migrar para onboarding hospedado pela Stripe ou incorporado, será necessário lidar com as seguintes atualizações: - [Verificação de KYC](https://docs.stripe.com/connect/upcoming-requirements-updates.md#know-your-customer-\(kyc\)-verifica%C3%A7%C3%A3o) - [Verificação da relação de proprietário usufrutuário final (UBO) e diretor](https://docs.stripe.com/connect/upcoming-requirements-updates.md#ubo-director-verification) - [Requisitos de cadastro de empresa nos Países Baixos (KvK)](https://docs.stripe.com/connect/upcoming-requirements-updates.md#netherlands-business-registration-requirements) - [Novos códigos de erro](https://docs.stripe.com/connect/upcoming-requirements-updates.md#new-error-codes) ## Cronograma de atualização O cronograma a seguir explica os principais marcos dessas alterações. Atualize e teste a integração com antecedência para evitar problemas quando os novos requisitos entrarem em vigor. | Dados | Marco | Descrição | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Outubro de 2025 | Início do planejamento da integração | As atualizações iniciais da API estão disponíveis. Revise este guia e as alterações para começar a planejar as atualizações da integração. | | Março de 2026 | Revisar contas afetadas e testar as atualizações da integração | A Stripe fornece uma contagem estimada das contas conectadas afetadas. Comece a testar o fluxo de onboarding atualizado. | | Março a abril de 2026 | Início da implementação de `future_requirements` (onboarding via API) | Para plataformas que usam onboarding via API, a Stripe começa a adicionar os novos requisitos a `future_requirements` para contas novas e existentes. | | 1º de abril de 2026 | Novos requisitos começam para plataformas que têm apenas contas conectadas com tipo de empresa `individual` | Confira se o fluxo de onboarding atualizado está pronto para recolher os novos requisitos. O fluxo atualizado precisa estar funcionando até 1º de abril, quando a Stripe começa a implementar os novos requisitos. Todos os novos requisitos estarão ativos até o fim de abril. | | 1º de maio de 2026 | Novos requisitos começam para plataformas que têm contas conectadas com tipo de empresa `company`, incluindo plataformas que também têm contas conectadas `individual` | Confira se o fluxo de onboarding atualizado está pronto para recolher os novos requisitos. O fluxo atualizado precisa estar funcionando para todas as contas conectadas até 1º de maio, quando a Stripe começa a implementar os novos requisitos. Todos os novos requisitos estarão ativos até o fim de maio. | | Junho de 2026 a agosto de 2026 | Novos requisitos passam a vencer para contas existentes | Os novos requisitos serão implementados para contas conectadas existentes durante esse período. Use o fluxo de onboarding atualizado para recolhê-los conforme necessário. | | Julho a outubro de 2026 | Datas de vencimento dos novos requisitos | Para evitar restrições, os requisitos atualizados de cada conta devem ser verificados até a data de vencimento dessa conta. | ## Verificação de KYC A Stripe está reforçando seu processo de verificação de identidade, o que pode exigir que algumas das suas contas conectadas forneçam dados adicionais. Também estamos adicionando mais opções à API para verificar dados. As seguintes entidades devem fornecer dados de KYC verificáveis: - Pessoa jurídica, para pessoas físicas e entidades de empresa individual; - Representante de conta - UBOs, para contas consideradas de alto risco pelo modelo de risco da Stripe ### Métodos adicionais de verificação Use os seguintes métodos opcionais além dos dados padrão inseridos manualmente para maximizar as taxas de sucesso da verificação: - [Stripe Identity](https://docs.stripe.com/connect/upcoming-requirements-updates.md#stripe-identity): (Recomendado) Use captura de selfie e documento para contas em que a verificação automática falhar. - [Verificação de documento de identificação nacional](https://docs.stripe.com/connect/upcoming-requirements-updates.md#national-id-verification): recolha um número de identificação nacional antecipadamente para aumentar as taxas de verificação na primeira tentativa. - [Enviar documentos adicionais](https://support.stripe.com/questions/documents-for-identity-and-home-address-verification): envie documentos de identificação ou endereço complementares para revisão manual. ### Stripe Identity (Recomendado) É possível tentar verificar contas conectadas em que a verificação automática falhar usando o [Stripe Identity](https://stripe.com/identity). O Identity funciona capturando uma selfie e um [documento de identificação](https://docs.stripe.com/acceptable-verification-documents.md). A maioria dos [países europeus](https://docs.stripe.com/identity/use-cases.md) aceita o Stripe Identity, e as taxas de sucesso variam por país. Crie uma [sessão de verificação](https://docs.stripe.com/api/identity/verification_sessions.md?api-version=preview) do Identity e use o parâmetro [related_person](https://docs.stripe.com/api/identity/verification_sessions/object.md?api-version=preview#identity_verification_session_object-related_person) para enviar os requisitos de `document` e `proof_of_liveness` da pessoa. É possível verificar os resultados usando a API ou o Dashboard. ### Verificação de identificação nacional Nos [países afetados por esta atualização](https://docs.stripe.com/connect/upcoming-requirements-updates.md#affected-countries), é possível melhorar a verificação do representante de uma conta conectada fornecendo o número de identificação nacional dele, além de nome, data de nascimento, endereço e nacionalidade. No momento, a verificação aceita apenas os seguintes números de identificação nacional. | País | Tipo de identificação nacional | | --------- | ------------------------------------------- | | Dinamarca | Registro Central de Pessoas (CPR) | | Itália | Codice Fiscale (Código Fiscal) | | Polônia | Número PESEL | | Espanha | Documento Nacional de Identidad (DNI) | | Suécia | Personnummer (Número de identidade pessoal) | Países não afetados por esta atualização, como os EUA, não aceitam verificação de número de identificação nacional. Por exemplo, é possível fornecer o número de identificação de uma pessoa espanhola que atua como representante de uma conta conectada na Áustria, que fica na UE. No entanto, não é possível fornecer o número de identificação de uma pessoa espanhola que atua como representante de uma conta conectada nos EUA. > #### Disponibilidade da identificação nacional > > É possível começar a recolher números de identificação nacional das contas conectadas quando os requisitos atualizados se tornarem requisitos futuros. Enquanto isso, a integração está disponível para suas contas da área restrita como recurso de prévia. ### Implementar a verificação de identificação nacional usando a API O exemplo a seguir demonstra o onboarding de uma nova conta conectada com os requisitos atualizados. > As diferenças abaixo afetam apenas a API Accounts v1, não a v2. #### Etapa 1: criar uma conta conectada para testes (Prévia pública) Depois que os requisitos futuros forem implementados, crie contas conectadas normalmente. Até lá, crie novas contas conectadas em uma [área restrita](https://docs.stripe.com/sandboxes.md) para ativar o novo comportamento de KYC. Acione esse comportamento alterando duas partes da chamada de criação da conta: 1. Adicione o cabeçalho `experimental_onboarding_preview=v2`. 1. Envie `capabilities[card_payments][preview]=true`. Depois de criar a conta, você verá uma nova string de requisito `representative.nationality`. Isso indica que é possível criar um representante da conta e transmitir a nacionalidade. ```shell // Creating a connected account in Spain > curl https://api.stripe.com/v1/accounts \ -u sk_test_123 \ -H "Stripe-Version: 2025-08-27.basil;experimental_onboarding_preview=v2" \ -d 'type'='custom' \ -d 'country'='ES' \ -d 'capabilities[card_payments][requested]'='true' \ -d 'capabilities[card_payments][preview]'='true' \ -d 'capabilities[transfers][requested]'='true' { "id": "acct_1Nv0FGQ9RKHgCVdB", ... "requirements": { "past_due": [ ... "representative.nationality", ... ] } ... } ``` #### Etapa 2: criar um representante da conta Depois de criar a conta conectada, crie um representante da conta. ```shell > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB/persons \ -u sk_test_123: \ -d first_name=John \ -d last_name=Doe { "id": "person_1N9XNb2eZvKYlo2CjPX7xF6B", ... } ``` #### Etapa 3: enviar nacionalidade Depois de criar um representante da conta, `nationality` aparece em `past_due`. Recolha esse campo para que a Stripe possa determinar se o representante está qualificado para o recolhimento de `id_number`. ```shell > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB -u sk_test_123: { ... "requirements": { "past_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.dob.year", ...other person requirements... "person_1N9XNb2eZvKYlo2CjPX7xF6B.nationality" ] } ... } ``` Depois de recolher a nacionalidade, se a pessoa estiver em um país qualificado, você verá o número de identificação dela como requisito alternativo no array `alternatives`. Cada entrada no array `alternatives` representa um caminho alternativo de resolução para um requisito padrão. É possível cumprir um requisito alternativo em vez do requisito original, mas não é necessário cumprir ambos. Neste exemplo, `alternatives` contém `id_number` como alternativa ao requisito vencido `dob.year`. Isso significa que é possível fornecer o número de identificação nacional da pessoa em vez do ano de nascimento. Se você fornecer o ano de nascimento, não será necessário fornecer o número de identificação. ```shell > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB/persons/person_1N9XNb2eZvKYlo2CjPX7xF6B \ -u sk_test_123: \ -d nationality=ES > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB -u sk_test_123: { "requirements": { "past_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.dob.year", ...other person fields... ], "alternatives": [ { "original_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.dob.year", ...other person fields... ], "alternative_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.id_number" ] } ] } } ``` #### Etapa 4: recolher os campos restantes do representante da conta Recolha atributos adicionais da pessoa, incluindo um número de identificação nacional, para iniciar a verificação de KYC automática. ```shell > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB/persons/person_1N9XNb2eZvKYlo2CjPX7xF6B \ -u sk_test_123: \ -d 'id_number'='74362315-A' \ ...other person fields... ``` #### Etapa 5: campos inseridos manualmente entram em verificação pendente Depois que você fornece dados inseridos manualmente, os campos aparecem em `pending_verification` de uma nova forma: - Campos inseridos manualmente entram em `pending_verification`, em vez de `verification.document` e `verification.additional_document`. Isso indica que os campos inseridos manualmente estão sendo verificados. - O requisito `id_number` pode entrar em `pending_verification` se for fornecido, mesmo que apareça apenas em `alternative_fields_due` e nunca em `past_due` ou `currently_due`. ```shell > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB/ -u sk_test_123: { "requirements": { "pending_verification": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.address.city", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address.line1", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address.postal_code", "person_1N9XNb2eZvKYlo2CjPX7xF6B.dob.day", "person_1N9XNb2eZvKYlo2CjPX7xF6B.dob.month", "person_1N9XNb2eZvKYlo2CjPX7xF6B.dob.year", "person_1N9XNb2eZvKYlo2CjPX7xF6B.first_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.id_number", "person_1N9XNb2eZvKYlo2CjPX7xF6B.last_name" ] } } ``` #### Etapa 6: processar erros de verificação Em muitos casos, depois que os campos entram em `pending_verification`, o representante passa na verificação de KYC e o processo é concluído. Se a verificação falhar, a Stripe retornará dados adicionais para ajudar você a orientar as próximas etapas. Há duas alterações importantes. **Múltiplas alternativas** No hash de requisitos, você verá múltiplas alternativas. Cada uma delas representa um caminho a seguir para os usuários. Por exemplo, se o nome e a data de nascimento corresponderem, mas o nome e o endereço não, a conta conectada terá várias formas de resolver o problema: 1. É possível verificar os dados inseridos de nome e endereço e inserir novamente esses campos para corrigir erros. 1. É possível verificar os dados inseridos de data de nascimento, nome, endereço e id_number e inserir novamente os dados corretos. 1. É possível enviar um documento que corresponda ao nome e ao endereço. 1. É possível concluir o Stripe Identity. Esses quatro caminhos aparecem como campos `past_due` e `alternatives`: ```shell > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB -u sk_test_123: { "requirements": { // 1. They can check the information they've entered for dob, name, and address, and re-enter the correct information. "past_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.first_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.last_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address.*" ], "alternatives": [ // 2. They can check the information they entered for dob, name, address and id_number and re-key correct information. { "original_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.first_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.last_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address.*" ], "alternative_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.id_number" ] }, // 3. They can upload document that matches their name and address { "original_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.first_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.last_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address.*" ], "alternative_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.verification.additional_document" ] }, // 4. They can complete Stripe Identity { "original_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.first_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.last_name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address.*" ], "alternative_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.proof_of_liveness" ] } ] } } ``` **Erros em campos inseridos manualmente** Anteriormente, se ocorria um erro de verificação ao processar campos inseridos manualmente, os campos de documento passavam para `past_due`, e os erros apareciam neles. Daqui para frente, os campos inseridos manualmente retornarão para `past_due`. Campos como `id_number` permanecem em `alternative_fields_due`. Por exemplo, se nome, data de nascimento e endereço estiverem originalmente em `past_due` e, depois do envio, nome e data de nascimento corresponderem enquanto nome e endereço não, nome e endereço retornarão para `past_due`, enquanto a data de nascimento será removida. Nessa situação, os erros aparecem nos campos em `past_due` e `alternative_fields_due`. ```shell > curl https://api.stripe.com/v1/accounts/acct_1Nv0FGQ9RKHgCVdB -u sk_test_123: { "requirements": { "past_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address" ], "alternatives": [ { "original_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address" ], "alternative_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.id_number" ] }, { "original_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address" ], "alternative_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.proof_of_liveness" ] }, { "original_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.name", "person_1N9XNb2eZvKYlo2CjPX7xF6B.address" ], "alternative_fields_due": [ "person_1N9XNb2eZvKYlo2CjPX7xF6B.verification.additional_document" ] } ], "errors": [ { "code": "verification_failed_keyed_identity", "reason": "Identity information could not be verified.", "requirement": "person_1N9XNb2eZvKYlo2CjPX7xF6B.name" }, { "code": "verification_failed_keyed_identity", "reason": "Identity information could not be verified.", "requirement": "person_1N9XNb2eZvKYlo2CjPX7xF6B.address" }, { "code": "verification_failed_keyed_identity", "reason": "Identity information could not be verified.", "requirement": "person_1N9XNb2eZvKYlo2CjPX7xF6B.id_number" } ] } } ``` ### Contas de alto risco O modelo de risco da Stripe exige verificação de KYC para UBOs apenas em contas classificadas como de alto risco. Para testes, acrescente `_high_risk` ao nome da empresa para forçar uma classificação de alto risco. Isso permite testar o fluxo completo de verificação de KYC para proprietários, incluindo os requisitos e erros que sua integração precisa processar. Este exemplo mostra como criar uma conta de teste de alto risco e adicionar proprietários: ```curl // Creating a connected account in Spain curl https://api.stripe.com/v1/accounts \ -u sk_test_123: \ -H "Stripe-Version: 2025-08-27.basil;experimental_onboarding_preview=v2" \ -d 'type'='custom' \ -d 'country'='ES' \ -d 'capabilities[card_payments][requested]'='true' \ -d 'capabilities[card_payments][preview]'='true' \ -d 'capabilities[transfers][requested]'='true' { "id": "acct_123", ... "requirements": {...} ... } // Set the business name to enforce the account to be high risk curl https://api.stripe.com/v1/accounts/acct_123 \ -u sk_test_123: \ -d "business_profile[name]"="example_high_risk" ``` ```curl curl https://api.stripe.com/v1/accounts/acct_123/persons \ -u sk_test_123: \ -d first_name=Marie \ -d last_name=Dupont \ -d "dob[day]"=1 \ -d "dob[month]"=1 \ -d "dob[year]"=1901 \ -d "relationship[owner]=true" \ -d "address[line1]"="address_no_match" \ -d "address[city]"="Madrid" \ -d "address[postal_code]"="28001" { "id": "person_123", ... } ``` ```curl curl https://api.stripe.com/v1/accounts/acct_123 \ -u sk_test_123: \ -d "company[owners_provided]"="true" ``` Depois que a Stripe executa a verificação de KYC no proprietário, os requisitos da conta refletem o resultado. Quando o nome do proprietário corresponde, mas o endereço não (acionado pelo uso do endereço de teste `address_no_match`), os requisitos incluem erros `verification_failed_keyed_identity` nos campos do proprietário: ```json { "requirements": { "past_due": [ "people.person_123.address.city", "people.person_123.address.line1", "people.person_123.address.postal_code", "people.person_123.first_name", "people.person_123.last_name" ], "errors": [ { "code": "verification_failed_keyed_identity", "requirement": "people.person_123.address.city" }, { "code": "verification_failed_keyed_identity", "requirement": "people.person_123.address.line1" }, { "code": "verification_failed_keyed_identity", "requirement": "people.person_123.address.postal_code" }, { "code": "verification_failed_keyed_identity", "requirement": "people.person_123.first_name" }, { "code": "verification_failed_keyed_identity", "requirement": "people.person_123.last_name" } ], "alternatives": [ { "original_fields_due": [ "people.person_123.address.city", "people.person_123.address.line1", "people.person_123.address.postal_code", "people.person_123.first_name", "people.person_123.last_name" ], "alternative_fields_due": [ "people.person_123.verification.additional_document" ] }, { "original_fields_due": [ "people.person_123.address.city", "people.person_123.address.line1", "people.person_123.address.postal_code", "people.person_123.first_name", "people.person_123.last_name" ], "alternative_fields_due": [ "people.person_123.verification.proof_of_liveness" ] } ] } } ``` Para resolver esses requisitos, reenvie os dados de identidade do proprietário ou cumpra um dos requisitos alternativos: envie um `additional_document` ou conclua `proof_of_liveness`. ## Verificação da relação de UBOs e diretores A Stripe está aprimorando o processo de verificação de proprietários usufrutuários finais (UBOs) e diretores. As regulamentações europeias exigem a verificação da relação dos UBOs e diretores com a pessoa jurídica: - **UBO:** pessoa física que possui ou controla, direta ou indiretamente, mais de 25% de uma pessoa jurídica, por exemplo, empresas, corporações, LLCs e parcerias. - **Diretor:** membro do conselho ou pessoa sênior responsável por gerenciar uma empresa, por exemplo, CEO, COO ou diretor-gerente. A tabela a seguir mostra as relações que devem ser verificadas para cada tipo de pessoa jurídica: | Tipo de pessoa jurídica | Relações a verificar | Observação | | ------------------------------------------------------------------------------------------------------ | --------------------------------------------- | --------------------------------------------------------- | | Empresa, corporação, LLC, parceria | UBOs, se existirem; caso contrário, diretores | Apenas Reino Unido: UBOs e diretores | | Sem fins lucrativos | Diretores | Organizações sem fins lucrativos normalmente não têm UBOs | | Órgão público, entidade governamental, pessoa física, empresário individual, empresa de capital aberto | N/D | Apenas verificação de identidade | ### Verificar dados de UBO e diretor A Stripe tenta verificar a relação da pessoa comparando propriedades-chave da pessoa com propriedades da pessoa jurídica. | Entidade | Propriedades-chave | | --------------- | ---------------------------------------------------------------------- | | Pessoa | - Nome - Sobrenome - Número de identificação | | Pessoa jurídica | - Nome - Endereço - ID fiscal - ID de IVA - Número de cadastro | Uma verificação bem-sucedida pode exigir que apenas um subconjunto das propriedades corresponda. A Stripe tenta verificar relações das seguintes formas: | Método | Descrição | Exemplos de requisitos | | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Provedor de terceiros | Se um provedor de terceiros estiver disponível, a Stripe tentará verificar automaticamente todas as relações na conta. | - `owners.first_name` - `owners.last_name` - `company.tax_id` | | Documento oficial | É possível fornecer um documento de “comprovação de UBO” para proprietários e um documento de “comprovação de registro” para diretores. Os [documentos aceitos](https://docs.stripe.com/acceptable-verification-documents.md) variam por país. | - `owners.first_name` - `owners.last_name` - `company.name` - `company.address.line1` - `company.address.city` - `company.address.state` - `documents.proof_of_ultimate_beneficial_ownership` | | Atestação digital | É possível usar os seguintes modelos de PDF para fornecer atestações digitais das relações: - [Modelo de atestação digital de UBO](https://docs.stripecdn.com/6e82842bfc01bd0b1c46d77f7d46b69673a9ca965ed2ad9ef53139f98abdbbaf.pdf) - [Modelo de atestação digital de diretor](https://docs.stripecdn.com/715ffef45157ff700bc368a4011659ee23bc8ba3c68746c5c15948a6eee1591f.pdf) | - `owners.id_number` - `company.tax_id` - `documents.proof_of_ultimate_beneficial_ownership` - `documents.proof_of_ultimate_beneficial_ownership.signer` | ### Identificar requisitos de verificação de relação usando a API Ao recuperar os requisitos de uma `conta`, as opções de verificação originais e alternativas representam combinações dos dados principais e dos métodos de verificação disponíveis. Na maioria dos casos, há pelo menos três opções para verificar proprietários ou diretores. O código a seguir mostra um exemplo de conta conectada com requisitos de proprietário. As opções específicas e a ordem em que aparecem podem variar entre contas. ```shell // Example with owner requirements > curl https://api.stripe.com/v1/accounts/acct_1234 \ -u sk_test_123: { "id": "acct_1234", "past_due": { // third-party provider option "currently_due": [ "owners.first_name", "owners.last_name", "company.owners_provided", "company.tax_id" ], "alternatives": [ { "original_fields_needed": [ "owners.first_name", "owners.last_name", "company.owners_provided", "company.tax_id" ], // official document option "alternative_fields_needed": [ "owners.first_name", "owners.last_name", "company.owners_provided", "company.name", "company.address.line1", "company.address.state", "company.address.city", "documents.proof_of_ultimate_beneficial_ownership.files" ], }, { "original_fields_needed": [ "owners.first_name", "owners.last_name", "company.owners_provided", "company.tax_id" ], // digital attestation option "alternative_fields_needed": [ "owners.first_name", "owners.last_name", "company.owners_provided", "company.name", "company.address.line1", "company.address.state", "company.address.city", "documents.proof_of_ultimate_beneficial_ownership.files", "documents.proof_of_ultimate_beneficial_ownership.signer" ], } ] } } ``` ### Verificar diretores em vez de proprietários Se uma conta conectada estiver qualificada para fornecer diretores em vez de proprietários, ela incluirá opções alternativas para verificar diretores. Se você verificar diretores, ainda precisará atestar que forneceu 0 UBOs. O exemplo a seguir mostra uma conta conectada qualificada para verificar diretores em vez de proprietários: ```shell // Example with owner requirements > curl https://api.stripe.com/v1/accounts/acct_1234 \ -u sk_test_123: { "id": "acct_1234", "past_due": { // third-party provider option for owners "currently_due": [ "owners.first_name", "owners.last_name", "company.owners_provided", "company.tax_id" ], "alternatives": [ ..., { "original_fields_needed": [ "owners.first_name", "owners.last_name", "company.owners_provided", "company.tax_id" ], // third-party provider option for directors "alternative_fields_needed": [ "directors.first_name", "directors.last_name", "company.directors_provided", "company.owners_provided", "company.tax_id" ], } ] } } ``` Se você fornecer dados de diretor e atestar o fornecimento de 0 UBOs, as opções de requisitos principais ainda refletirão requisitos de proprietário. É possível fornecer dados de proprietário se eles ficarem disponíveis. O exemplo a seguir mostra uma conta conectada com atestação de 0 UBO: ```shell // Example with owner requirements > curl https://api.stripe.com/v1/accounts/acct_1234 \ -u sk_test_123: { "id": "acct_1234", "past_due": { // third-party provider option for owners "currently_due": [ "owners.first_name", "owners.last_name", // company.owners_provided is no longer a requirement "company.tax_id" ], "alternatives": [ ..., { "original_fields_needed": [ "owners.first_name", "owners.last_name", "company.tax_id" ], // third-party provider option for directors "alternative_fields_needed": [ "directors.first_name", "directors.last_name", "company.directors_provided", "company.tax_id" ], } ] } } ``` ### Processamento de erros Erros de requisitos de proprietário e diretor podem incluir os seguintes valores de `code`, além dos erros comuns de [incompatibilidade de documento e detalhes](https://docs.stripe.com/error-codes.md). | Código | Descrição | | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | `verification_missing_owners` | A `conta` não contém dados sobre proprietários identificados por um provedor de terceiros ou que aparecem em um documento ou atestação digital. | | `verification_missing_directors` | A `conta` não contém dados sobre diretores identificados por um provedor de terceiros ou que aparecem em um documento ou atestação digital. | | `verification_data_not_found` (Prévia privada) | Um provedor de terceiros não conseguiu encontrar dados sobre a empresa. | Às vezes, é possível resolver esses erros atualizando os dados da empresa. No entanto, na maioria dos casos, é necessário direcionar a conta conectada para o caminho de envio de documento ou para o caminho de atestação digital. Quando a Stripe identifica proprietários ou diretores ausentes, em alguns casos uma API em prévia privada pode fornecer dados sobre eles. A conta conectada pode usar esses dados para criar as `pessoas` ausentes. ### Implementar atestação digital para verificação de UBO e diretor usando a API > #### Disponibilidade > > A API Accounts v2 ainda não aceita atestação digital. O exemplo a seguir mostra como realizar atestação digital para verificação de UBO ou diretor. 1. Recupere a conta para identificar quais documentos de atestação são obrigatórios. ```shell // Check for UBO attestation requirement > curl https://api.stripe.com/v1/accounts/acct_1234 \ -u sk_test_123: // Response showing UBO attestation { "id": "acct_1234", "requirements": { "past_due": [ "documents.proof_of_ultimate_beneficial_ownership.files", "documents.proof_of_ultimate_beneficial_ownership.signer", ], "errors": [] } } // Or for directors & officers requirement { "id": "acct_1234", "requirements": { "past_due": [ "documents.proof_of_registration.files", "documents.proof_of_registration.signer" ], "errors": [] } } ``` A opção de requisito de atestação digital pode aparecer como opção principal ou como alternativa a uma opção diferente. As opções específicas e a ordem em que aparecem podem variar entre contas. 1. Gere um PDF usando o modelo e solicite a assinatura digital de uma pessoa autorizada. 1. Faça envio do documento de atestação assinado usando a API File. ```shell curl -X POST https://files.stripe.com/v1/files \ -u sk_test_123: \ -F purpose=account_requirement \ -F file=@signed_attestation.pdf // Response { "id": "file_1234567890", "object": "file", "purpose": "account_requirement" } ``` 1. Envie o documento com o ID da `pessoa` que representa quem assina. ```shell // For UBO attestation curl -X POST https://api.stripe.com/v1/accounts/acct_1234 \ -u sk_test_123: \ -d "documents[proof_of_ultimate_beneficial_ownership][files][]=file_1234567890" \ -d "documents[proof_of_ultimate_beneficial_ownership][signer][person]=person_xyz" // For D&O attestation curl -X POST https://api.stripe.com/v1/accounts/acct_1234 \ -u sk_test_123: \ -d "documents[proof_of_registration][files][]=file_1234567890" \ -d "documents[proof_of_registration][signer][person]=person_xyz" ``` ### Requisitos de validação de assinatura Quem pode assinar atestações - Representantes da conta - Proprietários da empresa com participação de 25% ou mais - Diretores e executivos - Outros membros autorizados da conta Importante: quem assina deve ser uma pessoa existente associada à conta. Apenas pessoas físicas com relação documentada com a pessoa jurídica podem assinar documentos de atestação. ### Tratamento de erros A atestação digital introduz cenários de erro específicos que precisam ser processados: #### Signatário inválido Ocorre quando quem assina não está associado à conta ou não tem autoridade. ```shell { "requirements": { "errors": [{ "requirement": "documents.proof_of_ultimate_beneficial_ownership.files", "code": "invalid_signator", "reason": "Unauthorized attestation signer. The signer must have a documented relationship with the legal entity." }, { "requirement": "documents.proof_of_ultimate_beneficial_ownership.signer", "code": "invalid_signator", "reason": "Unauthorized attestation signer. The signer must have a documented relationship with the legal entity." }] } } ``` #### Falha no documento Ocorre quando o documento enviado está ilegível ou incorreto. ```shell { "requirements": { "past_due": ["documents.proof_of_registration.files"], "errors": [{ "requirement": "documents.proof_of_registration.files", "code": "verification_document_failed_other", "reason": "Your team can contact Stripe to learn more about why identity verification failed." }] } } ``` #### Signatário enviado sem arquivos Erros de API ao enviar signatário sem arquivos ```shell { "error": { "code": "invalid_signator", "message": "signer.person can only be provided when a file is also provided", "type": "invalid_request_error" } } ``` ### Próximas etapas 1. Atualize sua integração para recolher um signatário ao usar documentos de atestação. 1. Implemente o processamento de erros para novos códigos de erro específicos de atestação. 1. Treine sua equipe de suporte sobre os novos requisitos de atestação. #### Preencher previamente dados de UBO e diretor (Prévia privada) Opcionalmente, também é possível integrar uma API que detecta automaticamente e preenche previamente UBOs ou diretores associados a uma pessoa jurídica. A conta conectada pode verificar a relação confirmando os dados detectados, em vez de fazer envio de documentos ou atestação digital. Esse caminho pode aumentar as taxas de verificação e reduzir o atrito, mas não funciona para todas as contas. Ainda é necessário processar envios de documentos ou atestações digitais para contas em que a Stripe não consegue preencher previamente as relações. Se houver interesse no preenchimento prévio para verificação de UBO ou diretor, registre o interesse abaixo. ## Requisitos de cadastro de empresa nos Países Baixos (KvK) **Effective May 14, 2026** Earlier in 2026, platforms were required to collect a KvK (Kamer van Koophandel) number, a unique 8-digit business registration number, from connected accounts in the Netherlands (NL). As part of this change, the `individual` business type was restricted with an `unsupported_business_type` error, and unincorporated entities were required to provide a KvK number via `company.tax_id`. Starting May 14, 2026, connected accounts representing individuals or unincorporated entities that don’t have access to a Stripe-hosted Dashboard are no longer required to provide a KvK number. Connected accounts representing individuals or unincorporated entities that have access to the full Stripe Dashboard or the Express Dashboard must still provide a KvK number. ### O que mudará - `business_type: "individual"` is now supported for connected accounts in the Netherlands that don’t have access to a Stripe-hosted Dashboard. The `unsupported_business_type` error no longer appears for these accounts. - `unincorporated_partnership` and `unincorporated_non_profit` business types no longer require `company.tax_id` to hold the KvK number for connected accounts that don’t have access to a Stripe-hosted Dashboard. ### What you need to do No action is required. You don’t need to make any changes to your integration. For existing connected accounts affected by this change: - Stripe automatically clears the `unsupported_business_type` error from `requirements.errors` for individual accounts. - Any capability restrictions (such as `card_payments` or `transfers`) tied to this error are automatically lifted. - Accounts representing individuals or unincorporated entities that were restricted for a missing KvK number are also automatically unrestricted. ## Novos códigos de erro ### Códigos de erro de verificação (Prévia privada) O novo código de erro `verification_data_not_found` pode aparecer no array `requirements.errors` no objeto `Account`. Esse erro indica que a Stripe não conseguiu recuperar dados, como dados de UBO ou de diretor/executivo, de provedores de verificação de terceiros usando os dados conhecidos da pessoa jurídica da conta conectada. Isso pode acontecer por vários motivos, mas costuma ocorrer porque a conta inseriu os dados incorretamente. Esse erro de “dados não encontrados” é diferente dos códigos de erro de verificação existentes: - **`verification_missing_owners`**: indica que proprietários conhecidos estão ausentes da conta. - **`verification_failed_keyed_match`**: indica uma divergência entre os dados enviados e as fontes de verificação. ```shell // Example: verification_data_not_found error { "requirements": { "errors": [{ "requirement": "owners", "code": "verification_data_not_found", "reason": "Stripe was unable to retrieve ownership or director information from third-party providers based on the current legal entity details. Verify that the business information on the account is correct." }] } } ``` Para processar esse erro, solicite que a conta conectada revise e corrija os dados da pessoa jurídica, como nome da empresa, número de cadastro e endereço. Se ela atualizar os dados, a Stripe tentará verificá-los novamente automaticamente. Se os dados da conta estiverem corretos, ou se a Stripe ainda não conseguir verificar os dados atualizados, use um método de verificação manual, como envio de documento ou atestação digital. ## Testes É possível criar contas de teste para usar durante o desenvolvimento e o teste da integração. As contas de teste podem simular diferentes resultados de verificação, permitindo ver como a API retorna requisitos e erros para cada caso. Os exemplos a seguir ajudam a se preparar para as próximas alterações nos requisitos da UE. Para saber mais sobre testes do Connect em geral, consulte [Testar o Stripe Connect](https://docs.stripe.com/connect/testing.md). ### Criar uma conta de teste Crie uma `conta` de teste enviando uma solicitação POST para a API Accounts usando sua [chave secreta da área restrita](https://docs.stripe.com/keys.md). Para acessar os novos requisitos antes que sejam lançados para contas fora do modo de teste, defina um cabeçalho que ative uma versão de prévia da API, ative o recurso de prévia de onboarding experimental e ative a versão de prévia ao solicitar uma funcionalidade. Por exemplo: ```shell curl https://api.stripe.com/v1/accounts \ -u sk_test_123: \ -H "Stripe-Version: 2026-01-28.preview;experimental_onboarding_preview=v2" \ -d 'type'='custom' \ -d 'country'='ES' \ -d 'capabilities[card_payments][requested]'='true' \ -d 'capabilities[card_payments][preview]'='true' \ -d 'capabilities[transfers][requested]'='true' \ -d 'capabilities[transfers][preview]'='true' ``` Os exemplos abaixo demonstram como simular diferentes situações usando valores que acionam respostas específicas para contas de teste. ### Testar uma conta pertencente a uma pessoa física Este exemplo cria uma conta que não exige verificação de relação porque o tipo de entidade empresarial é `individual`. Crie uma conta de teste seguindo [as instruções anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account) e defina os dados comerciais básicos: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d business_type=individual \ -d "business_profile[mcc]"=5995 \ -d "business_profile[url]"="https://accessible.stripe.com" ``` A resposta inclui os requisitos básicos de uma pessoa física. É possível atender a esses requisitos criando um representante: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Marie" \ -d "last_name=Dupont" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=test@example.com" \ -d "phone=%2B35366666666" \ -d "nationality=ES" \ -d "relationship[representative]=true" ``` Especificar a data de nascimento 1901-01-01 aciona a verificação de identidade bem-sucedida em uma área restrita. Para outros acionadores de resultado, consulte [Testar datas de nascimento](https://docs.stripe.com/connect/testing.md#test-dobs). Da mesma forma, definir a primeira linha do endereço como a string `address_full_match` aciona a verificação bem-sucedida do endereço. Para outros acionadores de resultado, consulte [Testar endereços comerciais](https://docs.stripe.com/connect/testing.md#test-validation-addresses). A resposta mostra que os requisitos da pessoa física ficaram pendentes. Se você aguardar alguns instantes e recuperar a `conta`, verá que esses requisitos foram removidos: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123 ``` Os únicos requisitos restantes são os da conta bancária (`external_account`) e dos Termos de Serviço (TOS). Para remover os requisitos de Termos de Serviço, defina o hash `tos_acceptance` da `conta`: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "tos_acceptance[date]=1540248693" \ -d "tos_acceptance[ip]=10.0.0.1" ``` Para remover os requisitos de conta bancária, crie uma conta bancária de teste para a `conta`. Especifique [um número de conta bancária de teste de acordo com o país](https://docs.stripe.com/connect/testing.md#account-numbers): ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/external_accounts \ -u sk_test_123: \ -d "external_account[object]=bank_account" \ -d "external_account[account_number]=ES0700120345030000067890" \ -d "external_account[country]=ES" \ -d "external_account[currency]=EUR" ``` ### Testar uma conta pertencente a uma empresa Este exemplo cria uma conta sujeita a requisitos de verificação de relação porque o tipo de entidade empresarial é `company`. > O Reino Unido exige verificação dos proprietários usufrutuários finais (UBOs) e dos diretores. Se você terá contas conectadas no Reino Unido, teste com contas cujo país esteja definido como `GB`. Crie uma conta de teste seguindo [as instruções anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account) e defina os dados comerciais básicos: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d business_type=company \ -d "business_profile[mcc]"=5995 \ -d "business_profile[url]"="https://accessible.stripe.com" \ -d "company[name]=Test company" \ -d "company[phone]=628123456787" \ -d "company[address][line1]=address_full_match" \ -d "company[address][city]=Madrid" \ -d "company[address][postal_code]=28009" \ -d "company[address][country]=ES" \ -d "company[tax_id]=000000000" ``` Especificar o ID fiscal `000000000` aciona a verificação bem-sucedida da empresa. Para outros acionadores de resultado, consulte [Testar IDs fiscais de empresas](https://docs.stripe.com/connect/testing.md#test-business-tax-ids). Em seguida, forneça um representante. ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Adam" \ -d "last_name=" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=test@example.com" \ -d "phone=%2B35366666666" \ -d "nationality=ES" \ -d "relationship[representative]=true" \ -d "relationship[title]=CEO" ``` Depois que o processo de verificação do representante for concluído, será possível ver os requisitos restantes com uma solicitação GET: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: ``` Os requisitos no array `requirements.currently_due` listam os dados de que precisamos sobre os proprietários na `conta`. O array `requirements.alternatives` pode incluir dados opcionais que podem ser fornecidos para cumprir certos requisitos. Por exemplo: ```json { "alternative_fields_due": [ "company.owners_provided", "documents.proof_of_ultimate_beneficial_ownership.files", "owners.first_name", "owners.last_name" ], "original_fields_due": [ "company.owners_provided", "owners.first_name", "owners.last_name" ] } ``` É possível fornecer os campos listados em `alternative_fields_due` como outra forma de cumprir os requisitos na lista `original_fields_due` correspondente. Neste exemplo, `alternative_fields_due` inclui as propriedades em `original_fields_due`, além de `documents.proof_of_ultimate_beneficial_ownership.files`. Isso significa que os dados originais são obrigatórios, mas há a opção de também fornecer um documento que comprove o proprietário usufrutuário final para ajudar no processo de verificação. Para atender aos requisitos de proprietário, crie duas pessoas e marque-as como proprietários. Os nomes neste exemplo são valores codificados para contas de teste que usam o ID fiscal `000000000`. ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Marie" \ -d "last_name=Dupont" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=owner@example.com" \ -d "relationship[owner]=true" curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Louis" \ -d "last_name=Martin" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=owner@example.com" \ -d "relationship[owner]=true" ``` Indique que você criou todos os proprietários da `conta` definindo `company.owners_provided` como true: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[owners_provided]=true" ``` Concluir essa solicitação remove todos os requisitos de proprietário da `conta`. ### Testar fallback para verificação por documento Os requisitos de proprietário de uma `conta` permanecem em `currently_due` ou em `pending_verification`, se a verificação estiver em andamento, até que a verificação seja bem-sucedida. Quando a verificação falha, uma das opções é enviar um documento. Este exemplo mostra como fazer isso usando a API. Crie uma conta de teste seguindo [as instruções anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account) e defina os dados comerciais básicos. Defina o ID fiscal como `222221001`, que aciona falha na verificação de proprietário. Para outros acionadores de resultado, consulte [Testar IDs fiscais de empresas](https://docs.stripe.com/connect/testing.md#test-business-tax-ids). ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d business_type=company \ -d "business_profile[mcc]"=5995 \ -d "business_profile[url]"="https://accessible.stripe.com" \ -d "company[name]=Test company" \ -d "company[phone]=628123456787" \ -d "company[address][line1]=address_full_match" \ -d "company[address][city]=Madrid" \ -d "company[address][postal_code]=28009" \ -d "company[address][country]=ES" \ -d "company[tax_id]=222221001" ``` Em seguida, forneça um representante: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Marie" \ -d "last_name=Dupont" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=test@example.com" \ -d "phone=%2B35366666666" \ -d "nationality=ES" \ -d "relationship[representative]=true" \ -d "relationship[title]=CEO" ``` Depois, crie um proprietário: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Adam" \ -d "last_name=Smith" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=owner@example.com" \ -d "relationship[owner]=true" ``` Indique que terminou de criar proprietários definindo `company.owners_provided` como true: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[owners_provided]=true" ``` Se você examinar a `conta`, verá que os requisitos de proprietário permanecem, e o array `requirements.errors` contém uma entrada com `requirement` de `owners` e `code` de `verification_failed_other`. Isso significa que a Stripe não conseguiu verificar os proprietários usando os dados da empresa fornecidos. > Se estiver usando a versão de prévia privada da API, o código de erro será [verification_data_not_found](https://docs.stripe.com/changelog/clover/2025-10-29/accounts-verification-data-error.md), em vez de `verification_failed_other`. Se você receber esse erro em uma `conta` real, confira se inseriu os dados da pessoa jurídica correta. Este exemplo presume que os dados estão corretos e que é necessário fornecer um documento para verificá-los. Para uma `conta` real, [use a API Files para enviar um documento](https://docs.stripe.com/file-upload.md) e atualize a `conta` usando o token retornado na resposta. Para este exemplo, use o token de teste `file_relationship_document_success`. Para outros acionadores de resultado, consulte [Testar tokens de documento de relação](https://docs.stripe.com/connect/testing.md#test-relationship-document-tokens). ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "documents[proof_of_ultimate_beneficial_ownership][files][]"=file_relationship_document_success ``` Alguns instantes após atualizar a `conta`, será possível obter os requisitos atuais e ver que os requisitos de proprietário foram removidos. ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: ``` ### Testar uma empresa sem proprietários aplicáveis Se uma empresa não tiver proprietários com mais de 25% de participação, a Stripe exigirá os dados de diretores. Este exemplo demonstra como fornecer dados de diretores. Crie uma conta de teste seguindo [as instruções anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account) e defina os dados comerciais básicos. Defina o ID fiscal como `000000000`, que aciona a verificação bem-sucedida da empresa. ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d business_type=company \ -d "business_profile[mcc]"=5995 \ -d "business_profile[url]"="https://accessible.stripe.com" \ -d "company[name]=Test company" \ -d "company[phone]=628123456787" \ -d "company[address][line1]=address_full_match" \ -d "company[address][city]=Madrid" \ -d "company[address][postal_code]=28009" \ -d "company[address][country]=ES" \ -d "company[tax_id]=000000000" ``` Em seguida, forneça um representante: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Marie" \ -d "last_name=Dupont" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=test@example.com" \ -d "phone=%2B35366666666" \ -d "nationality=ES" \ -d "relationship[representative]=true" \ -d "relationship[title]=CEO" ``` Para indicar que a empresa não tem proprietários relevantes, defina `company.owners_provided` como true sem criar proprietários. Para reutilizar uma `conta` de teste existente que tenha proprietários, é possível remover todos os proprietários existentes. ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[owners_provided]=true" ``` O array `requirements.alternatives` contém um conjunto de propriedades de diretores como alternativa às propriedades de proprietários. O processo de criar um diretor é muito semelhante ao processo de criar um proprietário: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123/persons \ -u sk_test_123: \ -d "first_name=Adam" \ -d "last_name=Smith" \ -d "dob[year]=1901" \ -d "dob[month]=1" \ -d "dob[day]=1" \ -d "address[line1]=address_full_match" \ -d "address[city]=Madrid" \ -d "address[postal_code]=28009" \ -d "address[country]=ES" \ -d "email=owner@example.com" \ -d "relationship[director]=true" \ -d "relationship[title]=President" ``` Indique que terminou de criar diretores definindo `company.directors_provided` como true: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[directors_provided]=true" ``` Para simular uma verificação de relação bem-sucedida, defina `company.name` como a string `match_name_relationships`: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[name]=match_name_relationships" ``` ### Outros casos de teste Os seguintes testes também são úteis: - Uma entidade do tipo `non_profit`, que exige verificação de diretor. A verificação de UBO não é uma opção. - Atendimento dos requisitos de verificação de diretor usando um documento. - Empresas no Reino Unido que exigem verificação de UBO e de diretor. #### Programa - Brasil *Última atualização: 27 de abril de 2026* ## Entenda as alterações nos requisitos de verificação Para alinhar às regulamentações do Banco Central do Brasil (BCB) na Circular BCB 3978/20, a Stripe está atualizando seus requisitos de verificação de Conheça seu cliente (KYC), Conheça sua empresa (KYB) e proprietários usufrutuários finais (UBO). Se suas contas conectadas operarem no Brasil, talvez seja necessário atualizar os fluxos de onboarding e remediação. Não fazer as atualizações obrigatórias interromperá o acesso das contas conectadas a pagamentos e serviços financeiros. ## Escolha uma abordagem de integração A Stripe recomenda usar onboarding hospedado pela Stripe ou incorporado para recolher requisitos de verificação de empresa e identidade. Essas opções exigem menos recursos para implementar e manter do que o onboarding via API. A tabela a seguir descreve as principais diferenças: - [Onboarding hospedado pela Stripe](https://docs.stripe.com/connect/hosted-onboarding.md): (Recomendado) envie as contas a um fluxo hospedado pela Stripe para enviar os dados obrigatórios. - [Onboarding incorporado](https://docs.stripe.com/connect/embedded-onboarding.md): (Recomendado) incorpore componentes de onboarding fornecidos pela Stripe que permitem que as contas enviem dados diretamente à Stripe pelo seu aplicativo. - [Onboarding via API](https://docs.stripe.com/connect/api-onboarding.md): crie e gerencie um fluxo de onboarding personalizado usando APIs da Stripe. | | **Onboarding hospedado pela Stripe** | **Onboarding incorporado** | **Onboarding via API** | | ---------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- | | Ideal para | Plataformas que querem que a Stripe processe o onboarding | Plataformas que querem um fluxo de onboarding com marca e no aplicativo | Plataformas que precisam de controle total e conseguem criá-lo e mantê-lo | | Esforço inicial de implementação | 3 a 4 semanas de engenharia | 3 a 4 semanas de engenharia | 30 a 40 semanas de engenharia | | Esforço contínuo para lidar com atualizações de requisitos | Processado automaticamente pela Stripe | Processado automaticamente pela Stripe | Exige monitoramento proativo de alterações futuras, além de recursos de engenharia para atualizar o fluxo de onboarding a cada alteração | | Personalização | Interface hospedada pela Stripe com marca da plataforma | Componente altamente personalizável por tema que as contas acessam pelo aplicativo da plataforma | A plataforma projeta, cria e mantém a interface | | Esforço para aceitar outros países | Processado automaticamente pela Stripe | Processado automaticamente pela Stripe | Exige recursos de engenharia para atualizar o fluxo de onboarding para cada país adicional | Saiba mais sobre [opções de Connect Onboarding](https://docs.stripe.com/connect/onboarding.md) e sobre [a migração dos seus fluxos de onboarding e remediação baseados em API para fluxos hospedados pela Stripe ou incorporados](https://docs.stripe.com/connect/migrate-from-api-onboarding.md). Plataformas que usam onboarding hospedado pela Stripe ou incorporado não precisam modificar suas integrações para estas atualizações de requisitos. A Stripe processa essas atualizações automaticamente. Plataformas que usam onboarding baseado em API devem acompanhar ativamente as alterações de requisitos e alocar recursos de engenharia para cada atualização. ## Visão geral da integração com API Se sua plataforma usa onboarding baseado em API, é necessário atualizar a integração para processar as seguintes alterações para contas conectadas brasileiras: - **KYC: verificação de identidade de pessoa física** — recolha CPF, data de nascimento, endereço e prova de vida para todas as contas de pessoas físicas e representantes de empresas - **KYB: verificação de identidade da pessoa jurídica** — recolha CNPJ, nome jurídico da empresa e endereço cadastrado de pessoas jurídicas; processe fluxos de verificação automática e fallback por documento - **Status de cadastro do ID fiscal** — processe o status de cadastro de CPFs e CNPJs inativos ou inválidos - **Verificação de UBO e relação** — verifique se diretores ou proprietários da empresa estão legalmente listados como tais - **Capacidade financeira** — recolha renda mensal ou receita bruta de todas as contas brasileiras antes que as funções possam ser ativadas - **Novos códigos de erro** — processe novos códigos de erro de verificação exibidos no array `requirements.errors` ## KYC: verificação de identidade de pessoa física A Stripe está reforçando a verificação de identidade de contas de pessoas físicas no Brasil para cumprir os requisitos do Banco Central do Brasil (BCB). Contas conectadas que são pessoas físicas e representantes de contas que são pessoas jurídicas precisam ser verificados. Talvez seja necessário fornecer dados adicionais como parte do onboarding. As seguintes pessoas devem fornecer dados de KYC verificáveis: - **Representante da empresa**: a pessoa física que assina os Termos de Serviço e é legalmente responsável pela conta. - **Proprietários**: os proprietários de pessoas jurídicas, quando aplicável. A Stripe usa uma combinação de dados inseridos manualmente e revisão de documentos para verificar a identidade de cada pessoa. Além disso, a regulamentação brasileira exige uma verificação de prova de vida (`proof_of_liveness`) para confirmar que a pessoa que envia os documentos de identidade está fisicamente presente. Os fluxos de onboarding hospedado pela Stripe e incorporado processam essa etapa automaticamente. Se sua plataforma usa onboarding baseado em API, é necessário redirecionar os usuários para uma etapa de verificação hospedada pela Stripe ou integrar o componente incorporado `` para concluir o recolhimento da prova de vida. Consulte [Processar requisitos de prova de vida](https://docs.stripe.com/connect/api-onboarding.md?accounts-namespace=v1&liveness=hosted#proof-of-liveness) para saber mais. **Requisitos de idade:** os representantes da empresa devem ter 18 anos ou mais. Proprietários, diretores e executivos devem ter 16 anos ou mais. Novos usuários que não atenderem a esses requisitos não terão as funções ativadas. Contas existentes com representante da empresa menor de 16 anos serão removidas imediatamente quando a plataforma for migrada. ### Campos obrigatórios Contas brasileiras de pessoas físicas agora exigem os seguintes campos: | Campo | Descrição | | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `person.first_name`, `person.last_name` | Nome jurídico completo | | `person.id_number` | CPF (ID fiscal de pessoa física brasileira) | | `person.address.line1`, `.city`, `.postal_code`, `.country` | Endereço residencial brasileiro. Todos os representantes da empresa devem ser residentes brasileiros e fornecer um endereço brasileiro. | | `person.dob.day`, `.month`, `.year` | Data de nascimento | | `person.verification.proof_of_liveness` | Selfie de prova de vida — aceita apenas em fluxos hospedados pela Stripe ou incorporados | | `person.verification.additional_document` | Requisito de documento opcional quando a verificação de endereço inserido manualmente falhar. | Nenhum nome de campo é obrigatório se sua plataforma já recolhe `person.id_number`. Confira se sua IU recolhe especificamente um CPF. Não aceitamos outros tipos de identificação, como números de passaporte ou IDs fiscais estrangeiros, para contas brasileiras. ### Resposta inicial de requisitos Quando uma nova conta de pessoa física é criada, o hash `requirements` incluirá: ```json { "currently_due": [ "person.first_name", "person.last_name", "person.id_number", "person.dob.day", "person.dob.month", "person.dob.year", "person.address.line1", "person.address.city", "person.address.state", "person.address.country", "person.verification.proof_of_liveness" ], "pending_verification": [], "alternatives": [ { "original_fields_due": ["person.address.line1", "person.address.city", "person.address.state", "person.address.country"], "alternative_fields_due": ["person.verification.additional_document"] } ], "errors": [] } ``` ### Recolhimento de dados da pessoa Use a API Persons para enviar campos de pessoa física: ```shell curl https://api.stripe.com/v1/accounts/{{CONNECTED_ACCOUNT_ID}}/persons/{{PERSON_ID}} \ -u "{{PLATFORM_SECRET_KEY}}:" \ -d "first_name=Maria" \ -d "last_name=Silva" \ -d "id_number=123.456.789-09" \ -d "dob[day]=15" \ -d "dob[month]=6" \ -d "dob[year]=1985" \ -d "address[line1]=Rua das Flores, 123" \ -d "address[city]=São Paulo" \ -d "address[state]=SP" \ -d "address[postal_code]=01310-100" \ -d "address[country]=BR" ``` ### Processamento de erros | Código de erro | Acionador | Remediação | | ------------------------------------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `verification_failed_id_number_inactive` | CPF encontrado, mas o status está inativo, por exemplo, suspenso, cancelado ou falecido. | O usuário deve regularizar o status do CPF com a Receita Federal brasileira. Contas com CPF cancelado, nulo ou de pessoa falecida passarão por remoção. Não é possível resolver isso por envio de documento. | | `verification_failed_keyed_match` | Tanto a consulta automática quanto a revisão manual falharam ao verificar o CPF. | O usuário reenvia o CPF e o documento de identificação; a conta entra na fila de MVR. | | `verification_document_type_not_supported` | O documento enviado é do tipo errado, do país errado ou ilegível. | O usuário envia novamente uma identificação oficial brasileira aceita. | ## Verificação de identidade da pessoa jurídica para KYB A Stripe está atualizando os requisitos de verificação de empresa para pessoas jurídicas no Brasil para cumprir as regulamentações de PLD do Banco Central do Brasil (BCB). Esse tipo de verificação se enquadra na categoria ampla de requisitos de Conheça sua empresa (KYB). Se suas contas conectadas incluírem empresas constituídas no Brasil, talvez seja necessário fornecer dados adicionais durante o onboarding. A Stripe verifica pessoas jurídicas usando o CNPJ (Cadastro Nacional da Pessoa Jurídica), o número nacional de cadastro de empresas do Brasil, junto com o nome da empresa e o endereço cadastrado. Primeiro, a Stripe tenta fazer a verificação automática no cadastro de CNPJ do governo brasileiro. Se os dados inseridos não corresponderem, a conta poderá resolver o requisito fazendo envio de um documento de verificação da empresa, como um certificado de CNPJ da Receita Federal. Além da verificação de identidade, a regulamentação brasileira de PLD exige que a Stripe avalie a capacidade financeira de uma conta conectada antes de ativar cobranças e repasses. Todas as contas brasileiras devem fornecer a receita ou renda mensal estimada antes que as funções sejam ativadas. Esses dados são usados apenas para fins de monitoramento regulatório, e não os verificamos de forma independente no onboarding. ### Campos obrigatórios Os seguintes campos são obrigatórios para contas brasileiras de pessoas jurídicas: | Campo | Descrição | | ----------------------------------------------------- | ------------------------------------------------------------------- | | `company.tax_id` | CNPJ (número de cadastro de empresa brasileira com 14 dígitos). | | `company.name` | Nome jurídico da empresa — deve corresponder ao cadastro de CNPJ. | | `company.address.line1`, `.city`, `.postal_code` | Endereço comercial brasileiro cadastrado. | | `company.verification.document` | Opcional no início; obrigatório se a verificação automática falhar. | | `business_profile.monthly_estimated_revenue.amount` | Receita bruta mensal em BRL. | | `business_profile.monthly_estimated_revenue.currency` | Deve ser `brl`. | ### Resposta inicial de requisitos ```json { "currently_due": [ "company.tax_id", "company.name", "company.address.line1", "company.address.city", "company.address.postal_code", "business_profile.monthly_estimated_revenue.amount", "business_profile.monthly_estimated_revenue.currency" ], "pending_verification": [], "alternatives": [ { "original_fields_due": [ "company.tax_id", "company.name", "company.address.line1", "company.address.city", "company.address.postal_code" ], "alternative_fields_due": [ "company.tax_id", "company.name", "company.address.line1", "company.address.city", "company.address.postal_code", "company.verification.document" ] } ], "errors": [] } ``` O array `alternatives` indica que, se a verificação automática do CNPJ falhar, a plataforma poderá resolver isso fornecendo também um `company.verification.document`. ### Recolhimento de dados da empresa ```shell curl https://api.stripe.com/v1/accounts/{{CONNECTED_ACCOUNT_ID}} \ -u "{{PLATFORM_SECRET_KEY}}:" \ -d "company[tax_id]=12.345.678/0001-99" \ -d "company[name]=Empresa Exemplo Ltda" \ -d "company[address][line1]=Avenida Paulista, 1000" \ -d "company[address][city]=São Paulo" \ -d "company[address][postal_code]=01310-100" \ -d "company[address][country]=BR" \ -d "business_profile[monthly_estimated_revenue][amount]=5000000" \ -d "business_profile[monthly_estimated_revenue][currency]=brl" ``` Depois de enviar ID fiscal, nome e endereço da empresa, os requisitos passam para `pending_verification` enquanto a Stripe verifica os dados no cadastro de CNPJ: ```json { "currently_due": [], "pending_verification": [ "company.tax_id", "company.name", "company.address.line1", "company.address.city", "company.address.postal_code" ], "alternatives": [], "errors": [] } ``` Aguarde um webhook `account.updated` antes de prosseguir. Se a verificação for bem-sucedida, todos os campos serão removidos dos requisitos. Se a verificação falhar, consulte a seção de processamento de erros abaixo. ### Status de cadastro do ID fiscal Além de verificar o CNPJ com os registros da empresa, a Stripe verifica o status de cadastro do CNPJ e do CPF do representante da empresa nos registros do governo brasileiro. Não é possível alterar o ID fiscal depois que ele é definido. | Tipo de pessoa jurídica | Aprovado | Falha | Remoção imediata obrigatória | | ------------------------ | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------------------------------------------ | | Pessoas físicas (CPF) | Regular | Suspenso, pendente de regularização | Cancelado, nulo, falecido | | Pessoas jurídicas (CNPJ) | Ativo (Ativa), pendente de regularização (Ativa não regular) | Suspenso (Suspensa) | Dissolvido (Baixada), cancelado (Baixada), inapto (Inapta), nulo (Nula), domiciliado no exterior | Contas com CPF ou CNPJ suspenso são tratadas como válidas no onboarding, mas espera-se que regularizem o status em aproximadamente 30 dias. Se não houver regularização, degradaremos as funções de pagamento. Contas com status que exigem remoção, como cancelado, nulo, falecido, dissolvido ou inapto, têm todas as funções desativadas imediatamente e não podem fazer remediação por envio de documento. ### Capacidade financeira A regulamentação brasileira de PLD exige que a Stripe recolha a capacidade financeira estimada de uma conta conectada antes de ativar cobranças e repasses. Isso se aplica a todas as contas brasileiras, tanto pessoas físicas quanto pessoas jurídicas. `monthly_estimated_revenue.amount` é expresso na menor unidade da moeda, em centavos. Por exemplo, 50.000 BRL = `5000000`. Recolhemos os valores apenas para fins de monitoramento regulatório e não os verificamos de forma independente no onboarding. ### URL e descrição do produto As regulamentações brasileiras exigem que a Stripe entenda as atividades de todas as empresas. Os requisitos variam por tipo de conta: | Tipo de conta | Requisito | | ----------------- | ---------------------------------------------------------------------- | | Direct e Standard | Exige `business_profile.url` e `business_profile.product_description` | | Custom e Express | Exige `business_profile.url` ou `business_profile.product_description` | ### Processamento de erros | Código de erro | Acionador | Remediação | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `verification_failed_keyed_match` | CNPJ não encontrado, ou o nome da empresa ou o endereço não corresponderam ao cadastro de CNPJ. | Insira novamente o nome jurídico e o endereço cadastrado corretos ou envie `company.verification.document`. | | `verification_failed_id_number_status_not_found` | CNPJ encontrado, mas o status fiscal não pôde ser recuperado. | Reenvie ou faça envio de um documento de verificação da empresa. | | `verification_failed_id_number_inactive` | CNPJ encontrado, mas o status está inativo, por exemplo, suspenso ou dissolvido. | Para status suspenso, a conta tem um período de carência para regularizar com a Receita Federal. Para status dissolvido, cancelado, inapto ou nulo, a conta passará por remoção. Não é possível resolver isso por envio de documento. | | `verification_document_type_not_supported` | O documento da empresa enviado está ilegível ou é do tipo errado. | Envie novamente um documento de verificação da empresa aceito. | | `verification_document_name_mismatch` | O nome da empresa no documento não corresponde ao nome inserido. | Insira novamente o nome jurídico exatamente como aparece no certificado de CNPJ. | | `verification_document_id_number_mismatch` | O ID fiscal no documento não corresponde ao CNPJ inserido, ou o status do ID fiscal não foi encontrado ou está inativo. | Envie novamente um certificado de CNPJ atual da Receita Federal. | | `verification_document_address_mismatch` | O endereço no documento não corresponde ao endereço inserido. | Insira novamente o endereço para corresponder ao endereço cadastrado no certificado de CNPJ. | ## Verificação de UBO e relação A regulamentação brasileira de PLD (Circular BCB 3978/20) exige que todos os representantes da empresa sejam identificados e verificados como representantes legalmente listados da entidade. A Stripe verifica isso em duas etapas: 1. **Correspondência automática de nome**: o nome completo do representante é comparado à resposta do cadastro de CNPJ. 1. **Fallback — revisão de documento**: se a verificação automática falhar, o representante deverá enviar um documento de relação aceito, para estruturas de propriedade simples, ou uma atestação, para estruturas de propriedade complexas. > Uma estrutura de propriedade simples existe quando a empresa é de propriedade direta de uma ou mais pessoas físicas, enquanto uma estrutura de propriedade complexa envolve camadas intermediárias, como holdings, trusts ou subsidiárias, que separam os proprietários usufrutuários finais da entidade operacional. ### Documentos de relação aceitos, para estruturas de propriedade simples É possível encontrar documentos aceitos para o Brasil em [Documentos de verificação aceitáveis](https://docs.stripe.com/acceptable-verification-documents.md?country=BR&document-type=entity#select-a-country-to-view-its-requirements). Os documentos devem conter: (a) nome da pessoa jurídica e CNPJ, (b) nomeação expressa como proprietário ou diretor com o nome completo e CPF da pessoa, com prazo de mandato válido, e © a assinatura do representante da empresa. As plataformas podem enviar documentos de verificação em nome de contas conectadas apenas quando a plataforma tiver recebido consentimento por escrito da conta conectada, assinado por um representante legal com poderes expressos para agir em nome dela. A plataforma também deve enviar uma procuração ou documento de constituição que comprove esses poderes. ### Atestação, para estruturas de propriedade complexas Empresas com propriedade complexa devem baixar e preencher um documento PDF de atestação e reenviá-lo à Stripe. ## Testes Use o [modo de teste](https://docs.stripe.com/connect/testing.md) para verificar se sua integração processa todos os estados de KYC/KYB. ### Teste: KYC bem-sucedido, pessoa física ```shell # Create test account curl https://api.stripe.com/v1/accounts \ -u "{{TEST_SECRET_KEY}}:" \ -H "Stripe-Version: 2026-03-25.dahlia;experimental_onboarding_preview=v2" \ -d "type=custom" \ -d "country=BR" \ -d "capabilities[transfers][requested]=true" # Submit person data (use test CPF: 000.000.001-91 for success) curl https://api.stripe.com/v1/accounts/{{ACCT_ID}}/persons/{{PERSON_ID}} \ -u "{{TEST_SECRET_KEY}}:" \ -d "first_name=Maria" \ -d "last_name=Silva" \ -d "id_number=000.000.001-91" \ -d "dob[day]=15" \ -d "dob[month]=6" \ -d "dob[year]=1985" \ -d "address[line1]=Rua das Flores, 123" \ -d "address[city]=São Paulo" \ -d "address[state]=SP" \ -d "address[postal_code]=01310-100" \ -d "address[country]=BR" ``` Para concluir o teste de sucesso de KYC, `proof_of_liveness` ainda é obrigatório. Consulte [Processar requisitos de prova de vida](https://docs.stripe.com/connect/api-onboarding.md?accounts-namespace=v1&liveness=hosted#proof-of-liveness) para saber mais. ### Teste: CPF inativo (`verification_document_id_number_mismatch`) ```shell curl https://api.stripe.com/v1/accounts/{{ACCT_ID}}/persons/{{PERSON_ID}} \ -u "{{TEST_SECRET_KEY}}:" \ -d "id_number=000.000.002-00" ``` Erro esperado nos requisitos: ```json { "code": "verification_document_id_number_mismatch", "reason": "", "requirement": "person.id_number" } ``` ### Teste: KYB bem-sucedido, pessoa jurídica ```shell # Create test company account curl https://api.stripe.com/v1/accounts \ -u "{{TEST_SECRET_KEY}}:" \ -H "Stripe-Version: 2026-03-25.dahlia;experimental_onboarding_preview=v2" \ -d "type=custom" \ -d "country=BR" \ -d "business_type=company" \ -d "capabilities[transfers][requested]=true" # Submit company data (use test CNPJ: 00.000.000/0001-91 for success) curl https://api.stripe.com/v1/accounts/{{ACCT_ID}} \ -u "{{TEST_SECRET_KEY}}:" \ -d "company[tax_id]=00.000.000/0001-91" \ -d "company[name]=Empresa Teste Ltda" \ -d "company[address][line1]=Avenida Paulista, 1000" \ -d "company[address][city]=São Paulo" \ -d "company[address][postal_code]=01310-100" \ -d "company[address][country]=BR" \ -d "business_profile[monthly_estimated_revenue][amount]=5000000" \ -d "business_profile[monthly_estimated_revenue][currency]=brl" ``` ### Teste: falha de correspondência inserida manualmente do CNPJ (`verification_failed_keyed_match`) ```shell curl https://api.stripe.com/v1/accounts/{{ACCT_ID}} \ -u "{{TEST_SECRET_KEY}}:" \ -d "company[tax_id]=00.000.000/0002-00" \ -d "company[name]=Wrong Name Ltda" ``` Erros esperados nos requisitos: ```json [ { "code": "verification_failed_keyed_match", "requirement": "company.tax_id" }, { "code": "verification_failed_keyed_match", "requirement": "company.name" }, { "code": "verification_failed_keyed_match", "requirement": "company.address.line1" } ] ``` Resolva fazendo envio de um documento de verificação da empresa: ```shell # 1. Upload CNPJ certificate PDF curl https://files.stripe.com/v1/files \ -u "{{TEST_SECRET_KEY}}:" \ -F "file=@/path/to/cnpj_certificate.pdf" \ -F "purpose=account_requirement" # 2. Attach to account curl https://api.stripe.com/v1/accounts/{{ACCT_ID}} \ -u "{{TEST_SECRET_KEY}}:" \ -d "company[verification][document][front]={{FILE_ID}}" ``` #### Programa - US *Última atualização: 23 de setembro de 2025* ## O que mudará - **Dados obrigatórios recolhidos de contas conectadas:** estamos atualizando os dados exigidos de empresas individuais, organizações sem fins lucrativos e LLCs de sócio único, além de simplificar a forma como obtemos consentimento do responsável legal para contas abertas por menores. Além disso, um e-mail do representante da conta agora é obrigatório para todos os tipos de pessoa jurídica, com uma alteração para entidades governamentais e empresas de capital aberto. - **Como verificamos dados comerciais e fornecemos novas respostas de verificação detalhadas:** estamos atualizando nossos critérios para dados comerciais válidos e introduzindo novos códigos de erro de verificação quando não conseguimos aceitar ou verificar os dados fornecidos. - **Limite em que verificamos números de identificação fiscal (TINs):** para contas conectadas Custom e Express, estamos reduzindo o limite de volume de pagamentos em que verificamos os TINs para alinhar aos limites atuais de declaração de impostos federais. - **Como preenchemos previamente descrições no extrato e prefixos de descrição no extrato:** se uma descrição no extrato não for fornecida, a lógica de preenchimento prévio mudará para usar o nome do perfil da empresa, o URL da empresa ou o nome da pessoa jurídica da conta conectada. Estas alterações afetarão todos os usuários com uma função [card_payments](https://docs.stripe.com/api/accounts/object.md#account_object-capabilities-card_payments) solicitada nos EUA. ## Dados obrigatórios recolhidos de contas conectadas Novos dados recolhidos e novos campos adicionados à API: - Empresas que têm [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure) de `sole_proprietorship` e `single_member_llc` devem fornecer o endereço da empresa (“endereço da empresa”). Se o endereço da empresa for igual ao endereço pessoal do representante, as contas conectadas poderão fornecer os mesmos valores para ambos. - Pessoas jurídicas que têm [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure) de `government_instrumentality`, `tax_exempt_government_instrumentality`, `governmental_unit`, `public_company`, `public_corporation` e `public_partnership` devem fornecer um e-mail do representante da conta. Esse requisito agora se aplica a todos os tipos de pessoa jurídica. - Para simplificar a forma como obtemos consentimento do responsável legal para contas abertas por menores, a [API Persons](https://docs.stripe.com/api/persons.md) foi atualizada com um novo tipo de relacionamento `legal_guardian`, bem como um campo `additional_tos_acceptances` para registrar a aceitação dos Termos de Serviço da Stripe pelo responsável legal. Se a data de nascimento do representante da conta indicar que a pessoa física é menor de idade, um requisito da conta será acionado para adicionar um `legal_guardian` antes que a conta possa ser ativada. ## Como verificamos dados comerciais e fornecemos novas respostas de verificação detalhadas ### Atualizações nos dados que já recolhemos Solicitaremos os seguintes dados das suas contas conectadas: | Campo | Requisitos atualizados | Considerações adicionais | | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | | SSN ou ITIN recolhido de representantes residentes nos EUA | Os últimos quatro dígitos são obrigatórios no onboarding para todos os tipos de conta, incluindo contas conectadas Custom e Express | Esse é o comportamento atual para contas conectadas Standard. | | SSN ou ITIN recolhido de proprietários residentes nos EUA | Os últimos quatro dígitos são obrigatórios quando o volume de pagamentos excede US$ 500 mil para todos os tipos de conta, incluindo contas conectadas Custom e Express | Veja a *Observação sobre os nove dígitos completos do SSN* abaixo | | Documento de identificação nacional ou documento de verificação recolhido de representantes não residentes nos EUA | Documento de identificação nacional ou documento de verificação no onboarding para todos os tipos de conta, incluindo contas conectadas Custom e Express | Aplica-se apenas a representantes não residentes nos EUA | | Documento de identificação nacional ou documento de verificação recolhido de proprietários não residentes nos EUA | Documento de identificação nacional ou documento de verificação quando o volume de pagamentos excede US$ 500 mil para todos os tipos de conta, incluindo contas conectadas Custom e Express | Aplica-se apenas a proprietários não residentes nos EUA | > Se não conseguirmos obter automaticamente os nove dígitos completos do SSN de uma pessoa física associada à sua conta usando os dados já fornecidos, será necessário fornecer os nove dígitos completos. ### Novos códigos de erro de verificação Quando não conseguirmos verificar os dados fornecidos pelas contas conectadas, exibiremos respostas de verificação detalhadas como novos códigos de erro no array [requirements.errors](https://docs.stripe.com/api/accounts/object.md#account_object-requirements-errors). [Ver documentação](https://docs.stripe.com/connect/handling-api-verification.md#validation-and-verification-errors). #### Erros síncronos | Campo | Novo código de erro | Mensagem de erro | | ----------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | | Descrição do produto | `invalid_product_description_length` | A descrição do produto deve ter pelo menos 10 caracteres. | | Descrição do produto | `invalid_product_description_url_match` | A descrição do produto deve ser diferente do URL. | | Descrição no extrato (completa) | `invalid_statement_descriptor_length` | A descrição no extrato deve ter entre 5 e 22 caracteres. | | Descrição no extrato (completa) | `invalid_statement_descriptor_business_mismatch` | A descrição no extrato deve ser semelhante ao nome da empresa, ao nome da pessoa jurídica ou ao URL. | | Descrição no extrato (completa) | `invalid_statement_descriptor_denylisted` | Descrições no extrato genéricas ou amplamente conhecidas não são aceitas. | | Descrição no extrato (curta) | `invalid_statement_descriptor_prefix_mismatch` | O prefixo da descrição no extrato precisa ser similar à sua descrição no extrato, nome da empresa, nome da pessoa jurídica ou URL. | | Descrição no extrato (curta) | `invalid_statement_descriptor_prefix_denylisted` | Prefixos de descrição no extrato genéricos ou muito conhecidos não são aceitos. | | Nome da empresa da pessoa jurídica | `invalid_company_name_denylisted` | Nomes de empresa genéricos ou muito conhecidos não são aceitos. | | Nome do perfil da empresa (nome fantasia) | `invalid_business_profile_name_denylisted` | Nomes de empresa genéricos ou muito conhecidos não são aceitos. | | Nome do perfil da empresa (nome fantasia) | `invalid_business_profile_name` | Nomes de perfil da empresa devem consistir em palavras reconhecíveis. | | Data de nascimento das pessoas | `invalid_dob_age_under_minimum` | A pessoa deve ter pelo menos 13 anos. | | Data de nascimento das pessoas | `invalid_dob_age_over_maximum` | A data de nascimento deve estar dentro dos últimos 120 anos. | | Telefone das pessoas | `invalid_phone_number` | O número de telefone não parece ser válido. Confira se está formatado corretamente. | | Telefone comercial da pessoa jurídica | `invalid_phone_number` | O número de telefone não parece ser válido. Confira se está formatado corretamente. | | ID fiscal da empresa | `invalid_tax_id_format` | Os IDs fiscais precisam ser um conjunto único de 9 números sem traços ou outros caracteres especiais. | | URL | `invalid_url_format` | Formate como https://example.com | | URL | `invalid_url_denylisted` | URLs comerciais genéricos não são aceitos. | #### Erros assíncronos | Campo | Novo código de erro | Mensagem de erro | | ----- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | URL | `invalid_url_website_inaccessible` | Não foi possível acessar este URL. Confira se ele está disponível e foi inserido corretamente ou forneça outro. | | URL | `invalid_url_website_business_information_mismatch` | Os dados comerciais do seu site devem corresponder aos dados fornecidos à Stripe. | | URL | `invalid_url_website_incomplete` | Parece que seu site não tem alguns dados obrigatórios. Saiba mais sobre os requisitos de site | | URL | `invalid_url_website_other` | Não conseguimos verificar sua empresa usando o URL fornecido. Confira se ele foi inserido corretamente ou forneça outro URL. | | URL | `invalid_url_web_presence_detected` | Como você usa um site, aplicativo, página de rede social ou perfil online para vender produtos ou serviços, é necessário fornecer um URL da sua empresa. | ### Atualização do limite em que verificamos números de identificação fiscal (TINs) Para alinhar aos limites de declaração do IRS para os Formulários 1099-K, 1099-NEC e 1099-MISC, estamos atualizando o limite em que verificamos o TIN para quando o volume de pagamentos atingir US$ 600 ou até 30 dias após a primeira cobrança, o que ocorrer primeiro. ### Como preenchemos previamente descrições no extrato e prefixos de descrição no extrato Se não for fornecida, a descrição no extrato será preenchida previamente usando os seguintes campos fornecidos, nesta ordem: [business_profile.name](https://docs.stripe.com/api/accounts/object.md#account_object-business_profile-name) (“nome fantasia”), [business_profile.url](https://docs.stripe.com/api/accounts/object.md#account_object-business_profile-url), o nome da pessoa jurídica ([individual.first_name](https://docs.stripe.com/api/accounts/object.md#account_object-individual-first_name) + [individual.last_name](https://docs.stripe.com/api/accounts/object.md#account_object-individual-last_name) ou [company.name](https://docs.stripe.com/api/accounts/object.md#account_object-company-name))`. Além disso, se o prefixo da descrição no extrato não for fornecido, ele será preenchido previamente com os primeiros 10 caracteres da descrição no extrato. #### Programa - Singapore *Última atualização: 21 de maio de 2025* ## Recomendações de integração As alterações de integração que você precisa fazer dependem de como recolhe dados de onboarding das suas contas conectadas. Também é necessário planejar a atualização da sua documentação interna e externa sobre requisitos de verificação e treinar suas equipes de suporte para responder às dúvidas que seus usuários possam ter. > A Stripe recomenda enfaticamente usar onboarding [hospedado pela Stripe](https://docs.stripe.com/connect/hosted-onboarding.md) ou [incorporado](https://docs.stripe.com/connect/embedded-onboarding.md) para processar o recolhimento de dados de verificação de empresa e identidade. O onboarding hospedado pela Stripe e o onboarding incorporado oferecem uma experiência orientada com dados adicionais sobre proprietários usufrutuários e diretores que não estão disponíveis atualmente na API. Esses dados são recuperados de bases de dados governamentais e reduzem os dados de verificação recolhidos de contas conectadas. ### Visão geral da integração A partir de meados de março, o hash [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements) permitirá visualizar os novos requisitos futuros e seus prazos para as contas conectadas. É possível evitar interrupções nas funções das contas conectadas planejando o recolhimento de dados atualizados antes do `current_deadline`. Novas contas conectadas Custom criadas a partir de abril de 2025 também deverão atender aos novos requisitos de verificação. Detecte alterações de status da conta escutando o evento account.updated. Consulte nossa [página de perguntas frequentes](https://support.stripe.com/questions/singapore-verification-requirements-for-custom-connected-accounts-faq) para saber mais sobre os cronogramas. Confira se a integração está configurada para [processar atualizações de verificação](https://docs.stripe.com/connect/handle-verification-updates.md) durante o onboarding de novas contas e o recolhimento de dados atualizados de contas existentes. Especificamente para fluxos de onboarding incorporado ou hospedado pela Stripe, é possível personalizar o comportamento para recolher opcionalmente [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements) antecipadamente. Para onboarding hospedado pela Stripe, defina o parâmetro `collection_options.future_requirements` como `include` ao [criar um Account Link](https://docs.stripe.com/api/account_links/create.md#create_account_link-collection_options). Para onboarding incorporado, defina o campo futureRequirements do atributo [`collectionOptions`](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md#requirements-collection-options) como `include`. ### Visão geral dos requisitos | Tipo de pessoa jurídica | Verificação de proprietário usufrutuário final (UBO) | Recolhimento de diretores | Comprovação de autoridade (PoA) | Carta de autorização | | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | ------------------------------- | --------------------------- | | Pessoas físicas | Não se aplica | Não se aplica | Não se aplica | Não se aplica | | Empresas individuais | Não se aplica | Não se aplica | Sempre se aplica | Não se aplica | | Empresas privadas | Obrigatória para proprietários com participação de 25% ou mais* Pode receber isenção | Sempre se aplica | Sempre se aplica | Alternativa se a PoA falhar | | Parcerias | Obrigatória para todos os sócios e gerentes e qualquer outra pessoa física com participação de 25% ou mais Pode receber isenção | Não se aplica | Sempre se aplica | Alternativa se a PoA falhar | | Entidades governamentais** | Não se aplica | Não se aplica | Sempre se aplica | Sempre se aplica | | Empresas de capital aberto** | Isento | Sempre se aplica | Sempre se aplica | Alternativa se a PoA falhar | | Organizações sem fins lucrativos | Todos os diretores e principais executivos Pode receber isenção | Não se aplica | Sempre se aplica*** | Alternativa se a PoA falhar | > Nos casos em que não houver proprietários com participação de 25% ou mais, todos os diretores serão tratados como UBOs. > > \** Entidades governamentais e empresas de capital aberto são novos tipos de entidade em Singapura. Entre em contato com o [suporte da Stripe](https://support.stripe.com/) para solicitar acesso. > > \*** Organizações sem fins lucrativos não listadas em charities.gov.sg devem enviar um documento [proof_of_ultimate_beneficial_ownership](https://docs.stripe.com/api/accounts/update.md#update_account-documents-proof_of_ultimate_beneficial_ownership) para indicar todos os diretores e principais executivos. ## Tipos e estruturas de empresa aceitos Você tem requisitos de verificação diferentes dependendo do tipo de empresa. Para um tipo de empresa `company`, é possível classificar melhor a empresa do usuário identificando sua estrutura jurídica (empresarial). Uma estrutura de empresa descreve os detalhes de uma entidade empresarial, como operações diárias, encargos fiscais, responsabilidade e estrutura organizacional. É possível classificá-la usando o campo [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure) no objeto Account. Uma empresa é considerada privada por padrão se os dados sobre [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure) não forem fornecidos. Em alinhamento com as diretrizes de Singapura, todos os tipos de empresa devem estar cadastrados na [ACRA](https://www.acra.gov.sg/). Estes são os mapeamentos sugeridos para a transição da classificação baseada apenas em `business_type` para [business_type](https://docs.stripe.com/api/accounts/object.md#account_object-business_type) e [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure). | Tipo de empresa existente | Nova combinação de tipo de empresa e estrutura da empresa | Descrição | | ------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `individual` | type: `individual`, structure: `nil` | Uma pessoa individual que exerce uma atividade empresarial sem operar sob uma estrutura corporativa. | | `sole_prop` | type: `company`, structure: `sole_proprietorship` | Uma empresa não incorporada de propriedade de um indivíduo. A empresa está registrada como empresário individual na [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure). | | `company` / `corporation` | type: `company`, structure: `private_company` | Uma associação ou relação entre dois ou mais indivíduos, corporações, fundos ou sociedades que se unem para realizar um comércio ou empresa. A empresa está registrada como empresa na [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure), incluindo empresas limitadas por garantia. | | `partnership` | type: `company`, structure: `private_partnership` | Uma associação ou relação entre dois ou mais indivíduos, corporações, fundos ou sociedades que se unem para realizar um comércio ou empresa. A empresa está registrada como sociedade na [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure). | | `public_company` | type: `company`, structure: `public_company` | Uma empresa que oferece seus valores mobiliários para venda ao público em geral. Esta estrutura de empresa é restrita. Entre em contato com o [suporte da Stripe](https://support.stripe.com/) para saber como usá-la. A empresa está registrada como empresa na [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure). | | `non_profit` | type: `non_profit`, structure: `nil` | Uma organização que opera com uma finalidade diferente da geração de lucro, muitas vezes com o objetivo de promover metas sociais, educacionais, beneficentes ou outras metas comunitárias. | > Se a empresa for uma organização sem fins lucrativos cadastrada na ACRA, serão aplicados os requisitos do tipo de empresa cadastrado na ACRA. ## Verificação do representante da empresa ### Verificação de identidade aprimorada Em Singapura, é obrigatória a verificação de identidade reforçada de representantes para todos os tipos de empresa usando [Singpass MyInfo](https://www.singpass.gov.sg/main/individuals/), um provedor popular de identidade digital. Se os usuários não tiverem acesso ao MyInfo, deverão verificar a prova de vida usando [Stripe Identity](https://docs.stripe.com/identity.md). A conclusão bem-sucedida da verificação de identidade reforçada usando Singpass MyInfo ou Stripe Identity exige integração com [Connect Onboarding ou onboarding incorporado](https://docs.stripe.com/connect/custom/onboarding.md). Se você usa a API da Stripe para fazer onboarding de contas conectadas, é necessário atualizar os formulários para recolher os novos dados de verificação obrigatórios dos usuários e redirecioná-los ao Connect Onboarding na etapa final para concluir a verificação de identidade reforçada. ### Verificação de endereço A verificação do endereço do representante comercial é obrigatória para todas as empresas. Se a Stripe não conseguir verificar o endereço, você precisará coletar um [comprovante de endereço](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=address). ## Verificação de comprovação de autoridade A Stripe precisa verificar se o [representante da conta tem autoridade suficiente](https://support.stripe.com/questions/representative-authority-verification) para abrir uma conta em nome da pessoa jurídica. Se não conseguirmos verificar isso automaticamente, será necessário trocar o representante por uma pessoa com autoridade suficiente. Se uma pessoa com autoridade suficiente não puder ser o representante da empresa, será possível adicioná-la como pessoa com o cargo [authorizer](https://docs.stripe.com/api/persons/update.md#update_person-relationship-authorizer). A empresa deverá então fornecer uma [Carta de autorização](https://b.stripecdn.com/content/Letter_of_authorization_for_Stripe_Singapore.pdf) assinada pelo [authorizer](https://docs.stripe.com/api/persons/update.md#update_person-relationship-authorizer), permitindo que o representante da empresa gerencie a conta. Esse documento deve ser fornecido como [company_authorization](https://docs.stripe.com/api/persons/update.md#update_person-documents-company_authorization) do representante. É necessário adicionar à conta o [nome](https://docs.stripe.com/api/persons/object.md#person_object-first_name) e o [sobrenome](https://docs.stripe.com/api/persons/object.md#person_object-last_name) do authorizer, junto com uma cópia do respectivo [documento de identificação](https://docs.stripe.com/api/persons/update.md#update_person-verification-document). > Atualmente, a Stripe aceita apenas o modelo de [Carta de autorização](https://b.stripecdn.com/content/Letter_of_authorization_for_Stripe_Singapore.pdf) fornecido. ``` { "id": ""{{CONNECTED_ACCOUNT_ID}}"", "future_requirements": { "past_due": [ "authorizer.first_name", "authorizer.last_name", "authorizer.id_document", "{{REPRESENTATIVE_ID}}.documents.company_authorization.files" ], "alternatives": [ { "original_fields_due": [ "authorizer.first_name", "authorizer.last_name", "authorizer.id_document", "{{REPRESENTATIVE_ID}}.documents.company_authorization.files" ], "alternative_fields_due": [ "{{REPRESENTATIVE_ID}}.first_name", "{{REPRESENTATIVE_ID}}.last_name", "{{REPRESENTATIVE_ID}}.id_number" ] } ], "errors": [ { "code": "verification_failed_representative_authority", "requirement": "authorizer.first_name", "reason": "..." }, { "code": "verification_failed_representative_authority", "requirement": "authorizer.last_name", "reason": "..." }, ... ], ... }, ... } ``` Além disso, o requisito de carta de autorização pode expor erros relacionados ao documento, como `verification_document_name_mismatch` ou `verification_document_type_not_supported`. Verifique se você pode lidar com os [erros de verificação de documentos](https://docs.stripe.com/connect/handling-api-verification.md#handle-document-verification-problems) e os [novos códigos de erro de verificação](https://docs.stripe.com/connect/upcoming-requirements-updates.md#new-verification-error-codes). ## Verificação da pessoa jurídica A verificação do nome da empresa, do UEN e do tipo de pessoa jurídica é obrigatória para todas as empresas. Se a Stripe não conseguir verificar a existência da empresa, será necessário recolher um documento da empresa. A Stripe também precisa verificar se o tipo de empresa e a estrutura da empresa correspondem aos registros do governo local. Quando ocorre divergência em [tipo de empresa](https://docs.stripe.com/api/accounts/object.md#account_object-business_type) ou [estrutura da empresa](https://docs.stripe.com/api/accounts/object.md#account_object-company-structure), é gerado um erro `verification_legal_entity_structure_mismatch`, e o tipo ou a estrutura da empresa precisa ser atualizado, ou um documento da empresa será necessário para verificar a pessoa jurídica. ``` { "id": ""{{CONNECTED_ACCOUNT_ID}}"", "future_requirements": { "past_due": [ "company.verification.document" ], "errors": [ { "code": "verification_legal_entity_structure_mismatch", "requirement": "company.verification.document", "reason": "Business type or structure seems to be incorrect. Provide the correct business type and structure for this account." }, ... ], ... }, ... } ``` ## Verificação de proprietário usufrutuário final ### Determinação de proprietários com base no tipo de entidade #### Empresas privadas A Stripe define e tenta identificar qualquer pessoa física com participação de 25% ou mais como proprietário usufrutuário final (UBO). Recomendamos usar onboarding [hospedado pela Stripe](https://docs.stripe.com/connect/hosted-onboarding.md) ou [incorporado](https://docs.stripe.com/connect/embedded-onboarding.md) para permitir que os usuários visualizem e confirmem os proprietários. Como alternativa, é possível recolher e adicionar todos os UBOs à conta usando a posição [owner](https://docs.stripe.com/api/persons/object.md) na API. Se a Stripe não conseguir determinar essas pessoas, a empresa deverá enviar um [documento de comprovação de proprietário usufrutuário final](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) para atestar sua estrutura de propriedade. Isso deve incluir documentos de comprovação de propriedade de quaisquer holdings que detenham 25% ou mais das ações da conta conectada. O onboarding hospedado pela Stripe ou incorporado busca automaticamente recolher esses documentos, ou é possível recolhê-los e enviá-los usando a API v1/accounts. É necessário adicionar à conta todos os UBOs listados na comprovação de proprietário usufrutuário final. > As contas conectadas podem enviar um único [atestado de proprietário usufrutuário final](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) como alternativa a um documento para a empresa e outro para cada empresa controladora com propriedade significativa. > > Se a empresa não tiver proprietários com participação de 25% ou mais, todos os diretores listados nos registros governamentais e disponíveis para visualização no onboarding hospedado pela Stripe ou incorporado serão considerados UBOs e deverão ser adicionados à conta. #### Parcerias Parcerias devem verificar a relação entre a empresa e todos os sócios, gerentes e qualquer outra pessoa física com participação de 25% ou mais. Essas pessoas devem ser adicionadas à conta com a posição [owner](https://docs.stripe.com/api/persons/object.md#person_object-relationship-owner) na API. #### Organizações sem fins lucrativos No caso de organizações sem fins lucrativos, todos os principais executivos e diretores são considerados UBOs. Inclui: - Presidente - Diretor - CEO - Tesoureiro - Secretário ou secretário-geral - Presidente - Administrador fiduciário - Posições recém-adicionadas - E qualquer um desses cargos na função de Assistente, Adjunto ou Vice. A Stripe tenta identificar todos os diretores e principais executivos de organizações beneficentes cadastradas em Singapura, que podem ser visualizados e confirmados no onboarding hospedado pela Stripe ou incorporado. Todas as outras organizações sem fins lucrativos devem fornecer um [documento de comprovação de proprietário usufrutuário final](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship), e as pessoas listadas devem ser adicionadas à conta com a posição [director](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) na API. ### Detalhes da integração [Nome](https://docs.stripe.com/api/persons/object.md#person_object-first_name), [sobrenome](https://docs.stripe.com/api/persons/object.md#person_object-last_name), [número de identificação](https://docs.stripe.com/api/persons/update.md#update_person-id_number) e [nomes alternativos](https://docs.stripe.com/api/persons/object.md#person_object-full_name_aliases) de todas as pessoas físicas que, em última instância, possuem ou gerenciam a pessoa jurídica devem ser adicionados à conta com a posição [owner](https://docs.stripe.com/api/persons/object.md#person_object-relationship-owner) ou [director](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) na API. UBOs são definidos de formas diferentes de acordo com o tipo de entidade. A verificação de proprietário usufrutuário final é obrigatória para empresas privadas, parcerias privadas e organizações sem fins lucrativos. Quando não conseguimos verificar o UBO, é necessário recolher um [documento de identificação](https://docs.stripe.com/api/persons/update.md#update_person-verification-document) do UBO não verificado. ``` { "id": ""{{CONNECTED_ACCOUNT_ID}}"", "future_requirements": { "past_due": [ "{{REPRESENTATIVE_ID}}.verification.document" ], "errors": [ { "code": "verification_failed_keyed_identity", "requirement": "{{REPRESENTATIVE_ID}}.verification.document", "reason": "..." }, ... ], ... }, ... } ``` Se a Stripe determinar que faltam proprietários, diretores ou documentação de holdings na conta, o campo `documents.proof_of_ultimate_beneficial_ownership.files` será retornado em [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements). Uma lista completa de documentos aceitáveis para Singapura pode ser encontrada em [Documentos de verificação aceitáveis](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship). O onboarding hospedado pela Stripe e o onboarding incorporado exibem uma lista de [proprietários](https://docs.stripe.com/api/persons/object.md#person_object-relationship-owner) e [diretores](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) ausentes, o que permite que o usuário os adicione à conta clicando neles. Adicionar as pessoas sugeridas cumpre o requisito de UBO para empresas sem holdings em sua estrutura de propriedade. Para empresas com holdings, a Stripe tenta verificar seus proprietários. Se não conseguirmos, o usuário receberá uma solicitação para enviar um [documento de atestação de proprietário usufrutuário final](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) ou [documentos de propriedade](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) relevantes para determinar os proprietários usufrutuários finais da conta. Isso também se aplica a outros tipos de empresa, como organizações sem fins lucrativos. Contas com proprietários usufrutuários ausentes têm um código de erro `verification_missing_owners` na estrutura de erros de [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements-errors). Da mesma forma, contas com diretores ausentes têm um código de erro `verification_document_directors_mismatch`. Por fim, contas para as quais a Stripe exige dados adicionais sobre propriedade têm um código de erro `verification_requires_additional_proof_of_registration`. ``` { "id": ""{{CONNECTED_ACCOUNT_ID}}"", "future_requirements": { "past_due": [ "documents.proof_of_ultimate_beneficial_ownership.files", ], "errors": [ { "code": "verification_missing_owners", "requirement": "documents.proof_of_ultimate_beneficial_ownership.files", "reason": "..." }, ... ], ... }, ... } ``` ### Isenções Em determinadas situações, uma entidade empresarial pode não precisar declarar sua propriedade. Para se qualificar para uma isenção, uma razão legítima deve ser fornecida no campo [company.ownership_exemption_reason](https://docs.stripe.com/api/accounts/update.md#update_account-company-ownership_exemption_reason). Razões válidas para isenção incluem: - `qualified_entity_exceeds_ownership_threshold`: Se um governo, empresa de capital aberto ou instituição financeira detiver pelo menos 75% da empresa, a empresa estará isenta de fornecer detalhes de propriedade. - `qualifies_as_financial_institution`: Empresas que são instituições financeiras regulamentadas pela [Autoridade Monetária de Singapura](https://eservices.mas.gov.sg/fid/institution?sector=Banking&category=Finance%20Company) estão isentas de compartilhar dados de propriedade. ``` { "id": ""{{CONNECTED_ACCOUNT_ID}}"", "future_requirements": { "past_due": [ "documents.proof_of_ultimate_beneficial_ownership.files", ], "alternatives": [ { "original_fields_due": [ "documents.proof_of_ultimate_beneficial_ownership.files", ], "alternative_fields_due": [ "company.ownership_exemption_reason", ] } ], ... }, ... } ``` Depois de enviar uma razão de isenção, revisaremos os dados da entidade empresarial. Durante essa revisão, o requisito será movido para [future_requirements.pending_verification](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements-pending_verification). Se a Stripe determinar que a entidade empresarial não se qualifica para a isenção, exibiremos uma mensagem de erro, e o requisito de propriedade permanecerá: ``` { "id": ""{{CONNECTED_ACCOUNT_ID}}"", "future_requirements": { "past_due": [ "documents.proof_of_ultimate_beneficial_ownership.files", ], "alternatives": [ { "original_fields_due": [ "documents.proof_of_ultimate_beneficial_ownership.files", ], "alternative_fields_due": [ "company.ownership_exemption_reason", ] } ], "errors": [ { "code": "verification_rejected_ownership_exemption_reason", "reason": "The ownership exemption reason was rejected.", "requirement": "company.ownership_exemption_reason" } ], ... }, ... } ``` ## Recolhimento de diretores É necessário recolher e enviar o [nome](https://docs.stripe.com/api/persons/object.md#person_object-first_name), [sobrenome](https://docs.stripe.com/api/persons/object.md#person_object-last_name), [número de identificação](https://docs.stripe.com/api/persons/update.md#update_person-id_number) e [nomes alternativos](https://docs.stripe.com/api/persons/object.md#person_object-full_name_aliases) de todos os [diretores](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) listados nos registros governamentais da conta conectada, para empresas privadas, empresas listadas em bolsa e organizações sem fins lucrativos. Além disso, poderá ser solicitado que você ateste que a lista de diretores está atual e correta definindo os campos `company.directorship_declaration.ip`, `company.directorship_declaration.date` e, opcionalmente, `company.directorship_declaration.user_agent` na API. Se uma discrepância na lista de diretores for detectada, a Stripe poderá solicitar uma nova declaração retornando os requisitos `company.directorship_declaration.ip` e `company.directorship_declaration.date` no campo requirements. ## Novos códigos de erro de verificação Se a Stripe não conseguir verificar os dados fornecidos pelas contas conectadas, os detalhes das respostas de verificação serão incluídos como novos códigos de erro no array [requirements.errors](https://docs.stripe.com/api/accounts/object.md#account_object-requirements-errors) do objeto Accounts. A versão da API [2025-03-31](https://docs.stripe.com/upgrades.md#2025-03-31) introduz os códigos de erro abaixo. Versões anteriores da API recebem `verification_failed_other`. Como alternativa, um cabeçalho Beta pode ser adicionado à integração com API, expondo os novos códigos de erro sem alterar a versão da API. Entre em contato com o [suporte da Stripe](https://support.stripe.com/) para obter acesso a esse cabeçalho Beta. | Código de erro | Descrição do erro | | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `verification_legal_entity_structure_mismatch` | O tipo de negócio ou a estrutura parecem estar incorretos. Informe o tipo de negócio e a estrutura corretos para esta conta. | | `verification_failed_representative_authority` | Não foi possível verificar a autoridade do representante da conta. Adicione um autorizador à conta e forneça uma carta de autorização assinada pelo autorizador. Consulte o artigo de suporte [Verificação da autoridade do representante](https://support.stripe.com/questions/representative-authority-verification). | | `verification_failed_authorizer_authority` | Não foi possível verificar a autoridade do autorizador fornecido. Altere o autorizador para uma pessoa que esteja registrada como representante autorizado. Consulte o artigo de suporte [Verificação da autoridade do representante](https://support.stripe.com/questions/representative-authority-verification). | | `verification_rejected_ownership_exemption_reason` | O motivo da isenção de propriedade foi rejeitado. Escolha outro motivo de isenção ou carregue um documento de comprovação de propriedade usufrutuária final. | | `information_missing` | Consulte a mensagem de erro para entender quais dados estavam faltando no documento ou nos dados digitados. Se a mensagem estiver relacionada a empresas controladoras com propriedade significativa, o código de erro também fornece as empresas controladoras ausentes que identificamos. Para obter mais informações, consulte o artigo de suporte [Verificação de proprietários usufrutuários para empresas controladoras](https://support.stripe.com/questions/beneficial-ownership-verification-for-holding-companies). | | `verification_missing_owners` | Proprietários da empresa não fornecidos. Forneça dados de todos os proprietários da empresa ou convide-os a fornecê-los. Os proprietários identificados como ausentes são: [Nome1, Nome2]. | | `verification_missing_directors` | Faltam diretores na conta. Atualize a conta e carregue um documento de registro com os diretores atuais. | | `verification_document_directors_mismatch` | Faltam diretores do documento na conta. Atualize a conta e carregue um documento de cadastro com os diretores atuais. | ## See also - [Connect Onboarding para contas Custom](https://docs.stripe.com/connect/custom/hosted-onboarding.md) - [Soluções de onboarding para contas Custom](https://docs.stripe.com/connect/custom/onboarding.md) - [Atualização de contas](https://docs.stripe.com/connect/updating-service-agreements.md) - [Como processar verificação de identidade com a API](https://docs.stripe.com/connect/handling-api-verification.md) - [Teste de verificação de identidade de contas Custom](https://docs.stripe.com/connect/testing-verification.md)