# Próximas actualizaciones de requisitos Más información sobre los cambios en la información de verificación obligatoria y cómo afecta esto a tu integración con Stripe. Las actualizaciones de requisitos de esta guía hacen referencia a las propiedades de la API Accounts v1. Puedes ver las propiedades correspondientes de la API Accounts v2 en la [información de verificación solicitada](https://docs.stripe.com/connect/required-verification-information.md) seleccionando `v2` en el menú desplegable **API Accounts** y la actualización deseada en el menú desplegable **Actualización de requisitos**. Las normativas sobre pagos ayudan a prevenir delitos como el blanqueo de capitales, el fraude y la evasión fiscal. Los reguladores financieros de todo el mundo aplican los [requisitos de Conocimiento del cliente (KYC)](https://support.stripe.com/questions/know-your-customer) para garantizar que Stripe recopila, verifica y mantiene la información de identidad de determinados tipos de empresas y de las personas que, en última instancia, las poseen, controlan o dirigen. Estos requisitos son actualizados con frecuencia por los reguladores de servicios financieros, las redes de tarjetas y otras instituciones financieras. Esta guía ofrece un resumen de los próximos cambios y destaca los cambios más significativos. Para obtener una lista exhaustiva de requisitos, consulta la [información de verificación obligatoria](https://docs.stripe.com/connect/required-verification-information.md). Si utilizas un flujo basado en API para hacer el onboarding de tus cuentas conectadas, debes actualizar tu integración para gestionar todos los cambios en los requisitos. Obtén más información sobre las [opciones onboarding de Connect](https://docs.stripe.com/connect/onboarding.md) y [la migración de tus flujos de Onboarding y corrección establecidos en API a flujos](https://docs.stripe.com/connect/migrate-from-api-onboarding.md) alojados o integrados en Stripe. #### Programa - Europa *Última actualización el 23 de febrero de 2026* ## Comprensión de los cambios en los requisitos de verificación Para cumplir con las regulaciones de la Autoridad de Conducta Financiera del Reino Unido (FCA) y el Banco Central de Irlanda (CBI), Stripe está actualizando nuestros requisitos de verificación para Conocimiento del cliente (KYC) y los beneficiarios efectivos finales (UBO) y directores. Si tus cuentas conectadas operan en alguno de los países enumerados, es posible que tengas que actualizar tu flujo de activación. Si no realizas las actualizaciones necesarias, se interrumpirá el acceso de tus cuentas conectadas a los pago y servicios financieros. Para obtener más información sobre lo que está cambiando y por qué, consulta el [artículo de soporte Nuevos requisitos de cumplimiento](https://support.stripe.com/questions/europe-verification-requirement-updates-for-connected-accounts). Los próximos cambios afectarán a las cuentas conectadas de los siguientes 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 > #### Actualizaciones en curso > > Stripe continuará actualizando la API para admitir la recopilación de estos requisitos hasta el 1 de abril de 2026. ## Elección de un enfoque de integración Stripe recomienda usar onboarding alojado o integrado en Stripe para recopilar requisitos de verificación de empresas e identidad. Estas opciones requieren menos recursos de implementación y mantenimiento que usar la activación de API. La siguiente tabla describe las principales diferencias: - [Onboarding alojado en Stripe](https://docs.stripe.com/connect/hosted-onboarding.md): (Recomendado) Envía cuentas a un flujo alojado en Stripe para enviar la información requerida. - [Onboarding integrado](https://docs.stripe.com/connect/embedded-onboarding.md): (Recomendado) Integra componentes de onboarding proporcionados por Stripe que permiten a las cuentas enviar información directamente a Stripe desde tu aplicación. - [Activación de API](https://docs.stripe.com/connect/api-onboarding.md): crea y gestiona un flujo de activación personalizado con las API de Stripe. | | **Activación alojada de Stripe** | **Activación integrada** | **Activación de API** | | ---------------------------------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | Opción recomendada para | Plataformas que quieren que Stripe gestione la activación | Plataformas que quieren un flujo de activación dentro de la aplicación con el logotipo de tu marca | Plataformas que necesitan control total y pueden crearlo y mantenerlo | | Iniciativa inicial de implementación | 3 a 4 semanas de ingeniería | 3 a 4 semanas de ingeniería | 30-40 semanas de ingeniería | | Esfuerzo continuo para abordar las actualizaciones de requisitos | Gestionada automáticamente por Stripe | Gestionada automáticamente por Stripe | Requiere una supervisión proactiva para los próximos cambios, además de recursos de ingeniería para actualizar el flujo de activación para cada cambio | | Personalización | Interfaz alojada por Stripe con imágenes de marca de la plataforma | Componente altamente temático al que acceden las cuentas a través de la aplicación de la plataforma | La plataforma diseña, crea y mantiene la interfaz | | Medidas para ser compatible con otros países | Gestionada automáticamente por Stripe | Gestionada automáticamente por Stripe | Requiere recursos de ingeniería para actualizar el flujo de activación de cada país adicional | Obtén más información sobre las [opciones de onboarding de Connect](https://docs.stripe.com/connect/onboarding.md) y la [migración de tus flujos de Onboarding y corrección basados en API a flujos alojados o integrados](https://docs.stripe.com/connect/migrate-from-api-onboarding.md) en Stripe. Los [cambios que realices en tu flujo de activación](https://docs.stripe.com/connect/handle-verification-updates.md#collect-future-requirements) dependen de tu configuración de activación. Además de actualizar tu flujo de activación, actualiza tu documentación interna y externa según sea necesario, y prepara a tus equipos de soporte para responder preguntas sobre las actualizaciones. Si usas el onboarding alojado o integrado en Stripe, no es necesario que actualices tu integración para prepararte para estos nuevos requisitos. Sin embargo, puedes comunicar a tus cuentas conectadas que Stripe podría pedir información de identidad nueva o actualizada cuando cambien los requisitos. ## Resumen de la integración de API Si decides no migrar a la activación alojada o integrada en Stripe, debes abordar las siguientes actualizaciones: - [Verificación de conocimiento del cliente (KYC)](https://docs.stripe.com/connect/upcoming-requirements-updates.md#know-your-customer-\(kyc\)-verification) - [Verificación de la relación entre beneficiario efectivo final (UBO) y director](https://docs.stripe.com/connect/upcoming-requirements-updates.md#ubo-director-verification) - [Requisitos de registro empresas (KvK) en los Países Bajos](https://docs.stripe.com/connect/upcoming-requirements-updates.md#netherlands-business-registration-requirements) - [Nuevos códigos de error](https://docs.stripe.com/connect/upcoming-requirements-updates.md#new-error-codes) ## Actualización de la línea temporal La siguiente línea temporal explica los hitos clave para estos cambios. Asegúrate de actualizar y probar tu integración pronto para evitar cualquier problema cuando entren en vigor los nuevos requisitos. | Fecha | Milestone | Descripción | | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Octubre de 2025 | Inicio de la planificación de integración | Las actualizaciones iniciales de API están disponibles. Revisa esta guía y los cambios para empezar a planificar tus actualizaciones de integración. | | Marzo, 2026 | Revisa las cuentas afectadas y prueba las actualizaciones de tu integración | Stripe proporciona un recuento aproximado de tus cuentas conectadas afectadas. Empieza a probar tu flujo de activación actualizado. | | De marzo a abril de 2026 | Comienza la implementación de `future_requirements` (Onboarding de la API) | Para las plataformas que utilizan el onboarding de la API, Stripe comienza a añadir los nuevos requisitos a `future_requirements` tanto para las cuentas nuevas como para las existentes. | | 1 de abril de 2026 | Comienzan los nuevos requisitos para las plataformas que solo tienen cuentas conectadas con tipo de empresa `individual` | Asegúrate de que tu flujo de onboarding actualizado esté listo para recopilar los nuevos requisitos. Debes tener tu flujo actualizado listo funcionando antes del 1 de abril, cuando Stripe empiece a implementar los nuevos requisitos. Todos los nuevos requisitos entrarán en vigor a finales de abril. | | 1 de mayo de 2026 | Entran en vigor nuevos requisitos para las plataformas que tienen cuentas conectadas con tipo de empresa `company`, incluidas las plataformas que también tienen cuentas conectadas `individual`. | Asegúrate de que tu flujo de onboarding actualizado esté listo para recopilar los nuevos requisitos. Debes tener tu flujo actualizado funcionando para todas las cuentas conectadas antes del 1 de mayo, cuando Stripe empiece a implementar los nuevos requisitos. Todos los nuevos requisitos entrarán en vigor a finales de mayo. | | De junio de 2026 a agosto de 2026 | Actualmente se deben presentar nuevos requisitos para las cuentas existentes | Los nuevos requisitos se aplican a las cuentas conectadas existentes durante este período. Usa tu flujo de Onboarding actualizado para recogerlos según sea necesario. | | Julio – Octubre 2026 | Fechas de vencimiento para nuevos requisitos | Para evitar restricciones, los requisitos actualizados para cada cuenta deben verificarse antes de la fecha de vencimiento de esa cuenta. | ## Verificación de conocimiento del cliente (KYC) Stripe está fortaleciendo nuestro proceso de verificación de identidad, lo que puede requerir que algunas de tus cuentas conectadas proporcionen información adicional. También estamos añadiendo más opciones a la API para verificar la información. Las siguientes entidades deben proporcionar información KYC verificable: - Entidad jurídica (para particulares y entidades unipersonales); - Representante de la cuenta - Los UBO (para cuentas consideradas de alto riesgo por el modelo de riesgo de Stripe) ### Métodos de verificación adicionales Utiliza los siguientes métodos opcionales, además de la información introducida manualmente, para maximizar las tasas de éxito en la verificación: - [Stripe Identity](https://docs.stripe.com/connect/upcoming-requirements-updates.md#stripe-identity): (Recommended) utiliza selfies y capturas de documentos para las cuentas que no superen la verificación automática. - [Verificación del documento nacional de identidad](https://docs.stripe.com/connect/upcoming-requirements-updates.md#national-id-verification): consigue un número de identificación nacional por adelantado para aumentar las tasas de verificación en la primera pasada. - [Cargar documentación adicional](https://support.stripe.com/questions/documents-for-identity-and-home-address-verification): envía documentos justificativos de identidad o dirección para revisarlos manualmente. ### Stripe Identity (Recomendado) Puedes intentar verificar las cuentas conectadas que no pasen su verificación automática utilizando [Stripe Identity](https://stripe.com/identity), que funciona capturando una selfie y un [documento de identidad](https://docs.stripe.com/acceptable-verification-documents.md). La mayoría de [los países europeos](https://docs.stripe.com/identity/use-cases.md) aceptan Stripe Identity, y las tasas de éxito varían según el país. Crea una [sesión de verificación](https://docs.stripe.com/api/identity/verification_sessions.md?api-version=preview) de identidad y utiliza el 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 los requisitos de `document` y la `proof_of_liveness` de la persona. Puedes comprobar los resultados usando la API o el Dashboard. ### Verificación de identidad nacional En los [países afectados por esta actualización](https://docs.stripe.com/connect/upcoming-requirements-updates.md#affected-countries), puedes mejorar la verificación de un representante de la cuenta conectada proporcionando su número de identificación nacional además de su nombre, fecha de nacimiento, dirección y nacionalidad. Actualmente, la verificación solo admite los siguientes números de identificación nacional. | País | Tipo de documento nacional de identidad | | --------- | ------------------------------------------- | | Dinamarca | Registro central de personas (CPR) | | Italia | Codice Fiscale (código fiscal) | | Polonia | Número PESEL | | España | Documento Nacional de Identidad (DNI) | | Suecia | Personnummer (número de identidad personal) | Los países no afectados por esta actualización, como EE. UU., no dan soporte a la verificación del número nacional de identidad. Por ejemplo, puedes proporcionar el número de identidad de un ciudadano español que actúe como representante de una cuenta conectada en Austria, pero no puedes proporcionar el número de identidad de un ciudadano español que actúe como representante de una cuenta conectada en EE. UU. > #### Disponibilidad de documento nacional de identidad > > Puedes empezar a recoger los números de identificación nacionales para tus cuentas conectadas cuando los requisitos actualizados se conviertan en requisitos futuros. Mientras tanto, la integración está disponible para tus cuentas del entorno de pruebas como función de la versión beta. ### Implementa la verificación del documento nacional de identidad con la API El siguiente ejemplo muestra la activación de una nueva cuenta conectada con los requisitos actualizados. > Las diferencias a continuación solo afectan a la API Accounts v1, no a la v2. #### Paso 1: crea una cuenta conectada para hacer pruebas (Public versión beta) Después de que cambien los requisitos futuros, crea cuentas conectadas como de costumbre. Hasta entonces, crea nuevas cuentas conectadas en un [entorno de prueba](https://docs.stripe.com/sandboxes.md) para habilitar el nuevo comportamiento KYC. Activa este comportamiento cambiando dos partes de la llamada de creación de tu cuenta 1. Adición del encabezado `experimental_onboarding_preview=v2`. 1. Envío de `capabilities[card_payments][preview]=true`. Después de crear la cuenta, veras la opción `nacionalidad del representante`. Esto indica que puedes crear un perfil de representante de la cuenta y proporcionar su nacionalidad. ```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", ... ] } ... } ``` #### Paso 2: Creación de un representante de la cuenta Después de crear la cuenta conectada, crea un representante de la cuenta. ```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", ... } ``` #### Paso 3: Envío de la nacionalidad Después de crear un representante de la cuenta, la `nationality` aparece en `past_due`. Recoge este campo para que Stripe pueda determinar si el representante cumple los requisitos de la recopilación `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" ] } ... } ``` Después de recoger la información sobre la nacionalidad, si la persona se encuentra en un país que cumple los requisitos para ello, verás su número de ID como requisito alternativo en la matriz `de alternativas`. Cada entrada de la matriz `de alternativas` representa una ruta de resolución alternativa para un requisito estándar. Puedes cumplir un requisito alternativo en lugar del requisito original, pero no tienes que cumplir ambos. En este ejemplo, `alternativas` contiene un `id_number` como alternativa al requisito `dob.year`. Esto significa que puedes proporcionar el número de identificación nacional de la persona en lugar de su año de nacimiento. Si proporcionas su año de nacimiento, no tienes que proporcionar su número de identificación. ```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" ] } ] } } ``` #### Paso 4: Recopilación de los campos restantes del representante de la cuenta Recopilación de atributos de persona adicionales, incluyendo un número de identificación nacional, para iniciar la verificación KYC programá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... ``` #### Paso 5: Los campos introducidos pasan a estar pendientes de verificación Después de proporcionar los datos introducidos, los campos aparecen en `pending_verification` de una nueva manera: - Los campos introducidos en `pending_verification` en lugar de `verification.document` y `verification.additional_document`. Esto indica que se están verificando los campos introducidos. - El requisito `id_number` puede pasar a `pending_verification` si se proporciona, incluso si aparece solo en `alternative_fields_due` y nunca en `past_due` o `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" ] } } ``` #### Paso 6: Gestión de los errores de verificación En muchos casos, después de que los campos entran en `pending_verification`, el representante pasa el KYC y el proceso se completa. Si la verificación falla, Stripe devuelve información adicional para ayudarte a guiar los siguientes pasos. Hay dos cambios importantes. **Múltiples alternativas** En el hash de requisitos verás varias alternativas. Cada una de ellas representa un camino a seguir para tus usuarios. Por ejemplo, si el nombre y la fecha de nacimiento coinciden, pero el nombre y la dirección no, tu cuenta conectada tiene varias formas de resolver el problema: 1. Pueden comprobar la información que han introducido en los campos de nombre y dirección y volver a introducirla para corregir cualquier error. 1. Pueden comprobar la información que han introducido en dob, name, address e id_number y volver a introducir la información correcta. 1. Pueden cargar un documento que coincida con su nombre y dirección 1. Pueden completar Stripe Identity Estas cuatro rutas aparecen como campos `past_due` y `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" ] } ] } } ``` **Errores en los campos introducidos** Anteriormente, si se producía un error de verificación al procesar los campos introducidos, los campos del documento pasaban a `past_due` y aparecían errores en ellos. En el futuro, los campos introducidos vuelven a `past_due`. Campos como `id_number` permanecen en `alternative_fields_due`. Por ejemplo, si el nombre, la fecha de nacimiento y la dirección son originalmente `past_due`, y después de enviar el nombre y la fecha de nacimiento coinciden mientras que el nombre y la dirección no coinciden, entonces el nombre y la dirección vuelven a `past_due` mientras se elimina la fecha de nacimiento. En esta situación, aparecen errores en los campos `past_due` y `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" } ] } } ``` ### Cuentas de alto riesgo El modelo de riesgo de Stripe requiere verificación KYC solo para las UBO, solo para cuentas clasificadas como de alto riesgo. Para las pruebas, añade`_high_risk` al nombre de la empresa para imponer una calificación de alto riesgo. Esto te permite probar todo el flujo de verificación KYC para los propietarios, incluyendo los requisitos y errores que tu integración debe gestionar. Este ejemplo muestra cómo crear una cuenta de pruebas de alto riesgo y añadir propietarios: ```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" ``` Después de que Stripe realice la verificación KYC del propietario, los requisitos de la cuenta reflejan el resultado. Cuando el nombre del propietario coincide pero su dirección no (activado por el uso de la`address_no_match` de la dirección de prueba), los requisitos incluyen la `verification_failed_keyed_identity` de errores en los campos del propietario: ```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 estos requisitos, se puede volver a enviar la información de identidad del propietario o cumplir uno de los requisitos alternativos (subir un`additional_document` o `proof_of_liveness` completa). ## Verificación de la relación entre los UBO y los directores Stripe está mejorando nuestro proceso de verificación para los beneficiarios finales (UBO, por sus siglas en inglés) y los directores. La normativa europea exige verificar la relación de los UBO y los directores con la entidad jurídica: - **UBO:** un particular que posee o controla (directa o indirectamente) más del 25 % de una entidad jurídica (por ejemplo, empresas, corporaciones, LLC y sociedades colectivas). - **Director:** un miembro del consejo de administración de la empresa o cualquier otro alto cargo responsable de la gestión de la empresa. (Por ejemplo, CEO, COO, presidente, director general, director ejecutivo, etc.) La siguiente tabla muestra las relaciones que deben verificarse para cada tipo de entidad jurídica: | Tipo de entidad jurídica | Relaciones por verificar | Nota | | -------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Empresa, sociedad anónima, LLC, sociedad colectiva | Los UBO si existen; de lo contrario, los directores | Solo en Reino Unido: tanto los UBO como los directores | | Organización sin fines de lucro | Directores | La mayoría de las organizaciones sin ánimo de lucro no tienen UBO | | Particular o empresario individual | N/D | N/D | | Ente público o agencia | N/D | Para estar exentos de proporcionar información sobre los UBO, los entes públicos deben seguir el proceso descrito en [este artículo de soporte](https://support.stripe.com/questions/business-verification-requirements-for-government-entities). | | Empresas que cotiza en bolsa | N/D | Para estar exentas de proporcionar información sobre los UBO, las empresas que cotizan en bolsa deben seguir el proceso descrito en [este artículo de soporte](https://support.stripe.com/questions/business-verification-requirements-for-publicly-traded-companies). | ### Verifica la información del UBO y del director Los UBO y directores deben proporcionar la siguiente información: - Nombre completo - Fecha de nacimiento - Dirección - Correo electrónico - Cargo (solo directores) Stripe intenta verificar la relación de la persona comparando las siguientes propiedades clave de la persona y de la entidad jurídica: | Entidad | Propiedades clave | | ---------------- | ---------------------------------------------------------------------------- | | Persona | - Nombre - Apellido - (Si se proporciona) Número de ID | | Persona jurídica | - Nombre - Dirección - ID fiscal - ID de IVA - Número de inscripción | Una verificación correcta puede requerir que solo coincida un subconjunto de las propiedades. Stripe intenta verificar las relaciones de las siguientes maneras: | Método | Descripción | Requisitos de muestra | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Proveedor externo | Si hay un proveedor externo disponible, Stripe intenta verificar automáticamente todas las relaciones de la cuenta. | - `owners.first_name` - `owners.last_name` - `company.tax_id` | | Documento oficial | Puedes proporcionar un documento «Prueba de UBO» para los propietarios y un documento «Prueba de registro» para los directores. Los [documentos aceptados](https://docs.stripe.com/acceptable-verification-documents.md) varían según el 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` | | Certificación digital | Puedes usar las siguientes plantillas en PDF para proporcionar certificaciones digitales de tus relaciones: - [Plantilla de certificación digital de UBO](https://docs.stripecdn.com/6e82842bfc01bd0b1c46d77f7d46b69673a9ca965ed2ad9ef53139f98abdbbaf.pdf) - [Plantilla de certificación digital del director](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` | ### Identifica los requisitos de verificación de relaciones utilizando la API Cuando recuperas los requisitos de una `cuenta`, las opciones de verificación originales y alternativas representan combinaciones de la información clave y los métodos de verificación disponibles. En la mayoría de los casos, hay al menos tres opciones para verificar a los propietarios o directores. El siguiente código muestra un ejemplo de una cuenta conectada con requisitos del propietario. Las opciones concretas y el orden en que aparecen pueden variar entre cuentas. ```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" ], } ] } } ``` ### Verifica directores en vez de propietarios Si una cuenta conectada es elegible para proporcionar directores en vez de propietarios, incluye opciones alternativas para verificar a los directores. Si verificas a los directores, aún necesitas certificar que no proporcionaste ningún UBO. El siguiente ejemplo muestra una cuenta conectada que cumple los requisitos para verificar a los directores en vez de a los propietarios: ```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" ], } ] } } ``` Si proporcionas información sobre los directores y certificas que no hay beneficiarios efectivos finales, las opciones de requisitos principales siguen reflejando los requisitos sobre propietarios. Puedes proporcionar información sobre los propietarios cuando esté disponible. El siguiente ejemplo muestra una cuenta conectada sin certificación de 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" ], } ] } } ``` ### Gestión de errores Los errores en los requisitos de propietarios y directores pueden incluir los siguientes valores de `código`, además de los [errores comunes de discrepancia entre documentación y detalles](https://docs.stripe.com/error-codes.md). | Código | Descripción | | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | `verification_missing_owners` | A la `cuenta` le falta información sobre los titulares identificados por un proveedor externo o que aparecen en un documento o certificación digital. | | `verification_missing_directors` | A la `cuenta` le falta información sobre los directores identificados por un proveedor externo o que aparecen en un documento o certificación digital. | | `verification_data_not_found` (Private preview) | Un proveedor externo no pudo encontrar información sobre la empresa. | A veces, estos errores se pueden resolver actualizando los datos de la empresa. Sin embargo, en la mayoría de los casos, es necesario dirigir la cuenta conectada a la ruta de carga de documentos o a la ruta de certificación digital. Cuando Stripe identifica propietarios o directores que faltan, en algunos casos una API de vista previa privada puede proporcionar datos sobre ellos. La cuenta conectada puede utilizar esos datos para crear las `Persons` que faltan. ### Implementa la certificación digital para la verificación de UBO y director usando la API > #### Disponibilidad > > La API Accounts v2 aún no tiene es compatible con la certificación digital. El siguiente ejemplo muestra cómo realizar la certificación digital para la verificación del UBO o director. 1. Recupera la cuenta para identificar qué documentos de certificación son obligatorios. ```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": [] } } ``` La opción de requisitos de certificación digital puede aparecer como opción principal o como alternativa a otra opción. Las opciones concretas y el orden en que aparecen pueden variar entre cuentas. 1. Genera un PDF usando la plantilla y pide a una persona autorizada que lo firme digitalmente. 1. Carga del documento de certificación firmado con la 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. Envía el documento con el ID de la `Person` que representa al firmante. ```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 validación del firmante Quién puede firmar las certificaciones - Representantes de la cuenta - Propietarios de empresas (más del 25 % de propiedad) - Directores y funcionarios - Otros miembros autorizados de la cuenta Importante: el firmante debe ser una persona existente asociada a la cuenta. Solo las personas con relación documentada con la entidad jurídica pueden firmar documentos de certificación. ### Manejo de errores La certificación digital introduce escenarios de error específicos que debes gestionar: #### Firmante no válido Se produce cuando el firmante no está asociado a la cuenta o carece de autoridad. ```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." }] } } ``` #### Ha fallado el documento Se produce cuando el documento cargado es ilegible o incorrecto. ```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." }] } } ``` #### El firmante no ha enviado archivos Errores API al enviar firmante sin archivos ```shell { "error": { "code": "invalid_signator", "message": "signer.person can only be provided when a file is also provided", "type": "invalid_request_error" } } ``` ### Próximos pasos 1. Actualiza tu integración para recoger un firmante cuando uses documentos de certificación. 1. Implementación de la gestión de errores para nuevos códigos de error específicos de la certificación. 1. Forma a tu equipo de soporte sobre los nuevos requisitos de certificación. #### Rellena automáticamente la información del UBO y del director (Vista previa privada) Si lo deseas, también puedes integrarte con una API que detecta y rellena mediante programación los UBO o directores asociados a una entidad jurídica. La cuenta conectada puede verificar la relación confirmando la información detectada en lugar de mediante la carga de documentos o la certificación digital. Esta vía puede aumentar las tasas de verificación y reducir las fricciones, pero no funciona para todas las cuentas. Aún es necesario gestionar la carga de documentos o las certificaciones digitales para aquellas cuentas en las que Stripe no puede rellenar previamente sus relaciones. Si te interesa rellenar automáticamente la verificación de UBO o directores, regístrate a continuación. ## Requisitos de registro empresas (KvK) en los Países Bajos **A partir del 14 de mayo de 2026** A principios de 2026, se exigió a las plataformas que recabaran el número KvK (Kamer van Koophandel), un número de registro mercantil único de 8 dígitos, de las cuentas conectadas en los Países Bajos (NL). Como parte de este cambio, el tipo de empresa `particular` quedó restringida con un error `unsupported_business_type`, y las entidades no constituidas como sociedad debían proporcionar un número KvK a través de `company.tax_id`. A partir del 14 de mayo de 2026, las cuentas conectadas que representen a particulares o entidades sin personalidad jurídica y que no tengan acceso a un Dashboard alojado en Stripe ya no estarán obligadas a facilitar un número KvK. Las cuentas conectadas que representen a particulares o entidades sin personalidad jurídica y que tengan acceso al panel de control completo de Stripe o al Dashboard de Express deben seguir facilitando un número KvK. ### ¿Qué va a cambiar? - `business_type: "individual"` ya es compatible con las cuentas conectadas de los Países Bajos que no tienen acceso a un Dashboard alojado por Stripe. El error `unsupported_business_type` ya no aparece en estas cuentas. - Los tipos de empresa `unincorporated_partnership` y `unincorporated_non_profit` ya no requieren que `company.tax_id` contenga el número KvK para las cuentas conectadas que no tienen acceso a un Dashboard alojado por Stripe. ### ¿Qué tienes que hacer? No es necesario realizar ninguna acción. No tienes que hacer ningún cambio en tu integración. Para las cuentas conectadas existentes afectadas por este cambio: - Stripe elimina automáticamente el error `unsupported_business_type` de `requirements.errors` para las cuentas de particulares. - Las restricciones de funcionalidad (como `card_payments` o `transfers`) asociadas a este error se eliminan automáticamente. - Las cuentas que representan a particulares o entidades sin personalidad jurídica y que fueron restringidas por carecer de KvK también se desbloquean automáticamente. ## Nuevos códigos de error ### Códigos de error de verificación (Versión beta privada) El nuevo código de error `verification_data_not_found` puede aparecer en la matriz `requirements.errors` del objeto `Account`. Este error indica que Stripe no ha podido recuperar información (como datos sobre el propietario beneficiario último o sobre directores/ejecutivos) de proveedores de verificación externos utilizando los datos de la entidad jurídica conocidos de la cuenta conectada. Esto puede ocurrir por varias razones, pero a menudo se debe a que la cuenta ha introducido la información de forma incorrecta. Este error de «datos no encontrados» es distinto de los códigos de error de verificación existentes: - **`verification_missing_owners`**: indica que faltan propietarios conocidos en la cuenta. - **`verification_failed_keyed_match`**: indica una falta de coincidencia entre la información enviada y las fuentes de verificación. ```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 solucionar este error, solicita a la cuenta conectada que revise y corrija la información de su entidad jurídica (nombre de la empresa, número de registro, dirección). Si actualizan su información, Stripe intentará verificarla de nuevo automáticamente. Si la información de la cuenta es correcta, o si Stripe sigue sin poder verificar la información actualizada, utiliza un método de verificación manual, como la carga de documentos o la certificación digital. ## Pruebas Puedes crear cuentas de prueba para utilizarlas durante el desarrollo y las pruebas de tu integración. Las cuentas de prueba pueden simular diferentes resultados de verificación, lo que te permite ver cómo la API devuelve los requisitos y los errores para cada caso. Los siguientes ejemplos te ayudarán a prepararte para los próximos cambios en los requisitos de la UE. Para obtener más información sobre las pruebas de Connect en general, consulta [Pruebas de Stripe Connect](https://docs.stripe.com/connect/testing.md). ### Crea una cuenta de prueba Crea una `cuenta` de prueba enviando una solicitud POST a la API de cuentas utilizando tu clave secreta de [entorno de pruebas](https://docs.stripe.com/keys.md). Para acceder a los nuevos requisitos antes de que se publiquen en las cuentas que no están en modo de prueba, configura un encabezado que habilite una versión preliminar de la API, habilita la función experimental de vista previa de onboarding y habilita la versión preliminar al solicitar una capacidad. Por ejemplo: ```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' ``` Los ejemplos siguientes muestran cómo simular diferentes situaciones utilizando valores que desencadenan respuestas específicas para cuentas de prueba. ### Probar una cuenta perteneciente a una persona física Este ejemplo crea una cuenta que no requiere verificación de relación porque el tipo de entidad comercial es `individual`. Crea una cuenta de prueba siguiendo[ las instrucciones anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account),y, a continuación, configura los datos básicos de la empresa: ```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" ``` La respuesta incluye los requisitos básicos para una persona. Puedes cumplir estos requisitos creando un 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" ``` Al especificar la fecha de nacimiento 1901-01-01, se activa la verificación de identidad correcta en un entorno de prueba. Para otros desencadenantes de resultados, consulta [Fechas de nacimiento de prueba](https://docs.stripe.com/connect/testing.md#test-dobs)… Del mismo modo, al establecer la primera línea de la dirección con la cadena `address_full_match`, se activa la verificación correcta de la dirección. Para otros desencadenantes de resultados, consulta [Direcciones comerciales de prueba](https://docs.stripe.com/connect/testing.md#test-validation-addresses). La respuesta muestra que los requisitos del individuo han quedado pendientes. Si esperas unos momentos y recuperas la `cuenta`, podrás ver que esos requisitos se han eliminado: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123 ``` Los únicos requisitos que quedan son los relativos a la cuenta bancaria (`external_account` y las condiciones del servicio (TOS). Para cumplir los requisitos de las condiciones del servicio, configura el `hash tos_acceptance` de la `cuenta`: ```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 cumplir con los requisitos de la cuenta bancaria, crea una cuenta bancaria de prueba para la `Cuenta.`. Especifica [un número de cuenta bancaria de prueba según tu 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" ``` ### Probar una cuenta perteneciente a una empresa Este ejemplo crea una cuenta que está sujeta a requisitos de verificación de relaciones porque el tipo de entidad comercial es `empresa` > El Reino Unido exige la verificación tanto de los beneficiarios efectivos (UBO) como de los directores. Si vas a tener cuentas conectadas en el Reino Unido, asegúrate de realizar la prueba con cuentas que tengan el país configurado como `GB`. Crea una cuenta de prueba siguiendo[ las instrucciones anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account),y, a continuación, configura los datos básicos de la 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" ``` Si especificas el número de ID fiscal `000000000`, se activará correctamente la verificación de la empresa. Para obtener otros resultados, consulta [Probar ID fiscales](https://docs.stripe.com/connect/testing.md#test-business-tax-ids) de la empresa. A continuación, proporciona un 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" ``` Una vez completado el proceso de verificación del representante, puedes ver los requisitos restantes con una solicitud GET: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: ``` Los requisitos de la matriz r`requirements.currently_due` enumeran los detalles que necesitamos sobre los propietarios de la `cuenta`. La matriz `requirements.alternatives` puede incluir información opcional que puedes proporcionar para cumplir determinados requisitos. Por ejemplo: ```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" ] } ``` Puedes proporcionar los campos enumerados en `alternative_fields_due` como otra forma de cumplir los requisitos en la lista `original_fields_due` correspondiente. En este ejemplo, `alternative_fields_due` incluye las propiedades de `original_fields_due`, además de `documents.proof_of_ultimate_beneficial_ownership.files`. Esto significa que la información original es obligatoria, pero también tienes la opción de proporcionar un documento que demuestre la propiedad efectiva final para ayudar a procesar la verificación. Para cumplir los requisitos de propietario, crea dos personas y márcalas como propietarios. Los nombres de este ejemplo son valores codificados para cuentas de prueba que usan el número de 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" ``` Indica que has creado todos los propietarios de la `cuenta` estableciendo `empresa.owners_provided` como verdadero: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[owners_provided]=true" ``` Al completar esta solicitud, se eliminarán todos los requisitos del propietario de la `cuenta`. ### Prueba de respaldo para la verificación de documentos Los requisitos de propietario de una `cuenta` permanecen en `currenty_due` (o en `pending_verification`, si la verificación está en curso) hasta que se completa correctamente. Cuando la verificación falla, una de tus opciones es cargar un documento. Este ejemplo muestra cómo hacerlo utilizando la API. Crea una cuenta de prueba siguiendo [las instrucciones anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account) y, a continuación, establece los datos básicos de la empresa. Establece el número de ID fiscal en `222221001`, lo que provoca un error en la verificación del propietario. Para otros desencadenantes de resultados, véase [ ID fiscales de prueba para negocios](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" ``` A continuación, indica un 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" ``` Luego, crea un propietario: ```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" ``` Indica que has terminado de crear propietarios estableciendo `empresa.owners_provided` como verdadero: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[owners_provided]=true" ``` Si examinas la `cuenta`, puedes ver que los requisitos de propietario se mantienen y que la matriz `requirements.errors` contiene una entrada con un `requisito` de `propietarios` y un `código` de `verification_failed_other`. Eso significa que Stripe no ha podido verificar a los propietarios utilizando la información proporcionada por la empresa. > Si estás usando la versión beta privada de la API, el código de error es [verification_data_not_found](https://docs.stripe.com/changelog/clover/2025-10-29/accounts-verification-data-error.md) en lugar de `verification_failed_other`. Si recibes este error para una `cuenta`, real, comprueba que has introducido los datos de la entidad jurídica correcta. En este ejemplo se supone que los datos son correctos y que debes proporcionar un documento para verificarlos. En el caso de una `cuenta` real, [utiliza la API Files para cargar un documento](https://docs.stripe.com/file-upload.md) y, a continuación, actualiza la `cuenta` utilizando el token devuelto en la respuesta. Para este ejemplo, utiliza el token de prueba `file_relationship_document_success`. Para otros desencadenantes de resultados, véase[ Tokens de relación de documento de prueba](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 ``` Unos momentos después de actualizar la `cuenta`, podrás obtener los requisitos actuales y ver que los requisitos del propietario se han eliminado. ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: ``` ### Prueba una empresa sin propietarios aplicables Si una empresa no tiene propietarios con más del 25 % de participación, Stripe requiere la información de los directores. Este ejemplo muestra cómo proporcionar la información de los directores. Crea una cuenta de prueba siguiendo [las instrucciones anteriores](https://docs.stripe.com/connect/upcoming-requirements-updates.md#create-a-test-account) y, a continuación, configura los datos básicos de la empresa. Establece el número de ID fiscal en `000000000`, lo que activa el éxito de la verificación 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" ``` A continuación, indica un 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 la empresa no tiene propietarios relevantes, establece `empresa.owners_provided` como verdadero sin crear ningún propietario. Para reutilizar una `cuenta` de prueba existente que tenga propietarios, puedes eliminar todos los propietarios existentes. ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[owners_provided]=true" ``` La matriz `requirements.alternatives` contiene un conjunto de propiedades de director como alternativa a las propiedades de propietario. El proceso para crear un director es muy similar al proceso para crear un propietario: ```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" ``` Indica que has terminado de crear directores estableciendo `empresa.directors_provided` como verdadero: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[directors_provided]=true" ``` Para simular una verificación correcta de la relación, establece `empresa.name` en la cadena `match_name_relationships`: ```shell curl https://api.stripe.com/v1/accounts/acct_test_123 \ -u sk_test_123: \ -d "company[name]=match_name_relationships" ``` ### Otros casos de prueba Las siguientes pruebas también son útiles: - Una entidad del tipo `sin ánimo_de lucro`, que requiere la verificación del director (la verificación del beneficiario efectivo real no es una opción). - Cumplimiento de los requisitos de verificación del director con un documento. - Empresas del Reino Unido que requieren tanto la verificación del beneficiario efectivo final (UBO) como la verificación de los directores. #### Programa - Brasil *Última actualización el 27 de abril de 2026* ## Comprensión de los cambios en los requisitos de verificación Para cumplir con la normativa del Banco Central de Brasil (BCB) establecida en la Circular BCB 3978/20, Stripe está actualizando sus requisitos de verificación en materia de Conocimiento del cliente (KYC), Conocimiento de la empresa (KYB) y beneficiario efectivo final (UBO). Si tus cuentas conectadas operan en Brasil, es posible que tengas que actualizar tus flujos de onboarding y corrección. Si no realizas las actualizaciones necesarias, se interrumpirá el acceso de tus cuentas conectadas a los pagos y los servicios financieros. ## Elección de un enfoque de integración Stripe recomienda usar onboarding alojado o integrado en Stripe para recopilar requisitos de verificación de empresas e identidad. Estas opciones requieren menos recursos de implementación y mantenimiento que usar la activación de API. La siguiente tabla describe las principales diferencias: - [Onboarding alojado en Stripe](https://docs.stripe.com/connect/hosted-onboarding.md): (Recomendado) Envía cuentas a un flujo alojado en Stripe para enviar la información requerida. - [Onboarding integrado](https://docs.stripe.com/connect/embedded-onboarding.md): (Recomendado) Integra componentes de onboarding proporcionados por Stripe que permiten a las cuentas enviar información directamente a Stripe desde tu aplicación. - [Activación de API](https://docs.stripe.com/connect/api-onboarding.md): crea y gestiona un flujo de activación personalizado con las API de Stripe. | | **Activación alojada de Stripe** | **Activación integrada** | **Activación de API** | | ---------------------------------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | Opción recomendada para | Plataformas que quieren que Stripe gestione la activación | Plataformas que quieren un flujo de activación dentro de la aplicación con el logotipo de tu marca | Plataformas que necesitan control total y pueden crearlo y mantenerlo | | Iniciativa inicial de implementación | 3 a 4 semanas de ingeniería | 3 a 4 semanas de ingeniería | 30-40 semanas de ingeniería | | Esfuerzo continuo para abordar las actualizaciones de requisitos | Gestionada automáticamente por Stripe | Gestionada automáticamente por Stripe | Requiere una supervisión proactiva para los próximos cambios, además de recursos de ingeniería para actualizar el flujo de activación para cada cambio | | Personalización | Interfaz alojada por Stripe con imágenes de marca de la plataforma | Componente altamente temático al que acceden las cuentas a través de la aplicación de la plataforma | La plataforma diseña, crea y mantiene la interfaz | | Medidas para ser compatible con otros países | Gestionada automáticamente por Stripe | Gestionada automáticamente por Stripe | Requiere recursos de ingeniería para actualizar el flujo de activación de cada país adicional | Obtén más información sobre las [opciones de onboarding de Connect](https://docs.stripe.com/connect/onboarding.md) y la [migración de tus flujos de Onboarding y corrección basados en API a flujos alojados o integrados](https://docs.stripe.com/connect/migrate-from-api-onboarding.md) en Stripe. Las plataformas que utilizan el onboarding alojado o integrado de Stripe no necesitan modificar sus integraciones para adaptarse a estas actualizaciones de los requisitos, ya que Stripe se encarga de ello automáticamente. Las plataformas que utilizan el onboarding basado en API deben realizar un seguimiento activo de los cambios en los requisitos y destinar recursos de ingeniería a cada actualización. ## Resumen de la integración de API Si tu plataforma utiliza un onboarding basado en API, debes actualizar tu integración para que se adapte a los siguientes cambios en las cuentas conectadas de Brasil: - **KYC: Verificación de la identidad de las personas físicas**: recopilar el CPF, la fecha de nacimiento, la dirección y una prueba de que la persona está viva para todas las cuentas de particulares y los representantes de empresas - **KYB: Verificación de la identidad jurídica**: recopilar el CNPJ, el nombre de la empresa y el domicilio social de las personas jurídicas; gestionar la verificación programática y los flujos alternativos de verificación documental - **Estatus del registro del ID fiscal**: gestionar el estado del registro en caso de que el CPF o el CNPJ estén inactivos o no sean válidos - **Verificación del titular último y de las relaciones**: verificar que los administradores o propietarios de la empresa figuren legalmente como tales - **Capacidad financiera**: se deben registrar los beneficios mensuales o los ingresos brutos de todas las cuentas brasileñas antes de que se puedan activar las funciones - **Nuevos códigos de error**: gestionar los nuevos códigos de error de verificación que aparecen en la matriz `requirements.errors` ## KYC: Verificación de identidad de particulares Stripe está reforzando la verificación de identidad para las cuentas de particulares en Brasil con el fin de cumplir los requisitos del Banco Central de Brasil (BCB). Las cuentas conectadas que pertenezcan a particulares y a representantes de cuentas de personas jurídicas deben ser verificadas; es posible que deban proporcionar información adicional como parte del onboarding. Las siguientes personas deben proporcionar información KYC verificable: - **Representante de la empresa**: el particular que firma las Condiciones de servicio y es legalmente responsable de la cuenta. - **Propietarios**: los propietarios de las entidades jurídicas (cuando corresponda). Stripe utiliza una combinación de datos introducidos manualmente y revisión de documentos para verificar la identidad de cada persona. Además, la normativa brasileña exige una comprobación de vitalidad (`proof_of_liveness`) para confirmar que la persona que presenta los documentos de identidad se encuentra físicamente presente. Los flujos de onboarding alojados e integrados de Stripe gestionan este paso automáticamente. Si tu plataforma utiliza un onboarding basado en API, debes redirigir a los usuarios a un paso de verificación alojado por Stripe o integrar el componente incrustado `` para completar la recopilación de datos de verificación de vida. Consulta [Gestionar los requisitos de verificación de vida](https://docs.stripe.com/connect/api-onboarding.md?accounts-namespace=v1&liveness=hosted#proof-of-liveness) para obtener más detalles. **Requisitos de edad:** los representantes de la empresa deben tener 18 años o más. Los propietarios, directores y responsables deben tener 16 años o más. A los nuevos usuarios que no cumplan estos requisitos no se les habilitarán las funciones. Se realizará el offboarding de las cuentas existentes con un representante de la empresa menor de 16 años de forma inmediata cuando se migre su plataforma. ### Campos obligatorios Las cuentas de particulares brasileñas ahora requieren los siguientes campos: | Campo | Descripción | | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | | `person.first_name`, `person.last_name` | Nombre legal completo | | `person.id_number` | CPF (ID fiscal del contribuyente brasileño particular) | | `person.address.line1`, `.city`, `.postal_code`, `.country` | Dirección residencial en Brasil. Todos los representantes de la empresa deben ser residentes en Brasil y facilitar una dirección en Brasil. | | `person.dob.day`, `.month`, `.year` | Fecha de nacimiento | | `person.verification.proof_of_liveness` | Selfie de prueba de vida: solo compatible con los flujos alojados en Stripe o integrados | | `person.verification.additional_document` | Requisito de documento opcional cuando falla la verificación de dirección introducida manualmente. | No es necesario indicar ningún nombre de campo si tu plataforma ya recopila el `person.id_number`. Asegúrate de que tu interfaz de usuario recopile específicamente el CPF; no aceptamos otros tipos de identificación (números de pasaporte, números de identificación fiscal extranjeros) para las cuentas brasileñas. ### Respuesta de requisitos inicial Cuando se crea una nueva cuenta particular, el hash de `requisitos` 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": [] } ``` ### Recopilación de datos personales Utiliza la API Persons para enviar campos particulares: ```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" ``` ### Manejo de errores | Código de error | Activar | Corrección | | ------------------------------------------ | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `verification_failed_id_number_inactive` | CPF encontrado, pero el estatus es inactivo (por ejemplo, suspendido, cancelado, fallecido). | El usuario debe regularizar su estatus con respecto al CPF ante la Agencia Tributaria Federal de Brasil (Receita Federal). Las cuentas cuyo CPF figure como cancelado, nulo o correspondiente a una persona fallecida serán eliminadas del sistema; no es posible regularizar esta situación mediante la carga de documentos. | | `verification_failed_keyed_match` | Tanto la consulta programática como la revisión manual no lograron verificar el CPF. | El usuario vuelve a enviar el CPF y el documento de identidad; la cuenta entra en la cola MVR. | | `verification_document_type_not_supported` | El documento subido no es del tipo adecuado, procede de un país incorrecto o es ilegible. | El usuario vuelve a cargar un documento de identidad expedido por el gobierno de Brasil aceptable. | ## Verificación de entidad jurídica para KYB Stripe está actualizando los requisitos de verificación de empresas para las personas jurídicas en Brasil con el fin de cumplir con la normativa de prevención del blanqueo de capitales del Banco Central de Brasil (BCB). Este tipo de verificación se enmarca en la categoría general de requisitos de Conocimiento de la empresa (KYB). Si entre tus cuentas conectadas hay empresas constituidas en Brasil, es posible que deban proporcionar información adicional durante el onboarding. Stripe verifica las personas jurídicas mediante el CNPJ (Cadastro Nacional da Pessoa Jurídica), el número de registro nacional de empresas de Brasil, junto con el nombre de la empresa y el domicilio social. En primer lugar, Stripe intenta realizar una verificación automática cotejando los datos con el registro del CNPJ del Gobierno brasileño. Si la información introducida no coincide, el titular de la cuenta puede cumplir con este requisito subiendo un documento de verificación de la empresa (como un certificado del CNPJ expedido por la Receita Federal). Además de la verificación de identidad, la normativa brasileña de prevención del blanqueo de capitales exige a Stripe que evalúe la capacidad financiera de una cuenta conectada antes de habilitar los cobros y los pagos. Todas las cuentas brasileñas deben facilitar sus ingresos mensuales estimados antes de que se activen las funciones. Esta información se utiliza únicamente con fines de supervisión reglamentaria, y no la verificamos de forma independiente durante el onboarding. ### Campos obligatorios Los siguientes campos son obligatorios para las cuentas de entidades jurídicas brasileñas: | Campo | Descripción | | ----------------------------------------------------- | ------------------------------------------------------------------------- | | `company.tax_id` | CNPJ (número de registro de empresa de Brasil de 14 dígitos). | | `company.name` | Nombre legal de la empresa: debe coincidir con el registro CNPJ. | | `company.address.line1`, `.city`, `.postal_code` | Dirección registrada de la empresa en Brasil. | | `company.verification.document` | Opcional al principio; obligatorio si falla la verificación programática. | | `business_profile.monthly_estimated_revenue.amount` | Ingresos brutos mensuales en BRL. | | `business_profile.monthly_estimated_revenue.currency` | Debe ser en `brl`. | ### Respuesta de requisitos inicial ```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": [] } ``` La matriz `alternatives` indica que, si falla la verificación programática del CNPJ, la plataforma puede resolverlo proporcionando además un `company.verification.document`. ### Recopilación de datos de la 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" ``` Tras enviar el ID fiscal, el nombre y la dirección de la empresa, los requisitos pasan a `pending_verification` mientras Stripe comprueba los datos en el registro del CNPJ: ```json { "currently_due": [], "pending_verification": [ "company.tax_id", "company.name", "company.address.line1", "company.address.city", "company.address.postal_code" ], "alternatives": [], "errors": [] } ``` Espera a recibir el webhook `account.updated` antes de continuar. Si la verificación se realiza correctamente, todos los campos se borrarán de los requisitos. Si la verificación falla, consulta la sección sobre gestión de errores que aparece a continuación. ### Estatus de registro del ID fiscal Además de cotejar el CNPJ con los registros mercantiles, Stripe comprueba el estatus de registro del CNPJ (y del CPF del representante de la empresa) con los registros del Gobierno brasileño. No es posible modificar el ID fiscal una vez que se ha configurado. | Tipo de entidad jurídica | Aprobado | Error | Baja inmediata obligatoria | | -------------------------- | --------------------------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------- | | Particulares (CPF) | Normal | Suspendida, Pendiente de regularización | Cancelada, Nula, Fallecida | | Entidades jurídicas (CNPJ) | Activo (Ativa), Pendiente de regularización (Ativa não regular) | Suspendida (Suspensa) | Disuelta (Baixada), Cancelada (Baixada), Inapta (Inapta), Nula (Nula), Con domicilio en el extranjero | Las cuentas con un CPF o CNPJ suspendido se consideran válidas en el momento del onboarding, pero se espera que resuelvan su estatus en un plazo aproximado de 30 días. Si no se resuelve, limitaremos las funciones de pago. A las cuentas con estatus que requieren la baja (canceladas, nulas, fallecidas, disueltas, no aptas) se les desactivan todas las funciones de forma inmediata y no pueden subsanarse mediante la carga de documentos. ### Capacidad financiera La normativa brasileña de prevención del blanqueo de capitales exige a Stripe que recopile la capacidad financiera estimada de una cuenta conectada antes de habilitar los cobros y los pagos. Esto se aplica a todas las cuentas brasileñas, tanto de particulares como de personas jurídicas. `monthly_estimated_revenue.amount` se expresa en la unidad de divisas más pequeña (centavos). Por ejemplo, 50 000 BRL = `5 000 000`. Recopilamos estos valores únicamente con fines de seguimiento normativo y no los verificamos de forma independiente durante el onboarding. ### URL y descripción del producto La normativa brasileña exige que Stripe conozca las actividades de todas las empresas. Los requisitos varían según el tipo de cuenta: | Tipo de cuenta | Requisito | | ------------------ | --------------------------------------------------------------------------------- | | Directa y estándar | Requiere tanto `business_profile.url` como `business_profile.product_description` | | Custom y Express | Requiere `business_profile.url` o `business_profile.product_description` | ### Manejo de errores | Código de error | Activar | Corrección | | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `verification_failed_keyed_match` | No se ha encontrado el CNPJ, o bien el nombre de la empresa o la dirección no coinciden con los datos del registro del CNPJ. | Vuelve a introducir el nombre legal correcto y la dirección registrada, o carga `company.verification.document`. | | `verification_failed_id_number_status_not_found` | Se ha encontrado el CNPJ, pero no se ha podido recuperar el estatus fiscal. | Vuelve a enviar o carga un documento de verificación de la empresa. | | `verification_failed_id_number_inactive` | Se ha encontrado el CNPJ, pero su estatus es inactivo (por ejemplo, suspendido o disuelto). | En caso de estatus suspendido, la cuenta tiene un período de gracia para resolver su situación con Receita Federal. En caso de estatus disuelto, cancelado, inapto o nulo, la cuenta será dada de baja; no es posible resolverlo mediante la carga de documentos. | | `verification_document_type_not_supported` | El documento de la empresa que se ha subido es ilegible o no es del tipo adecuado. | Vuelve a cargar un documento de verificación de la empresa aceptable. | | `verification_document_name_mismatch` | El nombre de la empresa que figura en el documento no coincide con el nombre introducido. | Vuelve a introducir el nombre legal exactamente como aparece en el certificado CNPJ. | | `verification_document_id_number_mismatch` | El ID fiscal del documento no coincide con el CNPJ introducido, o el estatus del ID fiscal no se encuentra o está inactivo. | Vuelve a subir un certificado CNPJ actualizado de la Receita Federal. | | `verification_document_address_mismatch` | La dirección del documento no coincide con la dirección introducida. | Vuelve a introducir la dirección para que coincida con la dirección registrada en el certificado CNPJ. | ## Verificación de UBO y relación La normativa brasileña de prevención del blanqueo de capitales (Circular BCB 3978/20) exige que se identifique y verifique a todos los representantes de la empresa como representantes legalmente designados de la entidad. Stripe verifica esto en dos pasos: 1. **Comparación programática de nombres**: el nombre completo del representante se compara con la respuesta del registro del CNPJ. 1. **Solución alternativa: revisión de documentos**: si falla la verificación automática, el representante deberá cargar un documento que acredite la relación (en el caso de estructuras de propiedad sencillas) o una declaración jurada (en el caso de estructuras de propiedad complejas). > Se habla de una estructura de propiedad sencilla cuando la empresa es propiedad directa de una o varios particulares, mientras que una estructura de propiedad compleja implica niveles intermedios, como sociedades de cartera, fideicomisos o filiales, que separan a los propietarios efectivos finales de la entidad operativa. ### Documentos válidos que acrediten la relación (para estructuras de propiedad sencillas) Puedes encontrar los documentos aceptables para Brasil en [Documentos de verificación aceptables](https://docs.stripe.com/acceptable-verification-documents.md?country=BR&document-type=entity#select-a-country-to-view-its-requirements). Los documentos deben incluir: (a) el nombre de entidad jurídica y el CNPJ, (b) un nombramiento expreso como propietario o director, con el nombre completo y el CPF de la persona, así como un plazo de mandato válido, y © la firma del representante de la empresa. Las plataformas solo podrán cargar documentos de verificación en nombre de las cuentas conectadas cuando hayan recibido el consentimiento por escrito de la cuenta vinculada, firmado por un representante legal con facultades expresas para actuar en su nombre. La plataforma también deberá presentar un poder notarial o un documento de constitución que acredite dichas facultades. ### Declaración (para estructuras de propiedad complejas) Las empresas con propiedad compleja deben descargar y rellenar un documento PDF de declaración, y luego volver a subirlo a Stripe. ## Pruebas Usa el [modo de prueba](https://docs.stripe.com/connect/testing.md) para verificar que tu integración gestiona todos los estados de KYC/KYB. ### Prueba: KYC válido (particular) ```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 completar las pruebas de validación del KYC, una `proof_of_liveness` sigue siendo necesaria. Consulta [Cómo gestionar los requisitos de prueba de vida](https://docs.stripe.com/connect/api-onboarding.md?accounts-namespace=v1&liveness=hosted#proof-of-liveness) para obtener más detalles. ### Prueba: CPF inactivo (`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" ``` Error esperado en los requisitos: ```json { "code": "verification_document_id_number_mismatch", "reason": "", "requirement": "person.id_number" } ``` ### Prueba: KYB válido (entidad 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" ``` ### Prueba: error de coincidencia de CNPJ introducido (`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" ``` Errores esperados en los 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" } ] ``` Resuelve el problema subiendo un documento de verificación de la 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 actualización: 23 de septiembre de 2025* ## ¿Qué va a cambiar? - **Información obligatoria recogida de las cuentas conectadas:** estamos actualizando la información que necesitamos de las empresas unipersonales, las organizaciones sin ánimo de lucro y las LLC unipersonales y simplificando la forma en que obtenemos el consentimiento del tutor legal para las cuentas abiertas por menores. Además, ahora se requiere un correo electrónico para el representante de la cuenta para todo tipo de entidad jurídica, y un cambio para las entidades gubernamentales y las empresas públicas. - **Cómo verificamos la información de la empresa y proporcionamos nuevas respuestas detalladas de verificación:** estamos actualizando nuestros criterios de válida información de la empresa e introduciendo nuevos códigos de error de verificación cuando no podemos aceptar o verificar la información proporcionada. - **Umbral a partir del cual verificamos los números de identificación fiscal (TIN):** en los casos de las cuentas conectadas Custom y Express, estableceremos límites más bajos de volumen de pagos para la verificación de TIN, en concordancia con los límites actuales de declaración de impuestos federales. - **Cómo rellenamos automáticamente las descripciones del cargo del extracto bancario y los prefijos de las descripciones del cargo del extracto bancario:** si no se proporciona ninguna descripción del cargo del extracto bancario, se usará el nombre de perfil de la empresa, la URL de la empresa o el nombre de la entidad jurídica de la cuenta conectada. Estos cambios afectarán a todos los usuarios que hayan solicitado la funcionalidad [card_payments](https://docs.stripe.com/api/accounts/object.md#account_object-capabilities-card_payments) en EE. UU. ## La información que recogemos de forma obligatoria de las cuentas conectadas La nueva información que recopilamos y los nuevos campos añadidos a la API son: - Las empresas que sean [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure) de `sole_proprietorship` y `single_member_llc` deberán indicar la dirección de su empresa («dirección de la empresa»). En caso de que la dirección de la empresa sea la misma que la dirección personal del representante, tus cuentas conectadas podrán indicar los mismos valores para ambas. - Las entidades legales que son [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` y `public_partnership` deben proporcionar un correo electrónico para el representante de la cuenta. Este requisito ahora se aplica a todos los tipos de entidades jurídicas. - Para simplificar el proceso de obtención del consentimiento del tutor legal para las cuentas abiertas por menores, se ha actualizado la [API Persons](https://docs.stripe.com/api/persons.md) con un nuevo tipo de relación, `legal_guardian`, así como un campo adicional, `additional_tos_acceptances`, para registrar el acuerdo del tutor legal con las Condiciones de servicio de Stripe. Si la fecha de nacimiento del representante de la cuenta indica que la persona es menor de edad, se activa un requisito de la cuenta para añadir un `legal_guardian` antes de que la cuenta pueda activarse. ## Cómo verificamos la información de la empresa y proporcionamos nuevas respuestas de verificación detalladas ### Actualizaciones de la información que ya hemos recogido Solicitaremos la siguiente información a tus cuentas conectadas: | Campo | Requisitos actualizados | Aspectos adicionales que se deben tener en cuenta | | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | | Se recogen el SSN o el ITIN de los representantes que residen en EE. UU. | Se requieren los últimos cuatro dígitos al activar todos los tipos de cuentas (incluyendo las cuentas conectadas Custom y Express). | Esto ya se hace con las cuentas conectadas Standard. | | SSN o ITIN recogidos de propietarios residentes en EE. UU. | Últimos cuatro dígitos necesarios cuando el volumen de pagos supere los 500.000 USD para todos los tipos de cuentas (incluyendo las cuentas conectadas Custom y Express) | Consulta *SSN Full 9 Digit Note* a continuación | | Documento nacional de identidad o documento de verificación recogidos de representantes no residentes en EE. UU. | Documento nacional de identidad o de verificación en la activación para todo tipo de cuentas (incluyendo las cuentas conectadas Custom y Express) | Solo se aplica a los representantes no residentes en EE. UU. | | Documento nacional de identidad o de verificación recogido de propietarios no residentes en EE. UU. | Documento nacional de identidad o documento de verificación cuando el volumen de pagos supere los 500.000 USD para todos los tipos de cuentas (incluyendo las cuentas conectadas Custom y Express). | Solo se aplica a propietarios no residentes en EE. UU. | > Si no podemos obtener mediante programación el SSN completo de nueve dígitos de un particular asociado a tu cuenta con la información ya proporcionada, debes proporcionar los nueve dígitos completos. ### Nuevos códigos de error de verificación Cuando no podamos verificar la información proporcionada por tus cuentas conectadas, se mostrarán los códigos de error de las respuestas detalladas de verificación en la matriz [requirements.errors](https://docs.stripe.com/api/accounts/object.md#account_object-requirements-errors). [Consulta la documentación](https://docs.stripe.com/connect/handling-api-verification.md#validation-and-verification-errors). #### Errores síncronos | Campo | Nuevo código de error | Mensaje de error | | ----------------------------------------------------------- | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Descripción del producto | `invalid_product_description_length` | La descripción de tu producto debe tener al menos 10 caracteres. | | Descripción del producto | `invalid_product_description_url_match` | La descripción de tu producto debe ser distinta a tu URL. | | Descripción (completa) del cargo del extracto bancario | `invalid_statement_descriptor_length` | Tu descripción del cargo del extracto bancario debe tener de 5 a 22 caracteres. | | Descripción (completa) del cargo del extracto bancario | `invalid_statement_descriptor_business_mismatch` | Tu descripción del cargo del extracto bancario debe parecerse al nombre de tu empresa, el nombre de tu entidad jurídica o tu URL. | | Descripción (completa) del cargo del extracto bancario | `invalid_statement_descriptor_denylisted` | No se aceptan descripciones genéricas o conocidas del cargo del extracto bancario. | | Descripción (corta) del cargo del extracto bancario | `invalid_statement_descriptor_prefix_mismatch` | El prefijo de la descripción del cargo del extracto bancario debe parecerse a la descripción del cargo en tu extracto bancario, el nombre de tu empresa, el nombre de tu persona jurídica o tu URL. | | Descripción (corta) del cargo del extracto bancario | `invalid_statement_descriptor_prefix_denylisted` | No se aceptan prefijos genéricos o conocidos en la descripción del cargo del extracto bancario. | | Nombre de la empresa LE | `invalid_company_name_denylisted` | No se aceptan nombres de empresas genéricos o conocidos. | | Nombre del perfil comercial (DBA, por sus siglas en inglés) | `invalid_business_profile_name_denylisted` | No se aceptan nombres de empresas genéricos o conocidos. | | Nombre del perfil comercial (DBA, por sus siglas en inglés) | `invalid_business_profile_name` | Los nombres de los perfiles de empresas deben estar formados por palabras reconocibles. | | Fecha de nacimiento de las personas | `invalid_dob_age_under_minimum` | La persona debe tener al menos 13 años. | | Fecha de nacimiento de las personas | `invalid_dob_age_over_maximum` | La fecha de nacimiento debe estar dentro de los últimos 120 años. | | Núm. de teléfono de las personas | `invalid_phone_number` | Parece que el número de teléfono no es válido. Asegúrate de que tenga el formato correcto. | | Núm. de teléfono comercial de LE | `invalid_phone_number` | Parece que el número de teléfono no es válido. Asegúrate de que tenga el formato correcto. | | Identificación fiscal de la empresa | `invalid_tax_id_format` | Los ID fiscales deben ser un conjunto único de 9 números sin guiones ni ningún otro caracter especial. | | URL | `invalid_url_format` | Formato como https://example.com | | URL | `invalid_url_denylisted` | No se aceptan direcciones URL de empresa genéricas. | #### Errores asíncronos | Campo | Nuevo código de error | Mensaje de error | | ----- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | URL | `invalid_url_website_inaccessible` | No se ha podido visitar esta URL. Asegúrate de que está disponible y se ha introducido correctamente o proporciona otra. | | URL | `invalid_url_website_business_information_mismatch` | La información de la empresa en tu sitio web debe coincidir con los datos que has facilitado a Stripe. | | URL | `invalid_url_website_incomplete` | Parece que a tu sitio web le falta información obligatoria. Obtén más información sobre los requisitos de sitio web | | URL | `invalid_url_website_other` | No hemos podido verificar tu empresa con la URL que nos has facilitado. Asegúrate de haberla introducido correctamente o proporciona otra URL. | | URL | `invalid_url_web_presence_detected` | Como usas un sitio web, una aplicación, una página en las redes sociales o un perfil en línea para vender productos o servicios, debes proporcionar una URL para tu empresa. | ### Actualización del umbral para la verificación de números de identificación fiscal (TIN) De acuerdo con los límites de la IRS para la presentación de formularios 1099-K, 1099-NEC y 1099-MISC, actualizaremos el umbral a partir del cual verificamos el TIN a cuando el volumen de pagos alcance el umbral de 600 USD o a un plazo de 30 días desde el primer cargo, lo que suceda primero. ### Cómo rellenamos automáticamente las descripciones del cargo del extracto bancario y sus prefijos Si no se proporciona, la descripción del cargo del extracto bancario se rellenará automáticamente con los siguientes campos suministrados (en este pedido): [empresa_profile.name](https://docs.stripe.com/api/accounts/object.md#account_object-business_profile-name) («nombre comercial»), [empresa_profile.url](https://docs.stripe.com/api/accounts/object.md#account_object-business_profile-url), nombre de la entidad 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) o [company.name](https://docs.stripe.com/api/accounts/object.md#account_object-company-name))`. Además, si no se proporciona el prefijo de la descripción del cargo del extracto bancario, se rellenará automáticamente con los primeros 10 caracteres de la descripción del cargo del extracto bancario. #### Programa - Singapore *Última actualización: 21 de mayo de 2025* ## Recomendaciones de integración Los cambios de integración que debes realizar dependen de cómo recopiles la información de activación de tus cuentas conectadas. También debes planificar la actualización de tu documentación interna y externa sobre los requisitos de verificación, y formar a tus equipos de soporte para que puedan responder a cualquier pregunta que puedan tener tus usuarios. > Stripe recomienda encarecidamente utilizar [Stripe-hosted](https://docs.stripe.com/connect/hosted-onboarding.md) o [la activación integrada](https://docs.stripe.com/connect/embedded-onboarding.md) para gestionar la recopilación de información sobre la verificación de la identidad y la empresa. Stripe-hosted y la activación integrada proporcionan una experiencia guiada con información adicional sobre los beneficiarios efectivos y los directores, que actualmente no está disponible en la API. Esta información se obtiene de bases de datos gubernamentales y reduce la información de verificación recopilada de las cuentas conectadas. ### Resumen de integración A partir de mediados de marzo, el hash [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements) te permitirá obtener una versión beta de los nuevos requisitos y su fecha límite para tus cuentas conectadas. Puedes evitar interrupciones en las funcionalidades de tus cuentas conectadas planificando la recopilación de información actualizada antes del `current_deadline`. Las nuevas cuentas conectadas Custom creadas a partir de abril de 2025 también deberán cumplir con los nuevos requisitos de verificación. Detecta los cambios de estatus escuchando el evento account.updated. Consulta nuestra [página de preguntas frecuentes](https://support.stripe.com/questions/singapore-verification-requirements-for-custom-connected-accounts-faq) para obtener más información sobre los plazos. Asegúrate de que tu integración esté configurada para [gestionar las actualizaciones](https://docs.stripe.com/connect/handle-verification-updates.md) al activar de cuentas nuevas y recoger información actualizada de las cuentas existentes. Específicamente para los flujos de activación integrados o alojados en Stripe, puedes personalizar el comportamiento para reunir opcionalmente [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements) por adelantado. Para la activación alojada en Stripe, establece el parámetro `collection_options.future_requirements` para `include` al [crear una cuenta de Link](https://docs.stripe.com/api/account_links/create.md#create_account_link-collection_options). Para la activación integrada, establece el campo futureRequirements del atributo [`collectionOptions`](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md#requirements-collection-options) para `include`. ### Resumen de requisitos | Tipo de entidad | Verificación de la propiedad efectiva final (UBO) | Cobro directivo | Prueba de autoridad (PoA) | Carta de autoridad | | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------------------------- | ------------------------ | | Particulares | No se aplica | No se aplica | No se aplica | No se aplica | | Empresa individual | No se aplica | No se aplica | Siempre se aplica | No se aplica | | Empresas privadas | Obligatorio para propietarios con un 25 % o más de propiedad* Se puede eximir | Siempre se aplica | Siempre se aplica | Alternativa si falla PoA | | Asociaciones | Obligatorio para todos los socios y gerentes y cualquier otro particular con un 25 % o más de propiedad Se puede eximir | No se aplica | Siempre se aplica | Alternativa si falla PoA | | Entidades gubernamentales** | No se aplica | No se aplica | Siempre se aplica | Siempre se aplica | | Empresas públicas** | Exento | Siempre se aplica | Siempre se aplica | Alternativa si falla PoA | | Organizaciones sin ánimo de lucro | Todos los directores y ejecutivos clave Se puede eximir | No se aplica | Siempre se aplica*** | Alternativa si falla PoA | > En los casos en los que no haya propietarios con un 25 % o más de propiedad, todos los directores son tratados como los UBO. > > \** Las entidades gubernamentales y las empresas públicas son nuevos tipos de entidades en Singapur. Contacta con el [soporte de Stripe](https://support.stripe.com/) para solicitar acceso. > > \*** Las organizaciones sin ánimo de lucro que no figuren en charities.gov.sg deben cargar un documento [proof_of_ultimate_beneficial_ownership](https://docs.stripe.com/api/accounts/update.md#update_account-documents-proof_of_ultimate_beneficial_ownership) que indique todos los directores y ejecutivos clave. ## Tipos de empresas y estructuras admitidas. Los requisitos de verificación varían en función del tipo de empresa. En el caso del tipo de empresa `company`, puedes clasificar aún más la empresa de tu usuario identificando su estructura jurídica (empresarial). La estructura empresarial describe los detalles de una entidad empresarial, como las operaciones diarias, la carga fiscal, la responsabilidad y la estructura organizativa. Puedes clasificarla usando el campo [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure) en el objeto cuenta. Una empresa se considera privada de forma predeterminada si no se proporciona información sobre la [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure). Conforme a las directrices de Singapur, todos los tipos de empresas deben registrarse en [ACRA](https://www.acra.gov.sg/). Estas son las asignaciones sugeridas para pasar de solo la clasificación `business_type`-a [business_type](https://docs.stripe.com/api/accounts/object.md#account_object-business_type) y [company.structure](https://docs.stripe.com/api/accounts/create.md#create_account-company-structure). | Tipo de empresa existente | Nuevo tipo de empresa y combinación de estructuras empresariales | Descripción | | ------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `individual` | tipo: `individual`, estructura: `nil` | Una persona física que realiza una actividad empresarial y que no opera bajo una estructura corporativa. | | `sole_prop` | tipo: `company`, estructura: `sole_proprietorship` | Una empresa no constituida propiedad de un particular; la empresa está registrada como empresa unipersonal en [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure). | | `company` / `corporation` | tipo: `company`, estructura: `private_company` | Una asociación o relación entre dos o más personas físicas, sociedades anónimas, fideicomisos o sociedades colectivas que se unen para ejercer un oficio o actividad. La empresa está registrada como empresa en [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure), incluyendo las sociedades limitadas por garantía. | | `partnership` | tipo: `company`, estructura: `private_partnership` | Una asociación o relación entre dos o más personas físicas, sociedades anónimas, fideicomisos o sociedades colectivas que se unen para ejercer un oficio o actividad. La empresa está registrada como sociedad colectiva en [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure). | | `public_company` | tipo: `company`, estructura: `public_company` | Una empresa que ofrece sus valores a la venta al público en general. Esta estructura empresarial está restringida; ponte en contacto con el [soporte de Stripe](https://support.stripe.com/) para obtener información sobre cómo utilizarla. La empresa está registrada como sociedad en [ACRA](https://www.acra.gov.sg/how-to-guides/before-you-start/choosing-a-business-structure). | | `non_profit` | tipo: `non_profit`, estructura: `nil` | Una organización que opera con un fin distinto al de generar beneficios, a menudo con el objetivo de promover objetivos sociales, educativos, benéficos u otros objetivos comunitarios. | > Si la empresa es una organización sin ánimo de lucro registrada en ACRA, se aplican los requisitos para el tipo de empresa registrada en ACRA. ## Verificación del representante de la empresa ### Verificación de identidad avanzada En Singapur, se requiere una verificación reforzada de la identidad de los representantes de todos los tipos de empresas mediante [Singpass MyInfo](https://www.singpass.gov.sg/main/individuals/), un proveedor de identidad digital muy popular. Si los usuarios no tienen acceso a MyInfo, deben verificar la vida útil mediante [Stripe Identity](https://docs.stripe.com/identity.md). Para completar correctamente la verificación de identidad mejorada mediante SingPass MyInfo o Stripe Identity, es necesario la activación con [Connect Onboarding o Embedded Onboarding](https://docs.stripe.com/connect/custom/onboarding.md). Si utilizas la API de Stripe para activar cuentas conectadas, debes actualizar tus formularios para recopilar la nueva información de verificación requerida de tus usuarios y redirigirlos a Connect Onboarding en la etapa final para completar la verificación de identidad mejorada. ### Verificación de dirección Se requiere la verificación de la dirección del representante de la empresa para todas las empresas. Si Stripe no puede verificar la dirección, debes cobrar un [documento justificativo de dirección](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=address). ## Prueba de verificación de autoridad Stripe debe verificar que el [representante de la cuenta tiene autoridad suficiente](https://support.stripe.com/questions/representative-authority-verification) para abrir una cuenta en nombre de la entidad jurídica. Si no podemos verificarlo mediante programación, debes cambiar el representante por una persona con autoridad suficiente. Si una persona con autoridad suficiente no puede ser el representante de la empresa, puedes añadirla como persona con el cargo de [autorizador](https://docs.stripe.com/api/persons/update.md#update_person-relationship-authorizer). A continuación, la empresa debe proporcionar una [carta de autorización](https://b.stripecdn.com/content/Letter_of_authorization_for_Stripe_Singapore.pdf) firmada por el [autorizador](https://docs.stripe.com/api/persons/update.md#update_person-relationship-authorizer) que permita al representante de la empresa gestionar la cuenta. Esta debe proporcionarse como [company_autorization](https://docs.stripe.com/api/persons/update.md#update_person-documents-company_authorization) del representante. Debes añadir el [nombre](https://docs.stripe.com/api/persons/object.md#person_object-first_name) y el [apellido](https://docs.stripe.com/api/persons/object.md#person_object-last_name) del autorizador a la cuenta, junto con una copia de su [documento de identidad](https://docs.stripe.com/api/persons/update.md#update_person-verification-document). > Actualmente Stripe solo acepta la plantilla de [carta de autorización](https://b.stripecdn.com/content/Letter_of_authorization_for_Stripe_Singapore.pdf) proporcionada. ``` { "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": "..." }, ... ], ... }, ... } ``` Además, el requisito de la carta de autorización puede exponer errores relacionados con la documentación, como `verification_document_name_mismatch` o `verification_document_type_not_supported`. Asegúrate de poder gestionar los [errores de verificación](https://docs.stripe.com/connect/handling-api-verification.md#handle-document-verification-problems) de la documentación y los [nuevos códigos de error](https://docs.stripe.com/connect/upcoming-requirements-updates.md#new-verification-error-codes) de verificación. ## Verificación de persona jurídica Es necesario verificar el nombre de la empresa, el UEN y el tipo de entidad jurídica de todas las empresas. Si Stripe no puede verificar la existencia de la empresa, deberás recopilar un documento de la empresa. Stripe también debe comprobar que el tipo de empresa y la estructura de la empresa coincidan con los registros de la administración local. Cuando se produce un desajuste del [tipo de empresa](https://docs.stripe.com/api/accounts/object.md#account_object-business_type) o de la [estructura de la](https://docs.stripe.com/api/accounts/object.md#account_object-company-structure) empresa, se genera un error `verification_legal_entity_structure_mismatch`, y es necesario actualizar el tipo de empresa o la estructura, o se necesita un documento de la empresa para verificar la entidad 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." }, ... ], ... }, ... } ``` ## Verificación definitiva de la propiedad efectiva ### Determinación de propietarios establecida en el tipo de entidad #### Empresas privadas Stripe define e intenta identificar a cualquier particular con una propiedad igual o superior al 25 % como beneficiario efectivo final (UBO). Recomendamos utilizar [Stripe-hosted](https://docs.stripe.com/connect/hosted-onboarding.md) o la [activación integrada](https://docs.stripe.com/connect/embedded-onboarding.md) para permitir a tus usuarios obtener una versión beta y confirmar a los propietarios. Como alternativa, puedes recoger y añadir todos los UBO a la cuenta utilizando la posición de [propietario](https://docs.stripe.com/api/persons/object.md) en la API. Si Stripe no puede determinar a estas personas, la empresa debe presentar una [prueba de la propiedad efectiva final](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) para certificar su estructura de propiedad. Esto debe incluir documentos de prueba de propiedad de cualquier empresa matriz que posea el 25 % o más de las acciones de la cuenta conectada. La activación alojada o integrada en Stripe busca automáticamente recoger estos documentos o puedes recogerlos y enviarlos usando la API Accounts v1. Debes añadir a la cuenta todos los UBO enumerados en la prueba de la propiedad efectiva final. > Las cuentas conectadas pueden presentar una única [certificación de beneficiario efectivo final](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) como alternativa a un documento para la empresa y otro para cada empresa matriz con una participación significativa. > > Si la empresa no tiene propietarios con un 25 % o más de propiedad, todos los directores que figuren en los registros gubernamentales (y estén disponibles para la versión beta en la activación alojada o integrada en Stripe) se considerarán los UBO y deben añadirse a la cuenta. #### Asociaciones Las sociedades colectivas deben verificar la relación entre la empresa y todos los socios, gerentes y cualquier otro particular que posea al menos el 25 % de la propiedad, y estas personas deben añadirse a la cuenta que ocupa el cargo de [propietario](https://docs.stripe.com/api/persons/object.md#person_object-relationship-owner) en la API. #### Organizaciones sin ánimo de lucro En el caso de las entidades sin ánimo de lucro, todos los ejecutivos y directores clave se consideran UBO. Esto incluye: - Presidente - Director - CEO - Tesorero - Secretario o secretaria general - Presidente - Administrador - Puestos recién añadidos - Y cualquiera de estos puestos en calidad de asistente, adjunto o vicario. Stripe intenta identificar a todos los directores y ejecutivos clave de organizaciones benéficas registradas en Singapur, lo que puede previsualizarse y confirmarse en l activación alojada o integrada en Stripe. Todas las demás organizaciones sin ánimo de lucro deben proporcionar una [prueba de la propiedad efectiva](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) final y las personas incluidas en la lista deben añadirse a la cuenta en el puesto de [director](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) de la API. ### Detalles de la integración [El nombre](https://docs.stripe.com/api/persons/object.md#person_object-first_name), el [apellido](https://docs.stripe.com/api/persons/object.md#person_object-last_name), el [número de identificación](https://docs.stripe.com/api/persons/update.md#update_person-id_number) y los [alias](https://docs.stripe.com/api/persons/object.md#person_object-full_name_aliases) de todas las personas físicas que en última instancia son propietarias o administradoras de la entidad jurídica deben añadirse a la cuenta del [propietario](https://docs.stripe.com/api/persons/object.md#person_object-relationship-owner) o [director](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) en la API. Los UBO se definen de manera diferente establecida según el tipo de entidad. La verificación de la propiedad efectiva es obligatoria para las empresas privadas, las sociedades privadas y las organizaciones sin ánimo de lucro. Cuando no podamos verificar correctamente el UBO, debes cobrar un [documento de identificación](https://docs.stripe.com/api/persons/update.md#update_person-verification-document) para el UBO no 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": "..." }, ... ], ... }, ... } ``` Si Stripe determina que en la cuenta faltan propietarios, directores o documentación de las sociedades de cartera, se devolverá el campo `documents.proof_of_ultimate_beneficial_ownership.files` en [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements). Encontrarás una lista completa de los documentos aceptados para Singapur en [Documentos de verificación aceptados](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship). La activación alojada e integrada en Stripe muestra una lista de [propietarios](https://docs.stripe.com/api/persons/object.md#person_object-relationship-owner) y [directores](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) que faltan, lo que permite al usuario añadirlos a su cuenta haciendo clic en ellos. Al añadir a las personas sugeridas se cumple el requisito de UBO para las empresas sin ninguna empresa matriz en su estructura de propiedad. Para las empresas con empresas matriz, Stripe intenta verificar a sus propietarios. Si no podemos, el usuario recibe una solicitud para cargar un [documento de certificación](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) de beneficiario efectivo o los [documentos de propiedad](https://docs.stripe.com/acceptable-verification-documents.md?country=SG&document-type=relationship) relevantes para determinar los beneficiarios efectivos finales de la cuenta. (Esto también se aplica a otros tipos de empresas, como las organizaciones sin ánimo de lucro). Las cuentas con beneficiarios efectivos que falten tienen un código de error `verification_missing_owners` en el hash de errores de [future_requirements](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements-errors). Del mismo modo, las cuentas con directores que falten tienen un código de error `verification_document_directors_mismatch`. Por último, las cuentas en las que Stripe requiere información adicional sobre su titularidad tienen un código de error `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": "..." }, ... ], ... }, ... } ``` ### Exenciones En determinadas situaciones, es posible que una entidad comercial no tenga que declarar su propiedad. Para poder acogerse a una exención, se debe proporcionar una razón legítima en el campo [company.ownership_exemption_reason](https://docs.stripe.com/api/accounts/update.md#update_account-company-ownership_exemption_reason). Las razones válidas para la exención incluyen: - `qualified_entity_exceeds_ownership_threshold`: si un gobierno, empresa que cotiza en bolsa o institución financiera es propietario de al menos el 75 % de la empresa, la empresa está exenta de proporcionar datos sobre la propiedad. - `qualifies_as_financial_institution`: las empresas que son instituciones financieras reguladas por la [Autoridad Monetaria de Singapur](https://eservices.mas.gov.sg/fid/institution?sector=Banking&category=Finance%20Company) están exentas de compartir los datos de propiedad. ``` { "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", ] } ], ... }, ... } ``` Después de enviar una exención, revisaremos los datos de la entidad de la empresa. Durante esta revisión, el requisito se trasladará a [future_requirements.pending_verification](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements-pending_verification). Si Stripe determina que la entidad de la empresa no cumple los requisitos para la exención, mostraremos un mensaje de error y el requisito de titularidad 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" } ], ... }, ... } ``` ## Cobro directivo Debes recoger y enviar el [nombre](https://docs.stripe.com/api/persons/object.md#person_object-first_name), [el apellido](https://docs.stripe.com/api/persons/object.md#person_object-last_name), el [número de ID](https://docs.stripe.com/api/persons/update.md#update_person-id_number) y [los alias](https://docs.stripe.com/api/persons/object.md#person_object-full_name_aliases) de todos los [directores](https://docs.stripe.com/api/persons/object.md#person_object-relationship-director) que figuran en los registros de la administración pública de la cuenta conectada, en el caso de las empresas privadas, las empresas que cotizan en bolsa y las entidades sin ánimo de lucro. Además, se te podría pedir que certifiques que la lista de directores está actualizada y es correcta estableciendo los campos `company.directorship_declaration.ip`, `company.directorship_declaration.date` y, opcionalmente, `company.directorship_declaration.user_agent` en la API. Si se detecta una discrepancia en tu lista de directores, Stripe podría petición una nueva declaración devolviendo los requisitos `company.directorship_declaration.ip`, `company.directorship_declaration.date` al campo de requisitos. ## Nuevos códigos de error de verificación Si Stripe no puede verificar la información proporcionada por tus cuentas conectadas, los detalles de las respuestas de verificación se incluirán como nuevos códigos de error en la matriz [requirements.errors](https://docs.stripe.com/api/accounts/object.md#account_object-requirements-errors) del objeto Cuentas. La versión API [2025-03-31](https://docs.stripe.com/upgrades.md#2025-03-31) presenta los códigos de error que aparecen a continuación. Las versiones API anteriores reciben `verification_failed_other` en su lugar. Como alternativa, puedes añadir un encabezado Beta a tu integración API que exponga los nuevos códigos de error sin cambiar tu versión API. Contacta con el [soporte de Stripe](https://support.stripe.com/) para obtener acceso a este encabezado Beta. | Código de error | Descripción del error | | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `verification_legal_entity_structure_mismatch` | Parece que el tipo o la estructura de la empresa es incorrecto. Facilita el tipo y la estructura de empresa correctos para esta cuenta. | | `verification_failed_representative_authority` | No hemos podido verificar la autoridad del representante de la cuenta. Añade un autorizador a la cuenta y proporciona una carta de autorización firmada por el autorizador. Consulta nuestro artículo de soporte para la [Verificación de la autoridad del representante](https://support.stripe.com/questions/representative-authority-verification). | | `verification_failed_authorizer_authority` | No hemos podido verificar la autoridad del autorizador proporcionado. Cambia el autorizador por una persona que esté registrada como representante autorizado. Consulta nuestro artículo de soporte sobre [verificación de la autoridad del representante](https://support.stripe.com/questions/representative-authority-verification). | | `verification_rejected_ownership_exemption_reason` | Se ha rechazado el motivo de exención. Elige otro motivo de exención o carga en su lugar un justificante de la propiedad efectiva final. | | `information_missing` | Consulta el mensaje de error para entender qué información falta en el documento o en los datos introducidos. Si está relacionada con empresas matriz con una participación significativa, el código de error también proporciona las empresas matriz que faltan que hemos identificado. Para obtener más información, consulta nuestro artículo de soporte sobre la verificación de la [propiedad efectiva de las empresas matriz](https://support.stripe.com/questions/beneficial-ownership-verification-for-holding-companies). | | `verification_missing_owners` | No se ha facilitado información sobre los propietarios de las empresas. Facilita información sobre todos los propietarios de las empresas o invítalos a que la faciliten ellos mismos. Los propietarios que hemos identificado como desaparecidos son: [Nombre1, Nombre2]. | | `verification_missing_directors` | Faltan directores en la cuenta. Actualiza la cuenta y carga un documento de registro con los directores actuales. | | `verification_document_directors_mismatch` | Faltan directores en la cuenta. Actualiza la cuenta y carga un documento de registro con los directores actuales. | ## See also - [Activación de Connect para cuentas Custom](https://docs.stripe.com/connect/custom/hosted-onboarding.md) - [Soluciones de activación para cuentas Custom](https://docs.stripe.com/connect/custom/onboarding.md) - [Actualización de cuentas](https://docs.stripe.com/connect/updating-service-agreements.md) - [Gestión de la verificación de identidad con la API](https://docs.stripe.com/connect/handling-api-verification.md) - [Pruebas de verificación de identidad de cuentas Custom](https://docs.stripe.com/connect/testing-verification.md)