Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

5282 articles

Upcoming requirements updates


Upcoming requirements updates

Learn about the changes to required verification information and how this impacts your integration with Stripe.

Payment regulations help prevent crimes such as money laundering, fraud, and tax evasion. Financial regulators around the world enforce Know Your Customer (KYC) requirements to make sure that Stripe collects, verifies, and maintains identity information from certain types of businesses and from individuals who ultimately own, control, or direct them. These requirements are frequently updated by financial service regulators, card networks, and other financial institutions.

This guide provides an overview of the upcoming changes, and highlights the most significant changes. For the exhaustive list of requirements, refer to Required verification information.

If you use an API-based flow to onboard your connected accounts, you must update your integration to handle all requirement changes. Learn more about Connect onboarding options and migrating your API-based onboarding and remediation flows to Stripe-hosted or embedded flows.

Program:

Last updated: 23 February 2026

Understand the changes to verification requirements

To align with regulations from the UK Financial Conduct Authority (FCA) and the Central Bank of Ireland (CBI), Stripe is updating our verification requirements for Know Your Customer (KYC) and ultimate beneficial owners (UBO) and directors.

If your connected accounts operate in any of the listed countries, you might need to update your onboarding flow. Failure to make required updates will disrupt your connected accounts’ access to payments and financial services.

To learn more about what’s changing and why, see the new compliance requirements support article.

The upcoming changes affect connected accounts in the following countries:

Austria

Belgium

Bulgaria

Croatia

Cyprus

Czech Republic

Denmark

Estonia

Finland

France

Germany

Gibraltar

Greece

Hungary

Iceland

Ireland

Italy

Latvia

Liechtenstein

Lithuania

Luxembourg

Malta

Netherlands

Norway

Poland

Portugal

Romania

Slovakia

Slovenia

Spain

Sweden

Switzerland

United Kingdom

Ongoing updates

Stripe will continue updating the API to support collecting these requirements through 1 April 2026.

Choose an integration approach

Stripe recommends using Stripe-hosted or Embedded onboarding to collect business and identity verification requirements. These options require fewer resources to implement and maintain than using API onboarding. The following table describes the major differences:

  • Stripe-hosted onboarding : Recommended Send accounts to a Stripe-hosted flow to submit required information.
  • Embedded onboarding : Recommended Embed Stripe-provided onboarding components that let accounts submit information directly to Stripe from within your app.
  • API onboarding : Build and manage a custom onboarding flow using Stripe APIs.
Stripe-hosted onboardingEmbedded onboardingAPI onboarding
Best forPlatforms that want Stripe to handle onboardingPlatforms that want a branded, in-app onboarding flowPlatforms that need full control and can build and maintain it
Initial implementation effort3 – 4 engineering weeks3 – 4 engineering weeks30 – 40 engineering weeks
Ongoing effort to address requirement updatesHandled automatically by StripeHandled automatically by StripeRequires proactive monitoring for upcoming changes, plus engineering resources to update the onboarding flow for each change
CustomisationStripe-hosted interface with platform brandingHighly themeable component that accounts access through the platform appPlatform designs, builds and maintains the interface
Effort to support additional countriesHandled automatically by StripeHandled automatically by StripeRequires engineering resources to update the onboarding flow for each additional country

Learn more about Connect onboarding options and migrating your API-based onboarding and remediation flows to Stripe-hosted or embedded flows.

The changes you make to your onboarding flow depend on your onboarding configuration. In addition to updating your onboarding flow, update your internal and external documentation as needed and prepare your support teams to answer questions about the updates.

If you use Stripe-hosted or Embedded onboarding, then you don’t need to update your integration to prepare for these requirement updates. However, you can communicate to your connected accounts that Stripe might request new or updated identity information when requirements change.

API integration overview

If you choose not to migrate to Stripe-hosted or Embedded onboarding, then you need to address the following updates:

  • Know Your Customer (KYC) verification
  • Ultimate beneficial owner (UBO) and director relationship verification
  • Netherlands business registration (KvK) requirements
  • New error codes

Update timeline

The following timeline explains the key milestones for these changes. Make sure to update and test your integration early to avoid any issues when the new requirements take effect.

