#benk-connectonboarding-error

1 messages · Page 1 of 1 (latest)

sharp ravineBOT
lilac sedge
hollow ledge
#

Can you do me a favor and create one more link but don't paste it here? Pasting those links into slack invalidate them 😦

lilac sedge
#

yes, one moment pls

#

https://connect.stripe.com/setup/s/acct_1NkXhICkgiYRvFCR/Wc8sz8hbkoHa

#

One other thing which is a bit odd. If the merchant closes the account and then I generate an accountLink, it still retains the login and asks the merchant to log in.

hollow ledge
#

Sorry just to be super clear - don't paste in the link here at all. Just generate the link on your end and I can pull it from my end 👍

lilac sedge
#

Oh wow. It invalidated it? Strange

#

one sec

#

done

#

wait. I think it will also be invalidated since I open it in WebView

#

one moment

hollow ledge
#

ah that explains that

#

I was just about to ask why it was still invalidated

lilac sedge
#

ok try now

hollow ledge
#

looking!

#

hmmm so strange - something is still invalidating those links

#

let's take a different approach

#

Is this something you're able to replicate every single time? is it happenign on all browsers? do you also see it happening in incognito/private browsing mode?

lilac sedge
#

I havn't tried to open the link in a brwser. I'm opening it inside a React Native app with WebView, so my options of selecting the browser are limited

#

My function call ends with

const accountLink = await stripe.accountLinks.create({
  account: accountID,
  refresh_url: 'https://dineden.com/app/stripe-refresh-test',
  return_url: 'https://dineden.com/app/stripe-refresh-test',
  type: `account_onboarding`
  });
console.log("accountLink", accountLink)
return accountLink.url
#

Then in the app I print the url with

const onboardingURL = response.data.stripeUpdateMerchantAccount;
console.log({ onboardingURL });
#

Not sure why it gets invalidated. Maybe a time constraint?

#

let's see if you can open it right after I generate it?

hollow ledge
#

sure we can try that, but it may be more productive for us to go through some of the other questions I asked

lilac sedge
#

Is this something you're able to replicate every single time? - yes
is it happenign on all browsers? - don't know
do you also see it happening in incognito/private browsing mode? - I haven't yet tried

#

Let me try on my end. One sec

#

yes. I was able to open in incognito (chrome) and I'm seeing the same thing. However, this time it shows the email address in there

#

So most likely it's WebView and styles

#

I wonder if we can debug it... I think I may be able to. One sec, I'll check

#

hmm, still not finding a way to debug the UI in Chrome...

#

Sorry, yeah, I cannot really debug it because the app runs inside a custom dev client. Not simulator

#

And I couldn't find a way to connect and inspect elements on the screen in chrome

hollow ledge
#

Can you also try a completely different browser (like safari or firefox) and confirm if you're seeing the same thing?

lilac sedge
#

yeah, Safari is not good.

#

so yes, it's probably just css

#

I'll let you guys figure this one out. But what about the closed account question? The merchant closes their account, but I can still generate an accountLink for that account which then the merchant can use and sees their email and can log into their closed account

hollow ledge
#

Let me dig into that one...

#

Quick question though - when you asy "closed" account how are you replicated this in a test? Are you talking about a deleted account, or sometihng else?

lilac sedge
#

Hang on, let me give more info

hollow ledge
#

Deleted that message since I don't want those details out here in a public channel

lilac sedge
#

np

#

but did you get what I wrote?

#

you can close your account and then log back in

hollow ledge
#

You're closing the account through the big red "Close Account" button on the dashboard right?

lilac sedge
#

ye

#

is there another way?

hollow ledge
#

No, I'm just making sure we're on the same page 🙂

sharp ravineBOT
hollow ledge
#

Based on https://support.stripe.com/questions/close-a-stripe-account I think waht you're describing is expected - specifically this section
If the Stripe account was created through a third-party application, closing it via your Stripe Dashboard will not close your account with the third-party. Similarly, deleting an account with a third-party application also does not delete the Stripe account connected to it. The only way to close a Stripe account is from the Stripe Dashboard as outlined above.

lilac sedge
#

So if I delete from the dashboard with "Close account" and delete from connected accounts, then this account should be permanently gone?

#

somehow I doubt it

hollow ledge
lilac sedge
#

