#rafaelbaptista - express account onboarding

1 messages ยท Page 1 of 1 (latest)

lofty plover
#

Hello! Just starting a thread for you -- I'll review and respond as soon as I can ๐Ÿ™‚

#

You don't -- you use connect account authentication instead

#

What kind of request are you trying to make?

#

There is no need for you to have API keys for your connected express accounts, you already can make requests for them as a platform

finite stirrup
finite stirrup
lofty plover
#

If you wanted to make direct requests for the account, yes, but you probably should not do that for express accounts in most cases.

#

What are you trying to do?

finite stirrup
#

like i said on the top, trying to get the api keys from the connected account when onboarded in order to store them on my database

#

just want to know what this the approach that i should follow when onboarding an account since the old approach was like i described and i need to store the private and public key of the connected account in my db , when the onboarding was done

#

i think you are right, because when using express all the call are made by the platform but rlly want to confirm this so i can know how i should procced after a connected account finishes the onboarding

lofty plover
#

That is not provided, and not the way this works. You don't need them. Why do you want to store this, what is your end goal?

finite stirrup
#

i think i'm not explaning well, we are migration from stripe connect to the express, on the connect we needed the keys in order to perform calls on the express like you are telling me i only need the account id of the connected account

#

i'm not saying that i need them i'm trying to understand what was the info that i needed to collect after an onboarding finishes

lofty plover
#

Aside from some requests like setting payout settings and creating payouts, it's not recommended to make most calls directly on an express account. Most operations should be on the platform with the Express account as a destination for some or all of the payment, etc.

#

Can you describe an example payment scenario where you would want to use the keys you're asking about? Say for an account acct_1234.

finite stirrup
#

yes, exacly what i'm doing .. so the only thing that i need to save is the connect account id

#

im using destination charges

#

so i need the account id for the destination account

#

like i mention, i'm not performing calls was connected account, only when listing payments i pass the stripe account header

i simply was trying to understand if on the express was the need of storing the keys, witch by what we talked theres not

#

so saying this my question is how can i check if the account finish the onboarding?

lofty plover
#

Well you already have the account id from when you created the account, before redirecting to onboarding, right?

#

You get the actual account in the response to the create call

finite stirrup
#

yes, i already have that and im already storing this, my question is on how to hanlde the return url to check if the account completed the onboarding or not

lofty plover
#

It's the last step in the guide

finite stirrup
#

alright thanks for clarying so i just need to check if that two values are set to true

#

do stripe attach any params to the return_url?

lofty plover
#

No but you can include them if you want, a reference or unique id etc, when you create the account link, and stripe wtll include whatever you set up

finite stirrup
#

alright, will test this now

#

ty

lofty plover
#

NP!

finite stirrup
#

also have another question on this topic,
do the return_url / refresh_url need to be added to the whitelist url on my stripe settings?

lofty plover
#

The express settings?

#

No, that's only related to oauth -- not account links after creating express accounts via the API

finite stirrup
#

ok thanks for claryfing

lofty plover
#

NP!

finite stirrup
#

do stripe have test emails that we can use to test the onboarding when using test keys?

lofty plover
#

Any email can be entered - its not used for anything

finite stirrup
#

but then stripe requires to login with that email

#

so needs to be an email registed on stripe

lofty plover
#

No in test mode it shouldnt

finite stirrup
#

for me is allways presenting the login screen

lofty plover
#

Oh, if you're test this, make sure to open the account link onboarding URL in an incognito window

#

this is getting confused with your logged in platform dashboard account

finite stirrup
#

ohh , 1sec will test that

#

damn still got the login screen when using incognito

lofty plover
#

Can you share your account link creation request id?

finite stirrup
#

Yes just give me a seccond

#

For some reason when i go to logs im ONLY seeing the requests of yeaterday

left frost
#

Hi ๐Ÿ‘‹ I"m stepping in for @lofty plover

#

I just created a custom account and an account link. When i used the account_link.url it took me straight to the forms without a login. I think this is why we're curious to see your request IDs so we can check the syntax of how you create the account link.

finite stirrup
#

im trying to get that request id

#

req_lTqITKTxHnW1nx

#

that is the last request for createlink

#

do you need more information?

left frost
#

Nope, just need to take a look

finite stirrup
#

okok

left frost
#

The syntax looks correct. Can you recreate this account link and try it again? Each URL is only good for one test

finite stirrup
#