DateMilestoneDescription
October 2025Start integration planningInitial API updates are available. Review this guide and the changes to start planning your integration updates.
March 2026Review impacted accounts and test your integration updatesStripe provides an estimated count of your impacted connected accounts. Start testing your updated onboarding flow.
March–April 2026future_requirements rollout begins (API onboarding)For platforms using API onboarding, Stripe starts adding the new requirements to future_requirements for both new and existing accounts.
1 April 2026New requirements start for platforms that only have connected accounts with business type individualMake sure that your updated onboarding flow is ready to collect the new requirements. You need to have your updated flow working by 1 April, when Stripe begins rolling out the new requirements. All of the new requirements will become active by the end of April.
1 May 2026New requirements start for platforms that have connected accounts with business type company, including platforms that also have individual connected accountsMake sure that your updated onboarding flow is ready to collect the new requirements. You need to have your updated flow working for all connected accounts by 1 May, when Stripe begins rolling out the new requirements. All of the new requirements will become active by the end of May.
June 2026–August 2026New requirements become currently due for existing accountsThe new requirements roll out to existing connected accounts during this period. Use your updated onboarding flow to collect them as needed.
July – October 2026Due dates for new requirementsTo avoid restrictions, the updated requirements for each account must be verified by that account’s due date.

Know your customer (KYC) verification

Stripe is strengthening our identity verification process, which might require some of your connected accounts to provide additional information. We’re also adding more options to the API for verifying information.

The following entities must provide verifiable KYC information:

  • Legal entity (for individuals and sole proprietor entities);
  • Account representative
  • UBOs (for accounts deemed high risk by the Stripe risk model)

Additional verification methods

Use the following optional methods in addition to standard keyed-in information to maximise verification success rates:

  • Stripe Identity : Recommended Use selfie and document capture for accounts that fail automatic verification.
  • National ID verification : Collect a national ID number up front to increase first-pass verification rates.
  • Upload additional documents : Submit supporting identity or address documents for manual review.

You can attempt to verify connected accounts that fail their automatic verification by using Stripe Identity. Identity works by capturing a selfie and an ID document. Most European countries support Stripe Identity and success rates vary by country.

Create an Identity verification session and use the related_person parameter to submit document and proof_of_liveness requirements for the person. You can check the results using the API or the Dashboard.

National ID verification

In the countries affected by this update, you can improve verification of a connected account representative by providing their national ID number in addition to their name, birthdate, address and nationality.

Verification currently supports the following national ID numbers.

CountryNational ID type
DenmarkCentral Person Register (CPR)
FinlandHenkilötunnus (Personal Identity Code)
GreeceArithmós Forologikoú Mitróou (AFM / Tax ID) or Prosopikós Arithmós (Personal Number)
IrelandPersonal Public Service (PPS) number
ItalyCodice Fiscale (Fiscal Code)
LatviaPersonas kods (Personal Code)
Polandthe related setting number
RomaniaCod Numeric Personal (CNP)
SpainDocumento Nacional de Identidad (DNI)
SwedenPersonnummer (Personal Identity Number)

Countries not affected by this update, such as the US, don’t support National ID number verification. For example, you can provide the ID number for a Spanish citizen acting as a representative for a connected account in Austria, which is in the EU. However, you can’t provide the ID number for a Spanish citizen acting as a representative for a connected account in the US.

National ID availability

You can start collecting national ID numbers for your connected accounts when the updated requirements become future requirements. In the meantime, the integration is available for your sandbox accounts as a preview feature.

Implement national ID verification using the API

High risk accounts

Stripe’s risk model requires KYC verification for UBOs only for accounts classified as high risk. For testing, append _high_risk to the business name to force a high-risk rating. This lets you test the full KYC verification flow for owners, including the requirements and errors your integration needs to handle.

This example shows how to create a high-risk test account and add owners:

Command Line

Command Line

Command Line

After Stripe runs KYC verification on the owner, the account requirements reflect the result. When the owner’s name matches but their address doesn’t (triggered by using the address_no_match test address), the requirements include verification_failed_keyed_identity errors on the owner’s fields:

{
 "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"
 ]
 }
 ]
 }
}

To resolve these requirements, either resubmit the owner’s identity information or fulfil one of the alternative requirements (upload an additional_document or complete proof_of_liveness).

Relationship verification for UBOs and directors

Stripe is enhancing our verification process for ultimate beneficial owners (UBOs) and directors. European regulations require verification of the relationship of UBOs and directors to the legal entity:

  • UBO: An individual who owns or controls (directly or indirectly) more than 25% of a legal entity (for example, companies, corporations, LLCs and partnerships).
  • Director: A member of the board of directors of the business, or any other senior person responsible for managing the business. (Examples include CEO, COO, President, Managing Director, Executive Director, and so on.)

The following table shows the relationships that must be verified for each legal entity type:

Legal entity typeRelationships to verifyNote
Company, corporation, LLC, partnershipUBOs if they exist; otherwise directorsUK only: both UBOs and directors
Non-profitDirectorsMost non-profits don’t have UBOs
Individual or sole proprietorN/AN/A
Government entity or agencyN/ATo be exempt from providing UBO information, government entities must follow the process described in this Support article.
Publicly traded companyN/ATo be exempt from providing UBO information, publicly traded companies must follow the process described in this Support article.

