Skip to content

Create Stripe account form that handles the various states for creating a managed account #853

Description

@joshsmith

Problem

We need a form to create a Stripe account. This form should be on a separate page from the settings/donations and should probably be under settings/donations/payments instead. The current settings/donations should actually probably be settings/donations/goals.

A project should be able to create donation goals at any time so that a project can keep setting up even while their identity is being verified. But if the account isn't yet able to take donations, there should be at least some information on the goals page with a link to take you to the payments page.

Some screenshots that show the ideal setup flow, using Kickstarter as an example (with some minor differences from the flow laid out below):

First, a legend for the form:

  • Conditional logic

o Radio button
[Button]

Form

Create a Stripe account for {{organization name}}.
The location of either your permanent residence or your business.

Create dropdown of countries, can hard-code US now as only country with country code

[Continue]

Contact details

  • Email verified / not verified (can skip for now, not MVP)
    We'll show an email field with a reverify button.

Donations recipient

Individual or legal entity

  • Needs identity - verification[fields_needed] legal_entity.type
    If the legal_entity.type isn't set yet, it means we probably have not allowed you to pick your identity. Here you can set Individual/Business, then fill in all the required form fields for both.

Radio button to indicate whether individual or legal entity (legal_entity.type)

o Individual
o Legal entity (company or organization)

Business information

(show if company is selected)
business name, tax id

Personal information

(show always)
first name, last name, date of birth (day, month, year), personal address line 1, personal address line 2, personal address city, personal address state, personal address postal code, personal address country (hardcoded to 2 digit iso), ssn last 4

[Submit]

  • Needs identify verification
    check if verified with legal_entity.verification - status (unverified, pending, verified)
    if unverified and verification[fields_needed] with:
    • legal_entity.personal_id_number - display full SSN field and encrypt with PII token (with ember-stripe-service)
    • legal_entity.verification.document - upload document to our server
      if pending:
    • display notification that we're verifying the information provided
      if verified:
    • display the verified information (name and possibly business name)

[Submit]

Bank account

  • Bank account needed - verification[fields_needed] external_account (or check if has one bank account)
    Show form for adding bank account routing number and account number.

[Submit]

Completed

If all the information is verified, we should show that, tell the user they should go set project goals, and have a link to go set them up.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions