Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any Better Documentation? #52

Open
aaronksaunders opened this issue Jan 29, 2021 · 10 comments
Open

Any Better Documentation? #52

aaronksaunders opened this issue Jan 29, 2021 · 10 comments

Comments

@aaronksaunders
Copy link

The documentation on the website is questionable at best and this sample code doesn't seem to map to the few pages of documentation.

Is there anything else available? a video a more clearly documented example?

I am getting through the express setup, but all my test accounts are restricted, and it is not clear to me how to actually edit the account as a logged in user. Stripe says the user does exists... Do I need to create the stipe user account first and then take the user down the connected account path?

How do I delete the test connect accountant?

Just looking for some additional guidance

@VinLucero
Copy link

Documentation is very lacking on stripe connect.

@CaptainCodeman
Copy link

Probably too late to be helpful, but maybe useful for the next person who comes across this ...

I too started reading through this app and found that it bears little resemblance to the docs and is also confusing to follow. The docs describe calls that don't exist in this example so maybe it's from some older version of the API or approach to connect. Stripe's API documentation is generally excellent but when it comes to working examples ... not so great.

Also, if you're creating a demo app to show off "express" maybe using node "express" doesn't help make things clearer.

Anyhow, going off the approach described in the docs worked for me, so to answer your specific questions:

Creating an account is a two step thing, first creating the account which gives you the ID:

  const account = await stripe.accounts.create({
    country: 'US',
    type: 'express',
    capabilities: {
      card_payments: {
        requested: true,
      },
      transfers: {
        requested: true,
      },
    },
  });

And then using that account ID to create a redirect to take them to that account:

  const accountLink = await stripe.accountLinks.create({
    account: account.id,
    refresh_url: config.publicDomain + '/',
    return_url: config.publicDomain + '/token',
    type: 'account_onboarding',
  });

  return {
    status: 303,
    headers: {
      location: accountLink.url,
    }
  }

If they don't complete the signup then it appears they leave a restricted account. The docs mention re-running this flow which presumably would create another account for them, leaving the other an orphan, but you can delete them using the API.

I'm going with the approach of saving the account ID against their user in the system as soon as it is generated and then generating the accountLink again if they haven't completed the sign-up, so they can get back to the same one. Reading the account from stripe as part of showing the dashboard allows you to show the status and pick what the messaging and link should be (this is shown in this app).

One they are signed up and activated (checking for charges_enabled) then you can direct them to the stripe-hosted dashboard using:

  const loginLink = await stripe.accounts.createLoginLink(accountID)

  return {
    status: 303,
    headers: {
      location: loginLink.url,
    }
  }

@volodymyr-matselyukh
Copy link

volodymyr-matselyukh commented Jan 15, 2024

Resolved

Resolution is under the posting.

Most likely a wrong place to put this question but I don't know the better one.

I have a misunderstanding of stripe account onboarding flow. The thing is that using demo link: https://rocketrides.io/ I have less steps to fill in during the onboarding. And with running the project locally I have a way more steps. I am trying to understand why is this happening and the only reason for this would be the stripe platform account setup. Could you guys tell me what is the country of stripe platform account for this demo? Or maybe any other specific properties that make onboarding shorter?

I read about capabilities https://stripe.com/docs/connect/express-accounts#create-account

To reduce onboarding effort, request only the capabilities you need.

Although, in the code of demo project I don't see any capabilities specified. Maybe these capabilities are directly set on stripe platform account. Then I'd like to know about them.

Also, these guys are saying it's impossible to limit the number of steps during the onboarding for express and standard
stripe accounts: https://stackoverflow.com/questions/75175780/stripe-connect-limit-the-number-of-steps-during-the-account-linking-onboarding

But, how then the Demo has so limited onboarding?

In details:
Onboarding in demo has these steps: 1. Get paid by Rocket Rides(email, phone number), 2. Tell us about your business(Country, type of business), 3. Your details(Legal name, email, website), 4. Select an account for payouts(selecting payout method), 5. Let's review your details(reviewing details).

Onboarding locally has these steps: 1. Get paid by My Account(same as demo), 2. Tell us about your business(same as demo), 3. Verify your personal details(and now the difference begins, this has additionally these fields: date of birth, address, phone number, Last 4 digits of Social Security number), and many other steps that are not present in demo.

Why I have this difference between demo app and the same demo app but running locally pointed to my stripe platform account?


Problem resolution:

The problem was that my stripe platform account country wasn't US.
US stripe account doesn't require Payment capabilities. The default one is Transfer.
And with Transfer only capability you have a way shorter onboarding flow.
Here you can play with the configuration and predict your onboarding flow:
https://stripe.com/docs/connect/required-verification-information#US+US+express+full+individual+transfers

@Marvy101
Copy link

This worked for me!

@aminatao
Copy link

aminatao commented Apr 29, 2024 via email

@aminatao
Copy link

aminatao commented Apr 29, 2024 via email

@Kaytiekayte
Copy link

Kaytiekayte commented Apr 29, 2024 via email

@aminatao
Copy link

aminatao commented Apr 29, 2024 via email

@aminatao
Copy link

aminatao commented Apr 29, 2024 via email

@CaptainCodeman
Copy link

CaptainCodeman commented Apr 29, 2024

Dude, this repo is a demo app for developers, it isn't "Stripe Account Support". Even if it was, you don't provide any real detail that would be needed to enable anyone to help you.

I suggest contacting Stripe support if you have an issue with a live account.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants