Connect
Custom
Handle verification with the API

Handling verification with the API

Learn how Connect platforms with Custom accounts can use webhooks and the API to handle identity and business verification.

Platforms with Custom accounts are required to provide Stripe with necessary information about their users for Know Your Customer (KYC) purposes. As a Connect platform with Custom accounts, it’s your responsibility to collect the required information from your users and provide it to Stripe. We’ll then perform verification, asking for more information when needed.

The rest of this page goes through how platforms:

  • Know when identity or business verification is needed
  • Provide the necessary information to Stripe

You should also read the Identity Verification for Custom Accounts guide to learn about the verification flow options, how the API fields translate to both companies and individuals, and how to localize information requests.

Verification process

Before enabling charges and payouts for a connected account, Stripe needs certain information that varies based on:

  • The country the connected account is in.
  • The capabilities the connected account needs.
  • Whether the business entity is a company or an individual.

Platforms need to choose the proper onboarding flow for their business and users to meet the KYC requirements. Broadly speaking, this means providing all the requisite information upfront or incrementally. Either way, you’ll need to be set up to watch for and respond to requests from Stripe.

  1. Establish a platform webhook URL in your webhook settings to watch for activity, especially events of the account.updated type. When using the Persons API, you should also watch for person.updated events.
  2. Immediately after creating an account, check the Account object’s requirements[currently_due] attribute for any additional requirements. If additional information is required, obtain it from the user and update the connected account.
  3. Continue watching for account.updated event notifications to see if the requirements hash changes, and reaching out to your user for additional information as needed.

When you provide additional information, you don’t need to resubmit any previously verified details (e.g., if the dob has already been verified, it doesn’t need to be provided again in subsequent updates).

After an individual is verified, you can’t change that individual’s information. For verified companies, you’ll need to contact support to make changes (e.g., the name or EIN on file).

Determining if identity or business verification is needed

When you receive an account.updated webhook notification or fetch an account via the API, you receive an Account object. The Account object’s charges_enabled and payouts_enabled indicate whether the account can create charges and accept payouts.

The Account object has a requirements hash, representing the requirements needed to verify the account. The requirements hash has the following arrays:

  • eventually_due: Information in this array isn’t needed immediately, but it will be when certain thresholds are hit. All required information starts in this array.
  • currently_due: Information in this array needs to be collected by the current_deadline and is a subset of eventually_due.
  • past_due: Information in this array means the account is disabled because the required information wasn’t collected. past_due is a subset of currently_due.

The example below shows what the requirements hash might look like for an account that has some information that’s currently_due, and some information that’s eventually_due.

{ "requirements": { "disabled_reason": null, "current_deadline": 1529085600, "past_due": [], "currently_due": [ "external_account", "individual.dob.day", "individual.dob.month", "individual.dob.year", "individual.first_name", "individual.last_name", "tos_acceptance.date", "tos_acceptance.ip" ], "eventually_due": [ "external_account", "individual.address.city", "individual.address.line1", "individual.address.postal_code", "individual.address.state", "individual.dob.day", "individual.dob.month", "individual.dob.year", "individual.first_name", "individual.last_name", "individual.ssn_last_4", "tos_acceptance.date", "tos_acceptance.ip" ], }, ... }

If requirements[currently_due] isn’t an empty array, requirements[current_deadline] might be set. This is a Unix timestamp identifying when the information is needed. Usually, if Stripe doesn’t receive the information by the current_deadline, payouts on the account are disabled. However, there can be other consequences for rarer situations. For example, if payouts are already disabled and our inquiries aren’t being responded to within a reasonable period of time, Stripe might also disable the ability to process charges.

Separately, the requirements[disabled_reason] property might also be set. This is a string describing the reason why this account is unable to make payouts or charges. The reason can fall into several categories.

Reason Meaning
action_required.requested_capabilities You need to request capabilities for the connected account. For details, see Request and unrequest capabilities.
requirements.past_due Additional verification information is required to enable payout or charge capabilities on this account.
requirements.pending_verification Stripe is currently verifying information on the connected account.
rejected.fraud Account is rejected due to suspected fraud or illegal activity.
rejected.terms_of_service Account is rejected due to suspected terms of service violations.
rejected.listed Account is rejected because it's on a third-party prohibited persons or companies list (such as financial services provider or government).
rejected.other Account is rejected for another reason.
listed Account might be on a prohibited persons or companies list (Stripe will investigate and either reject or reinstate the account appropriately).
under_review Account is under review by Stripe.
other Account isn't rejected but is disabled for another reason while being reviewed.

Validation and verification errors

The Account object includes an errors array that explains why the validation or verification requirements haven’t been met, which are needed to enable your account and capabilities. The errors array has the following attributes:

  • requirement: Specifies which information from the currently_due array is needed.
  • code: Indicates the type of error that occurred. See the API reference for all possible error codes.
  • reason: Explains why the error occurred and how to resolve the error.

Below is an example that shows what the errors array might look like for an account with requirements that are currently_due, the reason why the submitted information can’t be used to enable the account, and how to resolve the error. If verification or validation is unsuccessful, requirements can reappear in currently_due with error information that might be delivered asynchronously to you through webhooks.