Verify UBO and director information

UBOs and directors must provide the following information:

  • Full name
  • Date of birth
  • Address
  • Email
  • Title (directors only)

Stripe attempts to verify the person’s relationship by matching the following key properties of the person and the legal entity:

EntityKey properties
PersonFirst name Last name (If provided) ID number
Legal entityName Address Tax ID VAT ID Registration number

A successful verification might require only a subset of the properties to match.

Stripe attempts to verify relationships in the following ways:

MethodDescriptionSample requirements
Third-party providerIf a third-party provider is available, Stripe automatically attempts to verify all relationships on the account.owners.first_name owners.last_name company.tax_id
Official documentYou can provide a “Proof of UBO” document for owners and a “Proof of Registration” document for directors. Acceptable documents vary by country.owners.first_name owners.last_name company.name company.address.line1 company.address.city company.address.state documents.proof_of_ultimate_beneficial_ownership
Digital attestationYou can use the following PDF templates to provide digital attestations for your relationships: UBO digital attestation template Director digital attestation templateowners.id_number company.tax_id documents.proof_of_ultimate_beneficial_ownership documents.proof_of_ultimate_beneficial_ownership.signer

Identify relationship verification requirements using the API

Implement digital attestation for UBO and director verification using the API

Prefill UBO and director information Private preview

Optionally, you can also integrate with an API that programmatically detects and prefills UBOs or directors associated with a legal entity. The connected account can verify the relationship by confirming the detected information instead of through document upload or digital attestation.

This path can increase verification rates and reduce friction, but it doesn’t work for all accounts. You still need to handle document uploads or digital attestations for accounts where Stripe can’t prefill their relationships.

If you’re interested in prefill for UBO or director verification, sign up to express your interest below.

Interested in getting early access to the Stripe UBO/director prefill?

Enter your email to request access.

Netherlands business registration (KvK) requirements

Effective 14 May 2026

Earlier in 2026, platforms were required to collect a KvK (Kamer van Koophandel) number, a unique 8-digit business registration number, from connected accounts in the Netherlands (NL). As part of this change, the individual business type was restricted with an unsupported_business_type error, and unincorporated entities were required to provide a KvK number via company.tax_id.

Starting 14 May 2026, connected accounts representing individuals or unincorporated entities that don’t have access to a Stripe-hosted Dashboard are no longer required to provide a KvK number.

Connected accounts representing individuals or unincorporated entities that have access to the full Stripe Dashboard or the Express Dashboard must still provide a KvK number.

What’s changing

  • business _ type: "individual" is now supported for connected accounts in the Netherlands that don’t have access to a Stripe-hosted Dashboard. The unsupported _ business _ type error no longer appears for these accounts.
  • unincorporated _ partnership and unincorporated _ non _ profit business types no longer require company. tax _ id to hold the KvK number for connected accounts that don’t have access to a Stripe-hosted Dashboard.

What you need to do

No action is required. You don’t need to make any changes to your integration.

For existing connected accounts affected by this change:

  • Stripe automatically clears the unsupported _ business _ type error from requirements. errors for individual accounts.
  • Any capability restrictions (such as card _ payments or transfers ) tied to this error are automatically lifted.
  • Accounts representing individuals or unincorporated entities that were restricted for a missing KvK number are also automatically unrestricted.

New error codes

Verification error codes Public preview

The new error code verification_data_not_found can appear in the requirements.errors array on the Account object. This error signals that Stripe was unable to retrieve information (such as UBO or Director/Officer data) from third-party verification providers using the connected account’s known legal entity details. That can happen for a number of reasons, but it’s often because the account entered their information incorrectly.

This “data not found” error is distinct from existing verification error codes:

  • verification_missing_owners : Indicates that known owners are missing from the account.
  • verification_failed_keyed_match : Indicates a mismatch between submitted information and verification sources.
// 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."
 }]
 }
}

To handle this error, prompt the connected account to review and correct their legal entity information (company name, registration number, address). If they update their information, Stripe automatically attempts to verify it again.

If the account information is correct, or if Stripe still can’t verify updated information, use a manual verification method such as document upload or digital attestation.

Testing

You can create test accounts to use when developing and testing your integration. Test accounts can simulate different verification outcomes, allowing you to see how the API returns requirements and errors for each case.

The following examples help you prepare for the upcoming EU requirements changes. For more information about Connect testing in general, see Testing Stripe Connect.

Create a test account

Create a test Account by sending a POST request to the Accounts API using your sandbox secret key.