yap will do it now 1sec

#

required me to login again

#

on the first step of onboarding i iused the test phone number and then enter that email

#

when i click continue, the onboarding asks me to login

left frost
#

And you're using the URL in the response from Stripe?: url: "https://connect.stripe.com/express/onboarding/f6koy5p8Mtj5"
Sorry I don't mean to imply anything this is just pretty confusing

finite stirrup
#

yes

#

i redirect the user to that url to perform the onboarding

left frost
#

Yeah, it's a dead link now. They're only good for one visit

finite stirrup
#

do you want to generate the link again without enter and send to you?

left frost
#

Even if you paste it in here the "link preview" feature will consume it and make it unusable.

finite stirrup
#

so how can we figured out why on test mode is requiring me to login

left frost
#

Can you try coding the Account LInk creation process and then not use any redirect but copy/paste into your browser?

finite stirrup
#

yes 1sec

left frost
#

In an Incognito window, to avoid any caching or cookies tricks

finite stirrup
#

yap that worked

left frost
#

You got in, no login required?

finite stirrup
#

yes

left frost
#

๐ŸŽ‰

#

Those account links are pretty finnicky (to prevent fraud, etc.). So you have to be pretty careful about your redirect strategy

finite stirrup
#

so how do i redirect the user?

#

without using redirect("url") that seems to be causing that problem

left frost
#

Can you try loading the URL in an anchor tag? <a href="stripe_url">? And see if a user clicking on that will get there?

finite stirrup
#

i'm doing this redirect serverside so cannot do it with that a tag

left frost
#

Hmmm....

#

Can you share the code around your redirect?

finite stirrup
#

                        if (isset($createLink["url"])) {
                            redirect($createLink["url"]);
                        }
left frost
#

Interesting. When I look into how to redirect using PHP I see a lot of examples like this

$redirect = "https://www.example.com/redirect.php";
header("Location: $redirect");
#

Is the redirect function something native or from a framework?

finite stirrup
#

i was about to suggest what replace the redirect with the header

#

im using codeigniter

left frost
#

I'm wondering, since it's a helper function, if it is doing anything with the URL prior to updating the window location

finite stirrup
#

i will try that one

#

just solved that using header

ob_start();
                            header("Location: " . $createLink["url"]);
                            exit();
left frost
#

Nice!

finite stirrup
#

have a question i just onboarded the account but the account dont have card_payments active

#

why is that, tought that was true by default

#

this is the account id: acct_1KwUBy2EX2aGJsot

#

are you there? @left frost

left frost
#

Yeah I'm still looking

finite stirrup
#

oh sorry

left frost
#

I have always created my accounts using

  capabilities={
   ...:         "card_payments": {"requested": True},
#

I'm not seeing anything in the API docs that suggest any of the capabilities are on by default

finite stirrup
#

i tought by default the card_payments where true

#

when im creating the account im only passing type => express

#

so for express account what capabilties should i pass?

#

that are not setted by default

left frost
#

Well if you just want the basics then I'd use the code snippet from our API docs, replacing the values for those that don't match.

$stripe->accounts->create([
  'type' => 'custom',
  'country' => 'US',
  'email' => 'jenny.rosen@example.com',
  'capabilities' => [
    'card_payments' => ['requested' => true],
    'transfers' => ['requested' => true],
  ],
]);
finite stirrup
#

should i also include the country and email? or can i ommit that params?

left frost
#

country optional DEFAULT IS YOUR OWN COUNTRY
email optional

finite stirrup
#

ok thanks, will try this,
the example that you provided is for type => custom, for the expresss the default capabilities are the same?

left frost
#

I would not assume any capabilities are default and always specify

finite stirrup
#

right, what i meant was what are reccomend to be setted

left frost
#

card payments and transfers are a good set to use

finite stirrup
#

ok, thank you so much for the help

#

just also to confirm my approach , an account is only fully onboarded if the this properties are true
$res["charges_enabled"]
$res["details_submitted"]
right?

left frost
#

To check if an account is fully onboarded you will want to examine the requirements proprety.

#

This will flag what is still required by the account to be fully onboarded.

finite stirrup
#

can you confirm this?

left frost
#

Okay in this case, for Express, I believe you are correct.

finite stirrup
#

sorry i tought i had mentioned that i was onboarding express accounts

#

so my approach is correct?

left frost
#

Yes, sorry I forgot it was Express. So many little differences. I think your approach is solid