Still, the bottom line is that once created, even if deleted by the merchant, the account remains. I have a feeling it's illegal. Also, if an account was previously created for the merchant, sending props in stripe.accounts.create gets ignored.

hollow ledge
lilac sedge
#

true

#

One last thing - I am going through the onboarding right now for creating a "company" and there's no way to pass basic info with stripe.accounts.create. For example - first name, last name of the company representative, who is our user (merchant) along with email, phone number, etc.

#

if the business is "individual" then yes

#

but I am not seeing how to pass data to company

sage pelican
#

For example, with relationship[representative]=true

#

benkass - connect api

lilac sedge
#

testing

lilac sedge
#

still testing

#

(I'm writing so the chat doesn't close)

sharp ravineBOT
lilac sedge
#

ok, so I did a bit of testing. So now I

  1. Create an account with await stripe.accounts.create
  2. Create a person:
const representative = await stripe.accounts.createPerson(accountID, {
  first_name,
  last_name,
  phone,
  relationship: {
    representative: true
  }
})
  1. Create an accountLink

It all passes.
Then I open the account link and log in (with a SMS verification). As soon as I do, I get "This account doesn't have required persmissions" or something like that and it throws me out. - This is a problem
I can log in via a web browser
When I do and go to https://dashboard.stripe.com/account/onboarding/representative I don't see the person I created. Only the email address exists

#

If I try to create a new accountLink and visit it, after logging in via web, it lets me.

inland gyro
#

So as soon as you input the SMS code, you get kicked out?

#

Do you have the screenshot of the message?

lilac sedge
#

Yes. It flashes “session expired” and then logs me out. I will send you a secreenshot in a minute

inland gyro
#

Can you send me the account ID for your platform account? (acct_1234)
I can try making the same requests and see if I get this error. Apologies server was a bit too busy for me to try to repro properly before

lilac sedge
#

acct_1NkuEcEESzEMDpGi

#

Sorry, it's a bit hectirc here too

inland gyro
#

No worries and thank you for the ID. Trying to reproduce this...

sharp ravineBOT
lilac sedge
#

gonna run some tests here too

#

Yeah. if I add stripe.accounts.createPerson it throws me out. Without it, it doesn't

limber rose
#

thanks for the video. Why aren't you doing this full screen? Are you using some weird webview or iframe in your overall setup? Can you reproduce on a web browser on your computer to look at the JS console and lots and such?

#

benk-connectonboarding-error

lilac sedge
#

haha. Weird WebView 😄 why is it so weird? By using WebView, we keep the user in the app. Also, who knows what they have going on with their default web browser

limber rose
#

This product is designed to be loaded full screen in a browser and not really truncated like this in your app/webview. It also makes debugging errors a lot harder in this case.
But I think the next step is a simple repro on the web so that we can figure out what error is thrown

lilac sedge
#

It's not truncated. It is the same width because WebView is 100% width, and it's scrollable. Anyway, I will try to see if I can open it in a default browser instead for the purpose of testing

limber rose
#

yeah let me know since that is the missing piece. We tried similar code without an error but it could be something on your account or similar and once you get the JS console we hopefully can see the error and then I can trace back to what happens from that

#

Also are you using Custom, Express or Standard accounts?

lilac sedge
#

Standard

#

OK, tested when opening the default browser and it worked. So maybe it was indeed the issue with the webview

limber rose
#

That feels super weird to me that it'd be webview specific though we usually don't support that kind of flow. I also would recommend not pre-filling a Person on a Standard account since as a platform you won't have access to that information once they onboard and we collect all the data from them

lilac sedge
#

OK, I'll remove it. I was trying to spare them the agony of filling out repetitive data

#

I will also stick to your preferred flow of using the default browser

limber rose
#

yeah I definitely understand if you have the info. It's quite rare to get detailed information about a business and its owners/representatives as a platform while using Standard accounts

lilac sedge
#

I was only adding first and last name, and phone.

#

So yeah, in this case I am saving them very little agony

limber rose
#

yeah and I can't think of a reason why prefilling those would error

lilac sedge
#

The permission error was my bad. I was creating a person even when the account was created.

#

As for expiring the session - no idea

#

Regardless, I'll stick to your flow

limber rose
#

sounds good!

lilac sedge
#

thanks for testing with me! OK to close this for now