To access the new requirements before they’re released to non-test accounts, set a header enabling a preview version of the API, enable the experimental onboarding preview feature and enable the preview version when requesting a capability. For example:

The examples below demonstrate how to simulate different situations by using values that trigger specific responses for test accounts.

Test an Account belonging to an individual

This example creates an account that doesn’t require relationship verification because the business entity type is individual.

Create a test account following the earlier instructions, then set the basic business details:

The response includes the basic requirements for an individual. You can meet these requirements by creating a representative:

Specifying the DOB 1901-01-01 triggers successful identity verification in a sandbox. For other result triggers, see Test dates of birth. Similarly, setting the first line of the address to the string address_full_match triggers successful verification of the address. For other result triggers, see Test business addresses.

The response shows that the individual’s requirements have become pending. If you wait a few moments and retrieve the Account, you can see that those requirements have been cleared:

The only remaining requirements are for the bank account ( external_account) and terms of service (TOS). To clear the terms of service requirements, set the Account ’s tos_acceptance hash:

To clear the bank account requirements, create a test bank account for the Account. Specify a test bank account number according to its country:

Test an Account belonging to a company

This example creates an account that is subject to relationship verification requirements because the business entity type is company.

Regional considerations United Kingdom

The UK requires verification of both the ultimate beneficial owners (UBOs) and the directors. If you’ll have connected accounts in the UK, make sure to test with accounts that have the country set to GB.

Create a test account following the earlier instructions, then set the basic business details:

Specifying the tax ID number 000000000 triggers successful verification of the company. For other result triggers, see Test business tax IDs.

Next, provide a representative.

After the verification process for the representative completes, you can see the remaining requirements with a GET request:

The requirements in the requirements.currently_due array list the details we need about the owners on the Account. The requirements.alternatives array can include optional information that you can provide to fulfil certain requirements. For example:

{
 "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"
 ]
}

You can provide the fields listed in alternative_fields_due as another way to fulfil the requirements in the corresponding original_fields_due list. In this example, alternative_fields_due includes the properties in original_fields_due, plus documents.proof_of_ultimate_beneficial_ownership.files. That means the original information is required, but you have the option to also provide a document proving ultimate beneficial ownership to help the verification process.

To meet the owner requirements, create two persons and mark them as owners. The names in this example are hard-coded values for test accounts that use the tax ID number 000000000.

Indicate that you’ve created all of the Account ’s owners by setting company.owners_provided to true:

Completing this request removes all the owner requirements from the Account.

Test fallback to document verification

An Account ’s owner requirements remain in currently_due (or in pending_verification, if verification is in progress) until verification is successful.

When verification fails, one of your options is to upload a document. This example shows how to do so using the API.

Create a test account following the earlier instructions, then set the basic business details. Set the tax ID number to 222221001, which triggers owner verification failure. For other result triggers, see Test business tax IDs.

Next, provide a representative:

Then, create an owner:

Indicate that you’re done creating owners by setting company.owners_provided to true:

If you examine the Account, you can see that the owner requirements remain and the requirements.errors array contains an entry with a requirement of owners and a code of verification_failed_other. That means Stripe wasn’t able to verify the owners using the provided company information.

Public preview

If you’re using the public preview version of the API, the error code is verification_data_not_found instead of verification_failed_other.

If you receive this error for a real Account, check that you entered the details for the correct legal entity. This example assumes that the details are correct, and that you need to provide a document to verify them.

For a real Account, use the Files API to upload a document, then update the Account using the token returned in the response. For this example, use the test token file_relationship_document_success. For other result triggers, see Test relationship document tokens.

A few moments after updating the Account, you can get the current requirements and see that the owner requirements have been cleared.

Test a company with no applicable owners

If a company has no owners with more than 25% ownership, Stripe requires the director information instead. This example demonstrates how to provide director information.

Create a test account following the earlier instructions, then set the basic business details. Set the tax ID number to 000000000, which triggers company verification success.

Next, provide a representative:

To indicate that the business has no relevant owners, set company.owners_provided to true without creating any owners. To reuse an existing test Account that has owners, you can remove all the existing owners.

The requirements.alternatives array contains a set of director properties as an alternative to the owner properties. The process for creating a director is very similar to the process for creating an owner:

Indicate that you’re done creating directors by setting company.directors_provided to true:

To simulate a successful relationship verification, set company.name to the string match_name_relationships:

Other test cases

The following tests are also valuable:

  • A non _ profit type entity, which requires director verification (UBO verification isn’t an option).
  • Meeting director verification requirements using a document.
  • Companies in the UK that require both UBO verification and director verification.

See also

Last verified 2026-09-25

Is this helpful?