Connect
Custom
Update verified info

Update verified user information

Learn what verified information you can update for your Custom accounts.

When onboarding Custom accounts to a Connect platform, you collect the required information for each account that Stripe then verifies. If you update user information that’s already been verified, Stripe will need to review the new information. If Stripe is unable to verify the new information, you’ll have a grace period of 7 days to resolve any issues and complete verification.

During this grace period, the account functionality will remain the same. For example, if charges or payouts were previously enabled, they’ll continue to be enabled until the grace period ends. The end of the grace period is determined by the value of requirements.current_deadline and is not extended if you update additional information. You should resolve all requirements by the end of the grace period to prevent charges or payouts from being disabled.

These fields can be updated, with a grace period, after they’ve been verified:

  • Business name
  • First name
  • Last name
  • Date of birth

These fields cannot be updated after a company has been verified:

  • Business type
  • Tax ID
  • Tax ID registrar
  • Verification documents

These fields cannot be updated after an individual has been verified:

  • Gender
  • ID number (you can update this field after verification if it appears in the requirements array)

Change the account representative

You must specify a representative to activate the account, agree to Stripe’s terms, and act as primary contact for the account. You can change the account representative for any reason (e.g., the designated representative left the company or they no longer serve as owner or executive).

Do the following to change the account representative:

  • If necessary, add a Person object for the new representative. Stripe recommends that you verify the Person before proceeding, whether you designate an existing Person as the new representative or add a new Person.
  • Update the Person object to remove them as the current representative:
curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}}/persons/{{PERSON_ID}} \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d "relationship[representative]"=false
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' Stripe::Account.update_person( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', { relationship: { representative: false, }, } )
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' stripe.Account.modify_person( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', relationship={ 'representative': False, }, )
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); \Stripe\Account::updatePerson( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', [ 'relationship' => [ 'representative' => false, ], ] );
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; Account account = Account.retrieve("{{CONNECTED_STRIPE_ACCOUNT_ID}}"); Person person = account.persons().retrieve("{{PERSON_ID}}"); PersonUpdateParams params = PersonUpdateParams.builder() .setRelationship( PersonUpdateParams.Relationship.builder() .setRepresentative(false) .build()) .build(); person.update(params);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const person = await stripe.accounts.updatePerson( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', { relationship: { representative: false, }, } );
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" params := &stripe.PersonParams{ Account: stripe.String("{{CONNECTED_STRIPE_ACCOUNT_ID}}"), Relationship: &stripe.RelationshipParams{ Representative: stripe.Bool(false), }, } p, _ := person.Update("{{PERSON_ID}}", params)
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys StripeConfiguration.ApiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; var options = new PersonUpdateOptions { Relationship = new PersonRelationshipOptions { Representative = false, }, }; var service = new PersonService(); var person = service.Update("{{CONNECTED_STRIPE_ACCOUNT_ID}}", "{{PERSON_ID}}", options);
  • Update the Person object to nominate the new representative:
curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}}/persons/{{PERSON_ID}} \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d "relationship[representative]"=true
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' Stripe::Account.update_person( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', { relationship: { representative: true, }, } )
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' stripe.Account.modify_person( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', relationship={ 'representative': True, }, )
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); \Stripe\Account::updatePerson( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', [ 'relationship' => [ 'representative' => true, ], ] );
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; Account account = Account.retrieve("{{CONNECTED_STRIPE_ACCOUNT_ID}}"); Person person = account.persons().retrieve("{{PERSON_ID}}"); PersonUpdateParams params = PersonUpdateParams.builder() .setRelationship( PersonUpdateParams.Relationship.builder() .setRepresentative(true) .build()) .build(); person.update(params);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const person = await stripe.accounts.updatePerson( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', '{{PERSON_ID}}', { relationship: { representative: true, }, } );
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" params := &stripe.PersonParams{ Account: stripe.String("{{CONNECTED_STRIPE_ACCOUNT_ID}}"), Relationship: &stripe.RelationshipParams{ Representative: stripe.Bool(true), }, } p, _ := person.Update("{{PERSON_ID}}", params)
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys StripeConfiguration.ApiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; var options = new PersonUpdateOptions { Relationship = new PersonRelationshipOptions { Representative = true, }, }; var service = new PersonService(); var person = service.Update("{{CONNECTED_STRIPE_ACCOUNT_ID}}", "{{PERSON_ID}}", options);
  • Monitor the requirements.currently_due and requirements.past_due arrays to make sure that verification of the new representative is complete. Even if the new representative Person is already verified, there might be additional requirements for the representative role.

After you set a representative to false, Stripe allows a grace period of 7 days for you to set the new representative to true and to complete verification.

Was this page helpful?
Questions? Contact us.
Developer tutorials on YouTube.
You can unsubscribe at any time. Read our privacy policy.