{ "requirements": { "current_deadline": 1234567800, "currently_due": [ "company.name", "company.address.line1", "{{PERSON_ID}}.verification.document", ], "errors": [ { "requirement": "company.address.line1", "code": "invalid_street_address", "reason": "The provided street address cannot be found. Please verify the street name and number are correct in \"10 Downing Street\"", }, { "requirement": "{{PERSON_ID}}.verification.document", "code": "verification_document_failed_greyscale", "reason": "Greyscale documents cannot be read. Please upload a color copy of the document.", } ] }

If verification or validation is unsuccessful but no requirements are currently due, a webhook triggers indicating that required information is eventually due.

Person information

During the verification process, information about the persons associated with an account needs to be collected. If you onboard:

  • Only companies, use the Persons API to collect this information.
  • Only individuals, you can use the Persons API or the individual hash on the Account object.
  • A combination of individuals and companies, use the Persons API to collect this information. This way you collect information in the same manner regardless of business type.

You can use a verification subhash to help manage identity verification on both the Person object and the individual hash (you should also watch for person.updated events so you know when there are changes).

{ "verification": { "details": null, "details_code": null, "document": null, "additional_document": null, "status": "unverified" }, ... }

The Account object has a verification subhash as well:

{ "verification": { "document": null } }

You can look up the definition for each verification attribute on the Person object or the Account object, but the two attributes worth noting now are status and details.

status indicates the current verification state for the person and has three possible values.

  • pending: Stripe is currently trying to verify this entity.
  • unverified: Stripe isn’t able to verify this entity right now, either because verification has failed or because we don’t have enough information to attempt verification.
  • verified: Stripe has successfully verified this entity.

Note that an unverified status isn’t necessarily an urgent issue, but it does mean that Stripe might request more information soon.

The details attribute provides an explanation for the current status.

Acceptable verification documents by country

Below is a listing of documents that Stripe can accept as proof of identity, address, and entity for each country Stripe supports.

Some forms of documentation require scans of both the front and back of the document. For these, use the document_back parameter to provide the back of the document. Unless explicitly noted, only a scan of the front of the document is required.

Acceptable forms of identification:

  • Passport
  • Driver Licence (Driver's license) — scans of front and back are required
  • Photo Card — scans of front and back are required
  • New South Wales Driving Instructor Licence — scans of front and back are required
  • Tasmanian Government Personal Information Card — scans of front and back are required
  • ImmiCard — scans of front and back are required
  • Proof of Age card — scans of front and back are required
  • Australian Defence Force (ADF) identification card (Military ID) — scans of front and back are required

Acceptable forms of address verification:

  • Driver Licence (Driver's license) — scans of front and back are required
  • Photo Card — scans of front and back are required
  • Tasmanian Government Personal Information Card — scans of front and back are required
  • ImmiCard — scans of front and back are required
  • Medicare document (Government health insurance document)
  • Centrelink document (Government pension document)
  • Australian Taxation Office letter or assessment (Government tax document)
  • Council rates or land valuation notice (Property tax document)

Acceptable forms of legal entity verification:

  • Australian Business Number Confirmation (Certificate of Registration)
  • Australian Securities and Investments Commission (ASIC) Record of Registration (Certificate of Registration)
  • Australian Business Register Extract (Commercial Register Extract)
  • Certificate of Registration of Change of Name
  • Australian Charities and Not-for-profits Commission Extract (Charity or Non-Profit Extract)
  • Consumer Affairs Association Extract (Incorporated Association Extract)

Acceptable forms of identification:

  • Reisepass (Passport)
  • Führerschein (Driver's license) — scans of front and back are required
  • Personalausweis Republik Österreich (Identity card) — scans of front and back are required
  • Aufenthaltstitel (Residence permit)
  • Identitätskarte für Fremde (Identity card for foreigners) — scans of front and back are required
  • Fremdenpässe (Alien's Passport)
  • Konventionsreisepass (Passport for asylum seekers)
  • Duldungskarte (Temporary residence permit) — scans of front and back are required

Acceptable forms of address verification:

  • Bestätigung der Meldung / Meldezettel (Residence registration)
  • Rechnung für Strom oder Gas (Utility bill)
  • Kontoauszug (Bank statement)
  • Jahresabschlüsse (Financial statements)

Acceptable forms of legal entity verification:

  • Firmenbuchauszug (Commercial register extract)
  • Mehrwertsteuerregistrierung (VAT Registration)

Acceptable forms of identification:

  • Paspoort / Passeport / Reisepass (Passport)
  • Rijbewijs / Permis de conduire / Führerschein (Driver's license) — scans of front and back are required
  • Elektronische identiteitskaart / Carte d'identité / eID (Identity card) — scans of front and back are required
  • Elektronische vreemdelingenkaart / Carte d’identité d’étranger / Elektronische Ausländerkarte (Identity card for foreigners) — scans of front and back are required
  • Verblijfsvergunning / Permis de résidence / Aufenthaltsgenehmigung (Residence permit)

Acceptable forms of address verification:

  • Attest van hoofdverblijfplaats / Certificat de résidence / Bescheinigung über den Hauptwohnort (Certificate of residence)
  • Energierekening / Facture de service / Rechnung eines Versorgungsunternehmens (Utility bill)
  • Bankafschrift / Relevé bancaire/Kontoauszug (Bank statement)
  • Verblijfsvergunning / Permis de résidence / Aufenthaltsgenehmigung (Residence permit)
  • Attest hypothecaire lening / État hypothécaire / Auszug aus dem Hypothekarkonto (Mortgage statement)
  • Attest van hoofdverblijfplaats / Courrier de confirmation d'enregistrement à la maison communale (Letter certifying registration at local town hall)
  • Pensioenoverzicht / Relevé de pension / Rentenbescheinigung (Pension statement)

Acceptable forms of legal entity verification:

  • Btw-registratie / Immatriculation à la TVA (VAT Registration)
  • Un extrait de la Banque-Carrefour des Entreprises (BCE) / Inschrijving in de Kruispuntbank van Ondernemingen (KBO) / Eintragung in die Zentrale Datenbank der Unternehmen (ZDU) (Commercial register extract)
  • Un extrait de la Banque-Carrefour des Entreprises (BCE)/Inschrijving in de Kruispuntbank van Ondernemingen (KBO)/ Eintragung in die Zentrale Datenbank der Unternehmen (ZDU) (Commercial register extract)
  • Statuten / Statuts (Articles of Incorporation)
  • Kopie van publicatie in de Bijlagen tot het Belgisch Staatsblad / Copie des annexes publiées dans le registre officiel belge / Ausfertigung zur Veröffentlichung in den Anlagen zum Belgischen Staatsblatt (Copy of appendices published in the official Belgian register)
  • Financiële staten / États financiers / Jahresabschluss (Financial statements)

Acceptable forms of identification:

  • Passaporte de estrangeiros (Non-Brazilian Passport)
  • Carteira de Motorista (CNH) (Driver's license)
  • Carteira de Identidade (RG) (National ID)

Acceptable forms of legal entity verification:

  • Contrato Social (Articles of Association)
  • Estatuto Social (By-laws)
  • Certificado da Condição de Microempreendedor Individual / CCMEI (MEI Certificate)

Acceptable forms of identification:

  • паспорт (Passport)
  • лична карта (Identity card)
  • Свидетелство за управление на мпс (Driver's license)
  • Разрешение за пребиваване (Residence permit) — scans of front and back are required

Acceptable forms of address verification:

  • Сметка за комунални услуги (Utility Bill)
  • Банково извлечение (Bank statement)
  • Справка за ипотека/ипотечно извлечение (Mortgage statement)

Acceptable forms of legal entity verification:

  • Регистрация по ДДС (VAT Registration)
  • Извлечение от Търговския регистър и регистъра на ЮЛНЦ (Commercial register extract)

Acceptable forms of identification:

  • Passport
  • Driver's license — scans of front and back are required
  • Certificate of Indian Status card
  • Permanent resident card
  • Identity card — scans of front and back are required
  • Non-driver photo ID
  • Photo card

Acceptable forms of identification:

  • Διαβατήριο / Pasaport (Passport)
  • Δελτίου Ταυτότητας / Kimlik kartı (Identity card) — scans of front and back are required
  • Άδεια Οδήγησης / Ehliyet (Driver's license) — scans of front and back are required

Acceptable forms of address verification:

  • Λογαριασμός κοινής ωφέλειας / Elektrik, su, doğal gaz faturası (Utility bill)
  • Αντίγραφο κίνησης λογαριασμού / Hesap özeti (Bank statement)
  • Αντίγραφο κίνησης λογαριασμού στεγαστικού δανείου / Konut kredisi ekstresi (Mortgage statement)
  • Ειδοποίηση επιβολής φόρου (Tax bill)
  • Βεβαίωση Εγγραφής / Tescil belgesi (Registration certificate)

Acceptable forms of legal entity verification:

  • Εγγραφή στο μητρώο Φ.Π.Α. (VAT Registration)
  • Καταστατικό / Şirket ana sözleşmesi (Articles of association)
  • Συστατική Πράξη Εταιρείας / Şirket Kuruluş Onay Belgesi (Certificate of Incorporation)
  • Οικονομικές καταστάσεις / Mali tablolar (Financial statements)
  • Μητρώο Επιχειρηματικών Οντοτήτων (Commercial register extract)

Acceptable forms of identification:

  • Cestovní pas (Passport)
  • Občanský průkaz (Identity card) — scans of front and back are required
  • Řidičský průkaz (Driver's license) — scans of front and back are required
  • Povolení k pobytu (Residence permit) — scans of front and back are required

Acceptable forms of address verification:

  • Faktura za služby (Utility bill)
  • Bankovní výpis (Bank statement)
  • Výpis z hypotéčního účtu (Mortgage statement)
  • Smlouva o pronájmu (Rental agreement)
  • Výpis z katastru (Statement from property register)
  • Smlouva o prodeji majetku (Contract for sale of property)

Acceptable forms of legal entity verification:

  • Registrace DPH (VAT Registration)
  • Výpis z obchodního rejstříku (Commercial register extract)
  • Stanovy akciové společnosti (Articles of association)
  • Registrace obchodu (Trade registration)

Acceptable forms of identification:

  • Pas (Passport)
  • Kørekort (Driver's license) — scans of front and back are required
  • Identitetskort fra København (City of Copenhagen Identity card) — scans of front and back are required
  • Opholdstilladelse (Residence permit) — scans of front and back are required
  • Militært identitetskort (Military identity card)
  • Identitetskort fra politiet (Police identity card)

Acceptable forms of address verification:

  • Forsyningsregning (Utility bill)
  • Kontoudtog (Bank statement)
  • Realkreditopgørelse (Mortgage statement)
  • Lejekontrakt (Rental contract)
  • Sundhedskort / sygesikringskort (Health insurance card)
  • Skattevurdering (Tax assessment)

Acceptable forms of legal entity verification:

  • Momsregistrering (VAT Registration)
  • Udskrift af handelsregisteruddrag (Commercial register extract)
  • Vedtægter (By-laws)
  • Registreringsattest (Registration certificate)
  • Regnskaber (Financial statements)

Acceptable forms of identification:

  • Pass (Passport)
  • Juhiluba (Driver's license)
  • ID-kaart (Identity card)
  • Elamisluba (Residence permit)

Acceptable forms of address verification:

  • Elukoha registreerimine (Residence registration)
  • Kommunaalarve (Utility bill)
  • Kontoväljavõte (Bank statement)

Acceptable forms of legal entity verification:

  • Käibemaksukohustuslasena registreerimine (VAT Registration)
  • Äriregistri registrikaart (Commercial register extract)
  • Maksuandmete tõend (Tax certificate)

Acceptable forms of identification:

  • Passi / Pass (Passport)
  • Ajokortti Körkort (Driver's license) — scans of front and back are required
  • Henkilökortti / Identitetskort (Identity card) — scans of front and back are required
  • Oleskelukortti / Uppehållstillstånd (Residence card) — scans of front and back are required

Acceptable forms of address verification:

  • Yleishyödykkeen lasku/Vatten- och elräkning (Utility bill)
  • Tiliote / Bankutdrag (Bank statement)
  • Asuntolainaselvitys / Inteckning (Mortgage statement)

Acceptable forms of legal entity verification:

  • Tilinpäätökset / Årsredovisning (Financial statements)
  • Yhtiöjärjestys / Bolagsordning (Articles of association)
  • Kaupparekisteriote / Handelsregistrering (Trade registration)
  • Kaupparekisteriote / Utdrag från handelsregister (Commercial register extract)
  • ALV-rekisteröinti / Momsregistreringsnummer (VAT Registration)

Acceptable forms of identification:

  • Passeport (Passport)
  • Permis de conduire (Driver's license) — scans of front and back are required
  • Carte d'identité (Identity card) — scans of front and back are required
  • Carte Vitale avec photo (Health insurance card)
  • Carte d'identité avec photographie délivrée par les autorités militaires (Military identity card)
  • Carte d'identité de parlementaire (Parliamentary identity card)
  • Carte d'identité d'élu local (Elected official identity card)
  • Carte du combattant avec photographie (Veteran's identity card)

Acceptable forms of address verification:

  • Facture de téléphone (Telephone/mobile bill)
  • Facture d'électricité, de gaz ou d'eau (Utility bill)
  • Quittance de loyer (d'un organisme social ou d'une agence immobilière) (Rent receipt from social or real estate agency)
  • Titre de propriété (Title deed)
  • Avis d'imposition (Taxation notice)
  • Avis de non-imposition / Avis de situation déclarative à l'impôt sur le revenu / ASDIR (Certificate of non-taxation)
  • Attestation de paiement de taxe d'habitation / Justificatif de paiement de taxe d'habitation (Proof of housing tax)
  • Attestation ou facture d'assurance du logement (Proof of home insurance)
  • Relevé de la Caf mentionnant les aides liées au logement (Caf statement mentioning housing-related aid)

Acceptable forms of legal entity verification:

  • VAT Registration
  • Comptes annuels (Financial statements)
  • Extrait K, L, Kbis ou Lbis (Commercial register extract)
  • Extrait d'immatriculation D1 (Artisan register extract)
  • Avis de situation au répertoire Sirene (Siren register extract)
  • Lettre de confirmation de numéro SIREN délivrée par l'Urssaf (Siren number confirmation)
  • Statuts de l'entreprise (Articles of incorporation)

Acceptable forms of identification:

  • Reisepass (Passport)
  • Führerschein (Driver's license) — scans of front and back are required
  • Personalausweis (Identity card) — scans of front and back are required
  • Aufenthaltstitel (Residence permit) — scans of front and back are required

Acceptable forms of address verification:

  • Anmeldebestätigung / Meldebescheinigung (Proof of residence)
  • Meldebescheinigung (Landlord letter)
  • Betriebskostenabrechnung (Utility bill)
  • Bankauszug (Bank statement)
  • Darlehenskontoauszug (Mortgage statement)
  • Amtlich ausgestelltes Dokument (Government issued document)

Acceptable forms of legal entity verification:

  • USt-Registrierung (VAT Registration)
  • Gewerbeanmeldung (Trade registration)
  • Gewerbeschein (Trade license)
  • Handelsregisterauszug (Commercial register extract)
  • Jahresabschluss (Financial statements)

Acceptable forms of identification:

  • Διαβατήριο (Passport)
  • Δελτίο Ταυτότητας (Identity card) — scans of front and back are required
  • Βεβαίωση Διαμονής (Residence Certificate)

Acceptable forms of address verification:

  • Βεβαίωση Διαμονής (Residence Certificate)
  • Λογαριασμός κοινής ωφέλειας (Utility bill)
  • Αντίγραφο κίνησης λογαριασμού (Bank statement)
  • Κρατικό έγγραφο (Government issued document)
  • Αντίγραφο κίνησης λογαριασμού στεγαστικού δανείου (Mortgage statement)

Acceptable forms of legal entity verification:

  • Εγγραφή στο μητρώο Φ.Π.Α. (VAT Registration)
  • Εγγραφή σε εμπορικό μητρώο (Commercial registration)
  • Απόσπασμα εμπορικού μητρώου (Commercial register extract)
  • Πιστοποιητικό / Βεβαίωση Εγγραφής (Certificate of registration)
  • Απόσπασμα εμπορικού μητρώου (Commercial register extract)

Acceptable forms of identification:

  • 身份證 (Passport)
  • 駕駛執照 (Identity card) — scans of front and back are required
  • 登記事項證明書 (Certificate of Registered Particulars)
  • 豁免證明書 (Certificate of Exemption)
  • 越南難民證 (Vietnamese refugee card)

Acceptable forms of address verification:

  • 駕駛執照 (Identity card) — scans of front and back are required
  • 登記事項證明書 (Certificate of Registered Particulars)
  • 水電費帳單 (Utility bill)
  • 銀行帳單 (Bank statement)
  • 電話費帳單/手機帳單 (Telephone/mobile phone bill)
  • 保險公司聲明 (Insurance company statement)
  • 政府或司法機關簽發的文件 (Government or Judiciary issued document)
  • 租約 (Tenancy agreement)
  • 財產買賣合同 (Contract for sale of property)
  • 大學帳單或信函 (University bill or letter)

Acceptable forms of legal entity verification:

  • 商業登記摘錄 (Commercial register extract)
  • 公司註冊證書 (Certificate of Incorporation)
  • 商業登記證 (Business registration certificate)

Acceptable forms of identification:

  • Útlevél (Passport)
  • Személyazonosító igazolvány (Identity card) — scans of front and back are required
  • Tartózkodási engedély (Residence permit) — scans of front and back are required

Acceptable forms of address verification:

  • Tartózkodási engedély (Residence permit) — scans of front and back are required
  • Lakcímigazolvány (Address Card)
  • Közüzemi számla (Utility bill)
  • Bankszámlakivonat (Bank statement)
  • Jelzálog-tanúsítvány (Mortgage statement)

Acceptable forms of legal entity verification:

  • Áfaregisztráció (VAT Registration)
  • Cégbejegyzési tanúsítvány (Certificate of Incorporation)
  • Cégkivonat (Commercial Register Extract)

Acceptable forms of identification:

  • पासपोर्ट (Passport)
  • पैन कार्ड (PAN Card)
  • ड्राइविंग लाइसेंस (Driver's License)
  • वोटर आईडी कार्ड (Voter ID Card) — scans of front and back are required

Acceptable forms of address verification:

  • वोटर आईडी कार्ड (Voter ID Card) — scans of front and back are required

Acceptable forms of legal entity verification:

  • पैन कार्ड (PAN Card)
  • आर्टिकल्स ऑफ इनकॉर्पोरेशन (Articles of Incorporation)

Acceptable forms of legal entity verification:

  • Company registration certificate
  • Memorandum of Association
  • Tax ID document
  • Company License
  • Ministerial Decree

Acceptable forms of identification:

  • Passport
  • Driver's license — scans of front and back are required
  • National Age Card — scans of front and back are required

Acceptable forms of address verification:

  • Driver's license — scans of front and back are required
  • Bank statement
  • Utility bill
  • Car Insurance Policy
  • Home Insurance Policy
  • Social insurance document
  • Government issued document
  • Tax credit certificate (TCC)
  • Statement of Liability from Revenue

Acceptable forms of legal entity verification:

  • VAT Registration
  • Certificate of Registration
  • Partnership Agreement
  • Certificate of Incorporation
  • Articles of Association
  • An Oifig um Chlárú Cuideachtaí (Companies Registration Office) (Commercial Register Extract)

Acceptable forms of identification:

  • Passaporto (Passport)
  • Patente di guida (Driver’s license) — scans of front and back are required
  • Carta di identità / Carta d'identità (Identity card) — scans of front and back are required
  • Patente nautica (Boat license)
  • Porto d’armi (Weapons license)
  • Libretto di pensione (Pension book)

Acceptable forms of address verification:

  • Carta di identità / Carta d'identità (Identity card) — scans of front and back are required
  • Certificato di residenza (Residence certificate)
  • Bolletta (Utility bill)
  • Estratto conto bancario (Bank statement)

Acceptable forms of legal entity verification:

  • Certificato di attribuzione Partita Iva / Certificato Partita Iva (VAT Registration)
  • Certificato di iscrizione al Registro Imprese / Certificato camerale (Company registration certificate)
  • Atto costitutivo (Articles of incorporation)
  • Statuto (By-laws-Memorandum)
  • Visura camerale / Certificato camerale (Registers and lists of authorized entities)
  • Rendiconto finanziario / Bilancio (Financial statements or equivalent documents)

Acceptable forms of identification:

  • パスポート (Passport)
  • 運転免許証 (Driver's license) — scans of front and back are required
  • 在留カード・特別永住者証明書 (Residence Card)
  • マイナンバーカード (顔写真付き) (My Number Card, with photo)
  • 住民基本台帳カード (顔写真付き)/住基カード (顔写真付き) (Juki Card, with photo)

Acceptable forms of identification:

  • Pase (Passport)
  • Personas apliecība (Identity Card)
  • Uzturēšanās atļauja (Residence Permit) — scans of front and back are required

Acceptable forms of address verification:

  • Personas apliecība (Identity Card)
  • Komunālo pakalpojumu rēķins (Utility bill)
  • Finanšu iestādes pārskats (Statement from a financial institution)
  • Valsts iestādes izsniegta vēstule (Letter issued from a government institution)

Acceptable forms of legal entity verification:

  • PVN reģistrācijas apliecība (VAT Registration)
  • Uzņēmuma reģistrācijas apliecība (Business Registration)
  • Komersanta reģistrācijas apliecība (Merchant Registration Certificate)
  • Lursoft dokuments (Lursoft Document)
  • Reģistra izsniegts dokuments ar PVN maksātāja numuru (VAT number from the register)

Acceptable forms of identification:

  • Passport
  • Driver's license
  • Identity Card — scans of front and back are required

Acceptable forms of address verification:

  • Utility bill
  • Bank statement
  • Government-issued letter
  • Residence certificate

Acceptable forms of legal entity verification:

  • Commercial Register Extract

Acceptable forms of identification:

  • Pasas (Passport)
  • Asmens tapatybės kortelė (Identity Card)
  • Vairuotojo pažymėjimas (Driver’s License)

Acceptable forms of address verification:

  • Asmens tapatybės kortelė (Identity Card)
  • Vairuotojo pažymėjimas (Driver’s License)
  • Komunalinių mokesčių sąskaita (Utility bill)
  • Išrašas iš finansų institucijos (Statement from a financial institution)
  • Vyriausybės institucijos laiškas (Letter issued from a government institution)

Acceptable forms of legal entity verification:

  • PVM mokėtojo registracija (VAT Registration)
  • Lietuvos Respublikos juridinių asmenų registro išplėstinis išrašas (Extract from the register of entities)
  • Registravimo pažymėjimas (Registration certificate)

Acceptable forms of identification:

  • Passeport / Reisepass (Passport)
  • Permis de conduire / Führerschein (Driver’s license) — scans of front and back are required
  • Carte d'identité / Personalausweis (Identity card) — scans of front and back are required
  • Permis de conduire local / Aufenthaltserlaubnis (Resident permit ID) — scans of front and back are required

Acceptable forms of address verification:

  • Carte d'identité / Personalausweis (Identity card) — scans of front and back are required
  • Facture d'un service public / Stromrechnung (Utility bill)
  • Déclaration d'une institution financière / Erklärung eines Finanzinstituts (Statement from a financial institution)
  • lettre émise par le gouvernement / Regierungsschreiben (Government issued letter)
  • Papier d'identité qui dispose d'une adresse / ID-Dokument mit einer Adresse (ID document that has an address)

Acceptable forms of legal entity verification:

  • Publication des statuts / Veröffentlichung der Satzung (Memorandum / Publication of articles of association)
  • Immatriculation à la TVA / Umsatzsteuerregistrierung (VAT registration)
  • Licence commerciale / Handelslizenz (Trade license)

Acceptable forms of identification:

  • Kad Pengenalan / MyKad (Identity Card)
  • Pasport (Passport)
  • Lesen Memandu (Driving Licence)

Acceptable forms of legal entity verification:

  • Sijil Pemerbadanan Syarikat (Certificate of Incorporation)
  • Dokumen Pendaftaran Perniagaan (Business Registration Document)

Acceptable forms of identification:

  • passaport (Passport)
  • Karta Tal-Identita (Identity Card)
  • Liċenzja tas-Sewqan (Driver License)
  • Permess ta' Residenza (Residence Permit) — scans of front and back are required

Acceptable forms of address verification:

  • Kont tal-Bank (Bank statement)
  • Kont tad-Dawl u Ilma (Utility Bill)
  • Dikjarazzjoni ta' self (Mortgage statement)

Acceptable forms of legal entity verification:

  • Commercial register extract

Acceptable forms of identification:

  • Pasaporte (Passport)
  • Tarjeta de identificación (ID card) — scans of front and back are required
  • ID consular / ID matricular consular (Consular ID/Matricular Consular ID Card)
  • Credencial de elector (Voter ID card)
  • CURP, Clave Única de Registro de Población (CURP, Clave Única de Registro de Población)
  • Acta de nacimiento (Birth Certificate)
  • Licencia de conducir (Driver license)

Acceptable forms of address verification:

  • Recibo de servicios (Utility Bills)
  • Estado de cuenta de una institución financiera (Statement from a financial institution)
  • Aviso emitido por el gobierno (Government issued letter)
  • Licencia de conducir (Driver license)

Acceptable forms of legal entity verification:

  • Cédula de Identificación Fiscal (Tax ID)
  • Estatutos (Articles of Incorporation)
  • Reglamentos vigentes (Current Bylaws)
  • Poder notarial (Power of attorney)
  • Constancia de Situación Fiscal SAT (Constancia de Situación Fiscal SAT)

Acceptable forms of identification:

  • paspoort (Passport)
  • rijbewijs (Driver license) — scans of front and back are required
  • nationaal ID-bewijs (National ID) — scans of front and back are required
  • verblijfsvergunning (Resident permit ID)
  • Nederlands vreemdelingendocument (Dutch aliens document)

Acceptable forms of address verification:

  • energierekening (Utility bill)
  • verklaring van een financiële instelling (Statement from a financial institution)
  • door de overheid verstrekte brief (Government issued letter)
  • bewijs van inboedelverzekering (Proof of home insurance)

Acceptable forms of legal entity verification:

  • btw-registratie (VAT Registration)
  • uittreksel Kamer van Koophandel (Company registration certificate)
  • statuten (By-laws memorandum)

Acceptable forms of identification:

  • Passport
  • Driver license — scans of front and back are required
  • New Zealand emergency travel document
  • New Zealand refugee travel document
  • New Zealand certificate of identity

Acceptable forms of address verification:

  • Passport
  • Driver license — scans of front and back are required
  • Utility bill
  • Central Government Agency document
  • Local Council/Government letter
  • Signed rental tenancy agreement
  • Electoral roll papers
  • Insurance policy document
  • Car registration notification/demand
  • Financial statement

Acceptable forms of legal entity verification:

  • Statement from a financial institution
  • Government issued letter
  • VAT Registration
  • New Zealand Business Number Registration Extract
  • New Zealand Companies Office Company Extract
  • New Zealand Certificate of Incorporation
  • New Zealand Certificate of Good Standing
  • Memorandum of Association
  • Financial statement

Acceptable forms of identification:

  • Pass (Passport)
  • Førerkort (Driver License) — scans of front and back are required
  • ID-kort (ID card)
  • Oppholdskort (Resident permit ID)

Acceptable forms of address verification:

  • Oppholdskort (Resident permit ID)
  • Vann- eller strømregning (Utility bill)
  • Kontoutskrift fra en finansinstitusjon (Statement from a financial institution)
  • Offentlig utstedt brev (Government issued letter)
  • Bostedsattest (Proof of Residence)

Acceptable forms of legal entity verification:

  • Kontoutskrift fra en finansinstitusjon (Statement from a financial institution)
  • Firmaattest (Article of incorporation)
  • Offentlig utstedt dokument (Government issued document)
  • Finansregnskap (Financial statement)

Acceptable forms of identification:

  • Pasaporte (Passport)
  • Documento Nacional de Identidad (DNI) (National ID)
  • Documento Nacional de Identidad Electrónico (DNIe) (Electronic National ID)
  • Carné de Extranjería (Immigration Card)
  • Licencia de conducir / Brevete (Driver License)

Acceptable forms of legal entity verification:

  • Acto Constitutivo / Minuta (Articles of Incorporation)
  • Registro en SUNARP (SUNARP Registration)

Acceptable forms of identification:

  • Paszport (Passport)
  • Prawo jazdy (Drivers License)
  • Dowód osobisty (Identity Card)
  • Zezwolenie na pobyt (Residence Permit) — scans of front and back are required

Acceptable forms of address verification:

  • Paszport (Passport)
  • Prawo jazdy (Drivers License)
  • Dowód osobisty (Identity Card)
  • Dokument o zameldowaniu (Residence address certificate)
  • Deklaracja podatkowa (Tax return)
  • Dokument o zameldowaniu na pobyt czasowy (Temporary residence registration certificate)
  • Dokument o zameldowaniu na pobyt czasowy (Social or medical insurance card issued by a government administration body)
  • Rachunek za media (Utility bill)
  • Zaświadczenie z instytucji finansowej (Statement from a financial institution)
  • Pismo z instytucji rządowej (Letter issued from a government institution)

Acceptable forms of legal entity verification:

  • Odpis z Krajowego Rejestru Sądowego - KRS + REGON (Odpis z Krajowego Rejestru Sądowego - KRS + REGON)
  • Numer Krajowego Rejestru Sądowego (KRS) (National Court Register number)
  • Zaświadczenie o numerze identyfikacyjnym REGON (REGON certificate)

Acceptable forms of identification:

  • Passaporte (Passport)
  • Carta de condução (Driver license)
  • Cartão de identidade (ID card) — scans of front and back are required
  • Cartão de cidadão (Citizen card)
  • Título de residência (Residence Permit) — scans of front and back are required

Acceptable forms of address verification:

  • Carta de condução (Driver license)
  • Cartão de identidade (ID card) — scans of front and back are required
  • Atestado de residência (Residence certificate)
  • Fatura de serviços (Utility bill)
  • Extrato bancário (Statement from a financial institution)
  • Carta emitida pelo Governo (Government issued letter)

Acceptable forms of legal entity verification:

  • Registo para efeitos de IVA (VAT Registration)
  • Estatutos (da sociedade) (Articles of incorporation)
  • Certidão de regularidade / Certificado de inscrição (Certificate of Good Standing)

Acceptable forms of identification:

  • Paşaport (Passport)
  • Carte de identitate / Buletin (Identity Card)
  • Permis de şedere (Residence Permit) — scans of front and back are required
  • Permis de conducere (Driver License)

Acceptable forms of address verification:

  • Factură pentru utilităţi (Utility Bill)
  • Extras de cont (Bank statement)
  • Declaraţie privitoare la ipotecă (Mortgage statement)

Acceptable forms of legal entity verification:

  • Certificat de înregistrare fiscală (Tax Registration Certificate)
  • Certificate constatatoare (Certificate constatatoare)

Acceptable forms of identification:

  • 护照 (Passport)
  • 驾驶执照 (Driver license) — scans of front and back are required
  • 身份证 (ID card) — scans of front and back are required
  • 居民身份证 (National ID)
  • 新加坡工作许可证或通行证 (Singapore Work Permit or Pass)
  • 新加坡军人身份证 (Singapore Armed Forces Card)
  • 新加坡国民服务身份证 (Singapore National Service Identity Card)

Acceptable forms of identification:

  • Cestovný pas (Passport)
  • Občiansky preukaz (ID Card)
  • Vodičský preukaz (Driver License)
  • Povolenie na pobyt (Residence Permit) — scans of front and back are required

Acceptable forms of address verification:

  • Občiansky preukaz (ID Card)
  • Vodičský preukaz (Driver License)
  • Účet za energie (Utility bill)
  • Vyhlásenie finančnej inštitúcie (Statement from a financial institution)
  • List vydaný vládou (Government issued letter)

Acceptable forms of legal entity verification:

  • Registrácia DPH (VAT Registration)
  • Rozhodnutie z Ministerstva kultúry Slovenskej republiky (Rozhodnutie z Ministerstvo Kultury Slovenskj republiky)
  • Výpis z Obchodného registra (Certificate of Incorporation)

Acceptable forms of identification:

  • Potni list (Passport)
  • Osebna izkaznica (ID Card)
  • Vozniško dovoljenje (Driver License)
  • Dovoljenje za prebivanje (Residence Permit) — scans of front and back are required

Acceptable forms of address verification:

  • Osebna izkaznica (ID Card)
  • Vozniško dovoljenje (Driver License)
  • Račun za komunalne storitve (Utility Bill)
  • Izpisek finančne ustanove (Statement from a financial institution)
  • Pismo, ki ga izda vladni organ (Government issued letter)

Acceptable forms of legal entity verification:

  • Registracija za DDV (če velja za uporabnika) (VAT Registration)
  • Obvestilo o identifikaciji in razvrstitvi po dejavnostih (Obvestilo o Identifikaciji in Razvrstitvi po Dejavnosti)
  • Elektronski izpisek iz Poslovnega registra Slovenije (e-izpisek) (Electronic Business Extract)
  • Ustanovitveni akt (Incorporation document)

Acceptable forms of identification:

  • Pasaporte (Passport)
  • Permiso de conducir (Driver license)
  • Documento nacional de identidad (DNI) (National ID) — scans of front and back are required
  • Tarjeta de Identidad de Extranjero Card (Resident permit ID)

Acceptable forms of address verification:

  • Factura de servicios públicos (Utility Bill)
  • Extracto bancario o factura de teléfono móvil (Bank statement or phone invoice)
  • Government issued letter
  • Certificado de residencia (Residence certificate)

Acceptable forms of legal entity verification:

  • VAT Registration
  • Documento acreditativo del NIF (NIF document)
  • Escritura de constitución (Company registration certificate)

Acceptable forms of identification:

  • Pass (Passport)
  • Körkort (Driver license)
  • Nationellt ID-kort (National ID) — scans of front and back are required
  • Personbevis (Birth Certificate)
  • ID-kort (Swedish Standards Institute (SIS) approved ID cards)

Acceptable forms of address verification:

  • Nationellt ID-kort (National ID) — scans of front and back are required
  • Hushållsräkning (Utility Bill)
  • Bankkontoutdrag (Statement from a financial institution)
  • Myndighetsdokument (Government issued letter)
  • Uppehållstillståndskort (Residence permit card)

Acceptable forms of legal entity verification:

  • Momsregistreringsnummer (VAT Registration)
  • Registreringsbevis (Registration Certificate)
  • Registreringsbevis (Skatteverket) (Document issued by government agency showing organization identity number)
  • Bolagsordningsintyg (Articles of association)
  • Bankårsbesked (Financial statements)
  • Inskrivningsbevis (Notice by the Registration Office in the Official Gazette)

Acceptable forms of identification:

  • Reisepass / Passeport / Passaporto (Passport)
  • Führerschein / Permis de conduire / Licenza di condurre (Driver license)
  • Identitäskarte / Carte d'identité / Carta d'identità (National ID) — scans of front and back are required
  • Aufenthaltsbewilligung / Permis de séjour / Libretto per stranieri (Residence permit)

Acceptable forms of address verification:

  • Identitäskarte / Carte d'identité / Carta d'identità (National ID) — scans of front and back are required
  • Wohnsitzbestätigung / Attestation de résidence / Certificato di domicilio (Residence certificate)
  • Rechnung von Energieversorgern / Facture de services publics / Fattura di fornitori di energia (Utility Bill)
  • Kontoauszug / Déclaration d'une institution financière / Dichiarazione di un istituto finanziario (Statement from a financial institution)
  • Offizielles Schreiben einer Behörde / lettre émise par le gouvernement / Lettera rilasciata dal governo (Government issued letter)

Acceptable forms of legal entity verification:

  • MwSt-Registrierung / Immatriculation à la TVA / Registro IVA (VAT Registration)
  • Gründungsurkunde / Statuts constitutifs / Atto costitutivo (Articles of incorporation)
  • Jahresabschluss / Etats financiers / Rendiconto finanziario (Financial statement)
  • Handelsregistereintrag / Inscription au registre du commerce / Registro di commercio del cantone (Commercial register entry)
  • Handelsregisterauszug / Extrait du registre du commerce / Numero d’identificazione delle imprese (IDI) dell'Ufficio Federale di Statistica (Commercial register extract)

Acceptable forms of identification:

  • Emirates ID (Emirates ID) — scans of front and back are required
  • Passport (Passport)
  • Passport visa page (Passport visa page)
  • Proof of bank account (Proof of bank account)

Acceptable forms of legal entity verification:

  • Memorandum of Association (Memorandum of Association)
  • Trade license (Trade License)
  • Power of Attorney (Proof of Authorization)

Acceptable forms of identification:

  • Passport
  • Driver license
  • Resident permit
  • Citizen Card
  • Electoral ID
  • Validate UK

Acceptable forms of address verification:

  • Driver license
  • Utility Bill
  • Statement from a financial institution
  • Government issued letter
  • Solicitors letter
  • Council or housing association documentation
  • Benefits Agency documentation
  • Electoral Register entry
  • NHS Medical Card
  • GP letter of registration with the surgery

Acceptable forms of legal entity verification:

  • VAT Registration
  • Certificate of Incorporation
  • Companies House Document
  • HM Revenue and Customs: VAT Certificate
  • HM Revenue and Customs: Account Statement
  • Charity Commission Document
  • OSCR Scottish Charity Regulator

Acceptable forms of identification:

  • Passport
  • Passport card
  • Driver license
  • State issued ID card
  • Resident permit ID / U.S. Green Card
  • Border crossing card
  • Child ID card
  • NYC card
  • U.S. visa card
  • Birth Certificate

Acceptable forms of legal entity verification:

  • IRS Letter 147C
  • IRS SS-4 confirmation letter

Handling document verification problems

Many complications with the verification process involve the uploaded document itself. To help you recognize and handle the most common problems, the table below lists possible values for the error code (in the requirements[errors] array) and the likely resolutions for each error.

Below is a list of errors related to document upload:

Error Resolution
verification_document_corrupt
verification_document_failed_copy
verification_document_failed_greyscale
verification_document_incomplete
verification_document_not_readable
verification_document_not_uploaded
verification_document_not_signed
verification_document_missing_back
verification_document_missing_front
verification_document_too_large
The upload failed due to a problem with the file itself. Ask your user to provide a new file that meets these requirements:
  • Color image (8,000 pixels by 8,000 pixels or smaller)
  • 10 MB or less
  • For identity documents, can be JPG or PNG format
  • For address or legal entity documents, can be JPG, PNG, or PDF format
verification_document_country_not_supported
verification_document_invalid
verification_document_type_not_supported
The provided file is not an acceptable form of ID from a supported country. Ask your user to provide a new file that meets that requirement. For a list, see Acceptable ID types by country.
verification_failed_other
verification_document_failed_other
Your team may contact Stripe to learn more about why identity verification failed.
verification_document_expired verification_document_issue_or_expiry_date_missing
The issue or expiry date is missing on the document, or the document is expired. If it’s an identity document, its expiration date must be after the date the document was submitted. If it’s an address document, the issue date must be within the last six months.

Below is a list of errors related to identity verification:

Error Resolution
verification_failed_keyed_identity The name on the account couldn't be verified. Ask your user to verify that they have provided their full legal name and to also provide a photo ID matching that name.
verification_document_name_mismatch
verification_document_dob_mismatch
verification_document_address_mismatch
verification_document_id_number_mismatch
verification_document_photo_mismatch
The information on the ID document doesn't match the information provided by the user. Ask your user to verify and correct the provided information on the account.
verification_document_fraudulent
verification_document_manipulated
The document might have been altered so it could not be verified. Your team may contact Stripe to learn more.

Below is a list of errors related to business verification:

Error Resolution
verification_failed_keyed_match
verification_failed_document_match
The information on the account couldn't be verified. Your user can either upload a document to confirm their account details, or update their information on their account.
verification_failed_tax_id_not_issued
verification_failed_tax_id_match
The information that your user provided couldn't be verified with the IRS. Ask your user to correct any possible errors in the company name or tax ID, or upload a document that contains those fields.
(U.S. only)
verification_failed_id_number_match
verification_failed_name_match
verification_failed_address_match
The information on the document doesn't match the information provided by the user. Ask your user to verify and correct the provided information on the account, or upload a document with information that matches the account.
verification_document_address_missing
verification_document_id_number_missing
verification_document_name_missing
The uploaded document is missing a required field. Ask your user to upload another document that contains the missing field.

Handling identity verification

You can respond in two ways to an identity verification change. The first is to perform an update account call, correcting or adding information.

Secondarily, we might ask you to upload a document. Depending on how much of the user’s information Stripe has been able to verify, we might require three different types of document uploads. You can determine what documents to upload based on the fields listed in requirements[currently_due]:

  • person.verification.document: Requires a color scan or photo of an acceptable form of ID.
  • person.verification.additional_document: Requires a color scan or photo of a document verifying the user’s address, such as a utility bill.
  • company.verification.document: Requires a proof of entity document establishing the business’ entity ID number, such as the company’s articles of incorporation.

Uploading a document is a two-step process:

  1. Upload the file to Stripe
  2. Attach the file to the account

Uploading a file

To upload a file, POST it as part of a multipart/form-data request to https://files.stripe.com/v1/files.

The uploaded file must meet these requirements:

  • Color image (8,000 pixels by 8,000 pixels or smaller)
  • 10 MB or less
  • For identity documents, can be JPG or PNG format
  • For address or legal entity documents, can be JPG, PNG, or PDF format

Pass the file in the file parameter and set the purpose parameter to identity_document:

curl https://files.stripe.com/v1/files \ -u {{PLATFORM_SECRET_KEY}}: \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}" \ -F purpose=identity_document \ -F file="@/path/to/a/file"
# 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::File.create({ purpose: 'identity_document', file: File.new('/path/to/a/file.jpg'), }, { stripe_account: '{{CONNECTED_STRIPE_ACCOUNT_ID}}', })
# 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' with open("/path/to/a/file.jpg", "rb") as fp: stripe.File.create( purpose='identity_document', file=fp, stripe_account='{{CONNECTED_STRIPE_ACCOUNT_ID}}', )
// 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\File::create([ 'purpose' => 'identity_document', 'file' => fopen('/path/to/a/file.jpg', 'r'), ], [ 'stripe_account' => '{{CONNECTED_STRIPE_ACCOUNT_ID}}', ]);
// 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"; FileCreateParams params = FileCreateParams.builder() .setPurpose(FileCreateParams.Purpose.IDENTITY_DOCUMENT) .setFile(new java.io.File("/path/to/a/file.jpg")) .build(); RequestOptions requestOptions = RequestOptions.builder() .setStripeAccount("{{CONNECTED_STRIPE_ACCOUNT_ID}}") .build(); File file = File.create(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 fs = require('fs'); const file = await stripe.files.create({ purpose: 'identity_document', file: { data: fs.readFileSync('/path/to/a/file.jpg'), name: 'file_name.jpg', type: 'application/octet-stream', }, }, { stripeAccount: '{{CONNECTED_STRIPE_ACCOUNT_ID}}', });
// 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" fp, _ := os.Open("/path/to/a/success.png") params := &stripe.FileParams{ FileReader: fp, Filename: stripe.String("success.png"), Purpose: stripe.String(string(stripe.FileUploadPurposeIdentityDocument)), } params.SetStripeAccount("{{CONNECTED_STRIPE_ACCOUNT_ID}}") f, _ := file.New(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 filename = "/path/to/a/success.png"; using (FileStream stream = System.IO.File.Open(filename, FileMode.Open)) { var options = new FileCreateOptions { File = stream, Purpose = FilePurpose.IdentityDocument, }; var service = new FileService(); var upload = service.Create(options); }

This request uploads the file and returns a token:

{ "id": "file_5dtoJkOhAxrMWb", "created": 1403047735, "size": 4908 }

You may then use the token’s id value to attach the file to a connected account for identity verification.

Attaching the file

After you upload the file and receive a representative token, provide the file ID using the appropriate field in your update account call.

Below is an example for an ID document:

curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}}/persons/{{PERSON_ID}} \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d "verification[document][front]"=file_5dtoJkOhAxrMWb
# 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}}', { verification: { document: { front: 'file_5dtoJkOhAxrMWb', }, }, } )
# 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}}', verification={ 'document': { 'front': 'file_5dtoJkOhAxrMWb', }, }, )
// 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}}', [ 'verification' => [ 'document' => [ 'front' => 'file_5dtoJkOhAxrMWb', ], ], ] );
// 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() .setVerification( PersonUpdateParams.Verification.builder() .setDocument( PersonUpdateParams.Verification.Document.builder() .setFront("file_5dtoJkOhAxrMWb") .build()) .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}}', { verification: { document: { front: 'file_5dtoJkOhAxrMWb', }, }, } );
// 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}}"), Verification: &stripe.PersonVerificationParams{ Document: &stripe.PersonVerificationDocumentParams{ Front: stripe.String("file_5dtoJkOhAxrMWb"), }, }, } 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 { Verification = new PersonVerificationOptions { Document = new PersonVerificationDocumentOptions { Front = "file_5dtoJkOhAxrMWb", }, }, }; var service = new PersonService(); var person = service.Update("{{CONNECTED_STRIPE_ACCOUNT_ID}}", "{{PERSON_ID}}", options);

Below is an example for a company document:

curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}} \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d "company[verification][document][front]"=file_5dtoJkOhAxrMWb
# 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( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', { company: { verification: { document: { front: 'file_5dtoJkOhAxrMWb', }, }, }, } )
# 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( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', company={ 'verification': { 'document': { 'front': 'file_5dtoJkOhAxrMWb', }, }, }, )
// 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::update( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', [ 'company' => [ 'verification' => [ 'document' => [ 'front' => 'file_5dtoJkOhAxrMWb', ], ], ], ] );
// 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}}"); AccountUpdateParams params = AccountUpdateParams.builder() .setCompany( AccountUpdateParams.Company.builder() .setVerification( AccountUpdateParams.Company.Verification.builder() .setDocument( AccountUpdateParams.Company.Verification.Document.builder() .setFront("file_5dtoJkOhAxrMWb") .build()) .build()) .build()) .build(); account.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 account = await stripe.accounts.update( '{{CONNECTED_STRIPE_ACCOUNT_ID}}', { company: { verification: { document: { front: 'file_5dtoJkOhAxrMWb', }, }, }, } );
// 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.AccountParams{ Company: &stripe.AccountCompanyParams{ Verification: &stripe.AccountCompanyVerificationParams{ Document: &stripe.AccountCompanyVerificationDocumentParams{ Front: stripe.String("file_5dtoJkOhAxrMWb"), }, }, }, } a, _ := account.Update("{{CONNECTED_STRIPE_ACCOUNT_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 AccountUpdateOptions { Company = new AccountCompanyOptions { Verification = new AccountCompanyVerificationOptions { Document = new AccountCompanyVerificationDocumentOptions { Front = "file_5dtoJkOhAxrMWb", }, }, }, }; var service = new AccountService(); var account = service.Update("{{CONNECTED_STRIPE_ACCOUNT_ID}}", options);

This update changes verification[status] to pending. If an additional person needs to be verified, use the Persons API to update them.

Confirming ID verification

If the color scan or photo of the ID passes Stripe’s checks, the document requirement is removed from requirements[currently_due]. If you’ve satisfied all verification requirements for the person or company, an account.updated webhook notification is sent when the verification process is complete.

Verification can take Stripe from a few minutes, to a couple business days to complete, depending on how readable the provided image is.

If the verification attempt fails, the requirements[errors] array contains an error stating the cause. The error[reason] is safe to present to your user, such as “The image supplied was not readable”. In addition, the response contains an error[code] value, such as verification_document_not_readable. Upon failure, requirements[currently_due] indicates that a new ID upload is required. If the deadline for verification is near, requirements[current_deadline] may also be populated with a date. Again, an account.updated webhook notification is sent as well.

See also