github.com/stripe/stripe-go/v76@v76.25.0/person.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 package stripe 8 9 // Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. 10 type PersonPoliticalExposure string 11 12 // List of values that PersonPoliticalExposure can take 13 const ( 14 PersonPoliticalExposureExisting PersonPoliticalExposure = "existing" 15 PersonPoliticalExposureNone PersonPoliticalExposure = "none" 16 ) 17 18 // One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document. 19 type PersonVerificationDocumentDetailsCode string 20 21 // List of values that PersonVerificationDocumentDetailsCode can take 22 const ( 23 PersonVerificationDocumentDetailsCodeDocumentCorrupt PersonVerificationDocumentDetailsCode = "document_corrupt" 24 PersonVerificationDocumentDetailsCodeDocumentCountryNotSupported PersonVerificationDocumentDetailsCode = "document_country_not_supported" 25 PersonVerificationDocumentDetailsCodeDocumentExpired PersonVerificationDocumentDetailsCode = "document_expired" 26 PersonVerificationDocumentDetailsCodeDocumentFailedCopy PersonVerificationDocumentDetailsCode = "document_failed_copy" 27 PersonVerificationDocumentDetailsCodeDocumentFailedOther PersonVerificationDocumentDetailsCode = "document_failed_other" 28 PersonVerificationDocumentDetailsCodeDocumentFailedTestMode PersonVerificationDocumentDetailsCode = "document_failed_test_mode" 29 PersonVerificationDocumentDetailsCodeDocumentFraudulent PersonVerificationDocumentDetailsCode = "document_fraudulent" 30 PersonVerificationDocumentDetailsCodeDocumentIDTypeNotSupported PersonVerificationDocumentDetailsCode = "document_id_type_not_supported" 31 PersonVerificationDocumentDetailsCodeDocumentIDCountryNotSupported PersonVerificationDocumentDetailsCode = "document_id_country_not_supported" 32 PersonVerificationDocumentDetailsCodeDocumentFailedGreyscale PersonVerificationDocumentDetailsCode = "document_failed_greyscale" 33 PersonVerificationDocumentDetailsCodeDocumentIncomplete PersonVerificationDocumentDetailsCode = "document_incomplete" 34 PersonVerificationDocumentDetailsCodeDocumentInvalid PersonVerificationDocumentDetailsCode = "document_invalid" 35 PersonVerificationDocumentDetailsCodeDocumentManipulated PersonVerificationDocumentDetailsCode = "document_manipulated" 36 PersonVerificationDocumentDetailsCodeDocumentMissingBack PersonVerificationDocumentDetailsCode = "document_missing_back" 37 PersonVerificationDocumentDetailsCodeDocumentMissingFront PersonVerificationDocumentDetailsCode = "document_missing_front" 38 PersonVerificationDocumentDetailsCodeDocumentNotReadable PersonVerificationDocumentDetailsCode = "document_not_readable" 39 PersonVerificationDocumentDetailsCodeDocumentNotUploaded PersonVerificationDocumentDetailsCode = "document_not_uploaded" 40 PersonVerificationDocumentDetailsCodeDocumentPhotoMismatch PersonVerificationDocumentDetailsCode = "document_photo_mismatch" 41 PersonVerificationDocumentDetailsCodeDocumentTooLarge PersonVerificationDocumentDetailsCode = "document_too_large" 42 PersonVerificationDocumentDetailsCodeDocumentTypeNotSupported PersonVerificationDocumentDetailsCode = "document_type_not_supported" 43 ) 44 45 // One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person. 46 type PersonVerificationDetailsCode string 47 48 // List of values that PersonVerificationDetailsCode can take 49 const ( 50 PersonVerificationDetailsCodeFailedKeyedIdentity PersonVerificationDetailsCode = "failed_keyed_identity" 51 PersonVerificationDetailsCodeFailedOther PersonVerificationDetailsCode = "failed_other" 52 PersonVerificationDetailsCodeScanNameMismatch PersonVerificationDetailsCode = "scan_name_mismatch" 53 PersonVerificationDetailsCodeDocumentAddressMismatch PersonVerificationDetailsCode = "document_address_mismatch" 54 PersonVerificationDetailsCodeDocumentDOBMismatch PersonVerificationDetailsCode = "document_dob_mismatch" 55 PersonVerificationDetailsCodeDocumentDuplicateType PersonVerificationDetailsCode = "document_duplicate_type" 56 PersonVerificationDetailsCodeDocumentIDNumberMismatch PersonVerificationDetailsCode = "document_id_number_mismatch" 57 PersonVerificationDetailsCodeDocumentNameMismatch PersonVerificationDetailsCode = "document_name_mismatch" 58 PersonVerificationDetailsCodeDocumentNationalityMismatch PersonVerificationDetailsCode = "document_nationality_mismatch" 59 ) 60 61 // The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`. 62 type PersonVerificationStatus string 63 64 // List of values that PersonVerificationStatus can take 65 const ( 66 PersonVerificationStatusPending PersonVerificationStatus = "pending" 67 PersonVerificationStatusUnverified PersonVerificationStatus = "unverified" 68 PersonVerificationStatusVerified PersonVerificationStatus = "verified" 69 ) 70 71 // Deletes an existing person's relationship to the account's legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file. 72 type PersonParams struct { 73 Params `form:"*"` 74 Account *string `form:"-"` // Included in URL 75 // Details on the legal guardian's acceptance of the required Stripe agreements. 76 AdditionalTOSAcceptances *PersonAdditionalTOSAcceptancesParams `form:"additional_tos_acceptances"` 77 // The person's address. 78 Address *AddressParams `form:"address"` 79 // The Kana variation of the person's address (Japan only). 80 AddressKana *PersonAddressKanaParams `form:"address_kana"` 81 // The Kanji variation of the person's address (Japan only). 82 AddressKanji *PersonAddressKanjiParams `form:"address_kanji"` 83 // The person's date of birth. 84 DOB *PersonDOBParams `form:"dob"` 85 // Documents that may be submitted to satisfy various informational requests. 86 Documents *PersonDocumentsParams `form:"documents"` 87 // The person's email address. 88 Email *string `form:"email"` 89 // Specifies which fields in the response should be expanded. 90 Expand []*string `form:"expand"` 91 // The person's first name. 92 FirstName *string `form:"first_name"` 93 // The Kana variation of the person's first name (Japan only). 94 FirstNameKana *string `form:"first_name_kana"` 95 // The Kanji variation of the person's first name (Japan only). 96 FirstNameKanji *string `form:"first_name_kanji"` 97 // A list of alternate names or aliases that the person is known by. 98 FullNameAliases []*string `form:"full_name_aliases"` 99 // The person's gender (International regulations require either "male" or "female"). 100 Gender *string `form:"gender"` 101 // The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). 102 IDNumber *string `form:"id_number"` 103 // The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). 104 IDNumberSecondary *string `form:"id_number_secondary"` 105 // The person's last name. 106 LastName *string `form:"last_name"` 107 // The Kana variation of the person's last name (Japan only). 108 LastNameKana *string `form:"last_name_kana"` 109 // The Kanji variation of the person's last name (Japan only). 110 LastNameKanji *string `form:"last_name_kanji"` 111 // The person's maiden name. 112 MaidenName *string `form:"maiden_name"` 113 // Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. 114 Metadata map[string]string `form:"metadata"` 115 // The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. 116 Nationality *string `form:"nationality"` 117 // A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person. 118 PersonToken *string `form:"person_token"` 119 // The person's phone number. 120 Phone *string `form:"phone"` 121 // Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. 122 PoliticalExposure *string `form:"political_exposure"` 123 // The person's registered address. 124 RegisteredAddress *AddressParams `form:"registered_address"` 125 // The relationship that this person has with the account's legal entity. 126 Relationship *PersonRelationshipParams `form:"relationship"` 127 // The last four digits of the person's Social Security number (U.S. only). 128 SSNLast4 *string `form:"ssn_last_4"` 129 // The person's verification status. 130 Verification *PersonVerificationParams `form:"verification"` 131 } 132 133 // AddExpand appends a new field to expand. 134 func (p *PersonParams) AddExpand(f string) { 135 p.Expand = append(p.Expand, &f) 136 } 137 138 // AddMetadata adds a new key-value pair to the Metadata. 139 func (p *PersonParams) AddMetadata(key string, value string) { 140 if p.Metadata == nil { 141 p.Metadata = make(map[string]string) 142 } 143 144 p.Metadata[key] = value 145 } 146 147 // Details on the legal guardian's acceptance of the main Stripe service agreement. 148 type PersonAdditionalTOSAcceptancesAccountParams struct { 149 // The Unix timestamp marking when the account representative accepted the service agreement. 150 Date *int64 `form:"date"` 151 // The IP address from which the account representative accepted the service agreement. 152 IP *string `form:"ip"` 153 // The user agent of the browser from which the account representative accepted the service agreement. 154 UserAgent *string `form:"user_agent"` 155 } 156 157 // Details on the legal guardian's acceptance of the required Stripe agreements. 158 type PersonAdditionalTOSAcceptancesParams struct { 159 // Details on the legal guardian's acceptance of the main Stripe service agreement. 160 Account *PersonAdditionalTOSAcceptancesAccountParams `form:"account"` 161 } 162 163 // The Kana variation of the person's address (Japan only). 164 type PersonAddressKanaParams struct { 165 // City or ward. 166 City *string `form:"city"` 167 // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). 168 Country *string `form:"country"` 169 // Block or building number. 170 Line1 *string `form:"line1"` 171 // Building details. 172 Line2 *string `form:"line2"` 173 // Postal code. 174 PostalCode *string `form:"postal_code"` 175 // Prefecture. 176 State *string `form:"state"` 177 // Town or cho-me. 178 Town *string `form:"town"` 179 } 180 181 // The Kanji variation of the person's address (Japan only). 182 type PersonAddressKanjiParams struct { 183 // City or ward. 184 City *string `form:"city"` 185 // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). 186 Country *string `form:"country"` 187 // Block or building number. 188 Line1 *string `form:"line1"` 189 // Building details. 190 Line2 *string `form:"line2"` 191 // Postal code. 192 PostalCode *string `form:"postal_code"` 193 // Prefecture. 194 State *string `form:"state"` 195 // Town or cho-me. 196 Town *string `form:"town"` 197 } 198 199 // The person's date of birth. 200 type PersonDOBParams struct { 201 // The day of birth, between 1 and 31. 202 Day *int64 `form:"day"` 203 // The month of birth, between 1 and 12. 204 Month *int64 `form:"month"` 205 // The four-digit year of birth. 206 Year *int64 `form:"year"` 207 } 208 209 // One or more documents that demonstrate proof that this person is authorized to represent the company. 210 type PersonDocumentsCompanyAuthorizationParams struct { 211 // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. 212 Files []*string `form:"files"` 213 } 214 215 // One or more documents showing the person's passport page with photo and personal data. 216 type PersonDocumentsPassportParams struct { 217 // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. 218 Files []*string `form:"files"` 219 } 220 221 // One or more documents showing the person's visa required for living in the country where they are residing. 222 type PersonDocumentsVisaParams struct { 223 // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. 224 Files []*string `form:"files"` 225 } 226 227 // Documents that may be submitted to satisfy various informational requests. 228 type PersonDocumentsParams struct { 229 // One or more documents that demonstrate proof that this person is authorized to represent the company. 230 CompanyAuthorization *PersonDocumentsCompanyAuthorizationParams `form:"company_authorization"` 231 // One or more documents showing the person's passport page with photo and personal data. 232 Passport *PersonDocumentsPassportParams `form:"passport"` 233 // One or more documents showing the person's visa required for living in the country where they are residing. 234 Visa *PersonDocumentsVisaParams `form:"visa"` 235 } 236 237 // The relationship that this person has with the account's legal entity. 238 type PersonRelationshipParams struct { 239 // Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. 240 Director *bool `form:"director"` 241 // Whether the person has significant responsibility to control, manage, or direct the organization. 242 Executive *bool `form:"executive"` 243 // Whether the person is the legal guardian of the account's representative. 244 LegalGuardian *bool `form:"legal_guardian"` 245 // Whether the person is an owner of the account's legal entity. 246 Owner *bool `form:"owner"` 247 // The percent owned by the person of the account's legal entity. 248 PercentOwnership *float64 `form:"percent_ownership"` 249 // Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. 250 Representative *bool `form:"representative"` 251 // The person's title (e.g., CEO, Support Engineer). 252 Title *string `form:"title"` 253 } 254 255 // A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. 256 type PersonVerificationDocumentParams struct { 257 // The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. 258 Back *string `form:"back"` 259 // The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. 260 Front *string `form:"front"` 261 } 262 263 // The person's verification status. 264 type PersonVerificationParams struct { 265 // A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. 266 AdditionalDocument *PersonVerificationDocumentParams `form:"additional_document"` 267 // An identifying document, either a passport or local ID card. 268 Document *PersonVerificationDocumentParams `form:"document"` 269 } 270 271 // Filters on the list of people returned based on the person's relationship to the account's company. 272 type PersonListRelationshipParams struct { 273 // A filter on the list of people returned based on whether these people are directors of the account's company. 274 Director *bool `form:"director"` 275 // A filter on the list of people returned based on whether these people are executives of the account's company. 276 Executive *bool `form:"executive"` 277 // A filter on the list of people returned based on whether these people are legal guardians of the account's representative. 278 LegalGuardian *bool `form:"legal_guardian"` 279 // A filter on the list of people returned based on whether these people are owners of the account's company. 280 Owner *bool `form:"owner"` 281 // A filter on the list of people returned based on whether these people are the representative of the account's company. 282 Representative *bool `form:"representative"` 283 } 284 285 // Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. 286 type PersonListParams struct { 287 ListParams `form:"*"` 288 Account *string `form:"-"` // Included in URL 289 // Specifies which fields in the response should be expanded. 290 Expand []*string `form:"expand"` 291 // Filters on the list of people returned based on the person's relationship to the account's company. 292 Relationship *PersonListRelationshipParams `form:"relationship"` 293 } 294 295 // AddExpand appends a new field to expand. 296 func (p *PersonListParams) AddExpand(f string) { 297 p.Expand = append(p.Expand, &f) 298 } 299 300 type PersonAdditionalTOSAcceptancesAccount struct { 301 // The Unix timestamp marking when the legal guardian accepted the service agreement. 302 Date int64 `json:"date"` 303 // The IP address from which the legal guardian accepted the service agreement. 304 IP string `json:"ip"` 305 // The user agent of the browser from which the legal guardian accepted the service agreement. 306 UserAgent string `json:"user_agent"` 307 } 308 type PersonAdditionalTOSAcceptances struct { 309 Account *PersonAdditionalTOSAcceptancesAccount `json:"account"` 310 } 311 312 // The Kana variation of the person's address (Japan only). 313 type PersonAddressKana struct { 314 // City/Ward. 315 City string `json:"city"` 316 // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). 317 Country string `json:"country"` 318 // Block/Building number. 319 Line1 string `json:"line1"` 320 // Building details. 321 Line2 string `json:"line2"` 322 // ZIP or postal code. 323 PostalCode string `json:"postal_code"` 324 // Prefecture. 325 State string `json:"state"` 326 // Town/cho-me. 327 Town string `json:"town"` 328 } 329 330 // The Kanji variation of the person's address (Japan only). 331 type PersonAddressKanji struct { 332 // City/Ward. 333 City string `json:"city"` 334 // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). 335 Country string `json:"country"` 336 // Block/Building number. 337 Line1 string `json:"line1"` 338 // Building details. 339 Line2 string `json:"line2"` 340 // ZIP or postal code. 341 PostalCode string `json:"postal_code"` 342 // Prefecture. 343 State string `json:"state"` 344 // Town/cho-me. 345 Town string `json:"town"` 346 } 347 type PersonDOB struct { 348 // The day of birth, between 1 and 31. 349 Day int64 `json:"day"` 350 // The month of birth, between 1 and 12. 351 Month int64 `json:"month"` 352 // The four-digit year of birth. 353 Year int64 `json:"year"` 354 } 355 356 // Fields that are due and can be satisfied by providing the corresponding alternative fields instead. 357 type PersonFutureRequirementsAlternative struct { 358 // Fields that can be provided to satisfy all fields in `original_fields_due`. 359 AlternativeFieldsDue []string `json:"alternative_fields_due"` 360 // Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. 361 OriginalFieldsDue []string `json:"original_fields_due"` 362 } 363 364 // Fields that are `currently_due` and need to be collected again because validation or verification failed. 365 type PersonFutureRequirementsError struct { 366 // The code for the type of error. 367 Code string `json:"code"` 368 // An informative message that indicates the error type and provides additional details about the error. 369 Reason string `json:"reason"` 370 // The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. 371 Requirement string `json:"requirement"` 372 } 373 374 // Information about the [upcoming new requirements for this person](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when. 375 type PersonFutureRequirements struct { 376 // Fields that are due and can be satisfied by providing the corresponding alternative fields instead. 377 Alternatives []*PersonFutureRequirementsAlternative `json:"alternatives"` 378 // Fields that need to be collected to keep the person's account enabled. If not collected by the account's `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash, and may immediately become `past_due`, but the account may also be given a grace period depending on the account's enablement state prior to transition. 379 CurrentlyDue []string `json:"currently_due"` 380 // Fields that are `currently_due` and need to be collected again because validation or verification failed. 381 Errors []*PersonFutureRequirementsError `json:"errors"` 382 // Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `future_requirements[current_deadline]` becomes set. 383 EventuallyDue []string `json:"eventually_due"` 384 // Fields that weren't collected by the account's `requirements.current_deadline`. These fields need to be collected to enable the person's account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. 385 PastDue []string `json:"past_due"` 386 // Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. 387 PendingVerification []string `json:"pending_verification"` 388 } 389 type PersonRelationship struct { 390 // Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. 391 Director bool `json:"director"` 392 // Whether the person has significant responsibility to control, manage, or direct the organization. 393 Executive bool `json:"executive"` 394 // Whether the person is the legal guardian of the account's representative. 395 LegalGuardian bool `json:"legal_guardian"` 396 // Whether the person is an owner of the account's legal entity. 397 Owner bool `json:"owner"` 398 // The percent owned by the person of the account's legal entity. 399 PercentOwnership float64 `json:"percent_ownership"` 400 // Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. 401 Representative bool `json:"representative"` 402 // The person's title (e.g., CEO, Support Engineer). 403 Title string `json:"title"` 404 } 405 406 // Fields that are due and can be satisfied by providing the corresponding alternative fields instead. 407 type PersonRequirementsAlternative struct { 408 // Fields that can be provided to satisfy all fields in `original_fields_due`. 409 AlternativeFieldsDue []string `json:"alternative_fields_due"` 410 // Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. 411 OriginalFieldsDue []string `json:"original_fields_due"` 412 } 413 414 // Information about the requirements for this person, including what information needs to be collected, and by when. 415 type PersonRequirements struct { 416 // Fields that are due and can be satisfied by providing the corresponding alternative fields instead. 417 Alternatives []*PersonRequirementsAlternative `json:"alternatives"` 418 // Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. 419 CurrentlyDue []string `json:"currently_due"` 420 // Fields that are `currently_due` and need to be collected again because validation or verification failed. 421 Errors []*AccountRequirementsError `json:"errors"` 422 // Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `current_deadline` becomes set. 423 EventuallyDue []string `json:"eventually_due"` 424 // Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable the person's account. 425 PastDue []string `json:"past_due"` 426 // Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. 427 PendingVerification []string `json:"pending_verification"` 428 } 429 430 // A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. 431 type PersonVerificationDocument struct { 432 // The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. 433 Back *File `json:"back"` 434 // A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say "Identity document is too unclear to read". 435 Details string `json:"details"` 436 // One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document. 437 DetailsCode PersonVerificationDocumentDetailsCode `json:"details_code"` 438 // The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. 439 Front *File `json:"front"` 440 } 441 type PersonVerification struct { 442 // A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. 443 AdditionalDocument *PersonVerificationDocument `json:"additional_document"` 444 // A user-displayable string describing the verification state for the person. For example, this may say "Provided identity information could not be verified". 445 Details string `json:"details"` 446 // One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person. 447 DetailsCode PersonVerificationDetailsCode `json:"details_code"` 448 Document *PersonVerificationDocument `json:"document"` 449 // The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`. 450 Status PersonVerificationStatus `json:"status"` 451 } 452 453 // This is an object representing a person associated with a Stripe account. 454 // 455 // A platform cannot access a Standard or Express account's persons after the account starts onboarding, such as after generating an account link for the account. 456 // See the [Standard onboarding](https://stripe.com/docs/connect/standard-accounts) or [Express onboarding documentation](https://stripe.com/docs/connect/express-accounts) for information about platform prefilling and account onboarding steps. 457 // 458 // Related guide: [Handling identity verification with the API](https://stripe.com/docs/connect/handling-api-verification#person-information) 459 type Person struct { 460 APIResource 461 // The account the person is associated with. 462 Account string `json:"account"` 463 AdditionalTOSAcceptances *PersonAdditionalTOSAcceptances `json:"additional_tos_acceptances"` 464 Address *Address `json:"address"` 465 // The Kana variation of the person's address (Japan only). 466 AddressKana *PersonAddressKana `json:"address_kana"` 467 // The Kanji variation of the person's address (Japan only). 468 AddressKanji *PersonAddressKanji `json:"address_kanji"` 469 // Time at which the object was created. Measured in seconds since the Unix epoch. 470 Created int64 `json:"created"` 471 Deleted bool `json:"deleted"` 472 DOB *PersonDOB `json:"dob"` 473 // The person's email address. 474 Email string `json:"email"` 475 // The person's first name. 476 FirstName string `json:"first_name"` 477 // The Kana variation of the person's first name (Japan only). 478 FirstNameKana string `json:"first_name_kana"` 479 // The Kanji variation of the person's first name (Japan only). 480 FirstNameKanji string `json:"first_name_kanji"` 481 // A list of alternate names or aliases that the person is known by. 482 FullNameAliases []string `json:"full_name_aliases"` 483 // Information about the [upcoming new requirements for this person](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when. 484 FutureRequirements *PersonFutureRequirements `json:"future_requirements"` 485 // The person's gender (International regulations require either "male" or "female"). 486 Gender string `json:"gender"` 487 // Unique identifier for the object. 488 ID string `json:"id"` 489 // Whether the person's `id_number` was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by `ssn_last_4_provided`). 490 IDNumberProvided bool `json:"id_number_provided"` 491 // Whether the person's `id_number_secondary` was provided. 492 IDNumberSecondaryProvided bool `json:"id_number_secondary_provided"` 493 // The person's last name. 494 LastName string `json:"last_name"` 495 // The Kana variation of the person's last name (Japan only). 496 LastNameKana string `json:"last_name_kana"` 497 // The Kanji variation of the person's last name (Japan only). 498 LastNameKanji string `json:"last_name_kanji"` 499 // The person's maiden name. 500 MaidenName string `json:"maiden_name"` 501 // Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. 502 Metadata map[string]string `json:"metadata"` 503 // The country where the person is a national. 504 Nationality string `json:"nationality"` 505 // String representing the object's type. Objects of the same type share the same value. 506 Object string `json:"object"` 507 // The person's phone number. 508 Phone string `json:"phone"` 509 // Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. 510 PoliticalExposure PersonPoliticalExposure `json:"political_exposure"` 511 RegisteredAddress *Address `json:"registered_address"` 512 Relationship *PersonRelationship `json:"relationship"` 513 // Information about the requirements for this person, including what information needs to be collected, and by when. 514 Requirements *PersonRequirements `json:"requirements"` 515 // Whether the last four digits of the person's Social Security number have been provided (U.S. only). 516 SSNLast4Provided bool `json:"ssn_last_4_provided"` 517 Verification *PersonVerification `json:"verification"` 518 } 519 520 // PersonList is a list of Persons as retrieved from a list endpoint. 521 type PersonList struct { 522 APIResource 523 ListMeta 524 Data []*Person `json:"data"` 525 }