#ayush_custom-connected-account

1 messages ¡ Page 1 of 1 (latest)

indigo houndBOT
#

👋 Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1415085774281375765

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

solar rover
#

Hi there,
sounds like you are following one of our integration guides in the docs? Would you mind sharing which one it is?

strong sedge
#

I have filled in the details as well in the url

#

Basic question is what does type custom actually mean for an account, how does that affect the field in controller

solar rover
#

A Custom Connected Account is basically totally invisible to the user. The platform basically controlls the connected account and is responsible for all information collecting for the account, and everything that is happening in the account.

strong sedge
#

Understood, I have already ready the docs. So basically if I wish to take all liability and customize what I want for each account I should use custom?

#

This is what I am currently using for the onboarding, is this enough or do I need any other field/feature?

router.post('/account-session', async (req, res) => {
const { connectedAccountId } = req.body;
try {
const accountSession = await stripe.accountSessions.create({
account: connectedAccountId,
components: {
account_onboarding: {
enabled: true,
features: {
disable_stripe_user_authentication: true,
},
},
},
});

res.json({
  client_secret: accountSession.client_secret,
});

} catch (error) {
console.error('An error occurred when calling the Stripe API to create an account session', error);
res.status(500);
res.send({ error: error.message });
}
});

solar rover
#

Yes, AND if the user does not need it's own dashboard access etc.

strong sedge
#

For a custom account

solar rover
strong sedge
#

This is the part I am a little confused about: https://docs.stripe.com/connect/custom-accounts#identity-verification. I following what is required from https://docs.stripe.com/connect/required-verification-information. What I am asking is that is there anything specific required for a custom account that is not present in https://docs.stripe.com/connect/required-verification-information

Learn what required verification information you need to collect for each country when using Connect.

Learn what required verification information you need to collect for each country when using Connect.

Use Custom connected accounts with Connect to control your connected accounts' entire experience.

#

As long as they fill this form and the account is Enabled, is that good?

solar rover
#

On this page, you should be able to find all necessary requirements for the connected account.
Additionally we recommend to listen for the account.updated webhook. The event contains the account's requirements that can change over time.
https://docs.stripe.com/connect/handling-api-verification#verification-process
There are basically three states for requirements that may come into effect: eventually_due, currently_due, and past_due. based on these information you would need to collect the information and update the account.

strong sedge
#

So basically if I create the account using type: custom. And then create the session using:
router.post('/account-session', async (req, res) => {
const { connectedAccountId } = req.body;
try {
const accountSession = await stripe.accountSessions.create({
account: connectedAccountId,
components: {
account_onboarding: {
enabled: true,
features: {
disable_stripe_user_authentication: true,
},
},
},
});

res.json({
  client_secret: accountSession.client_secret,
});

} catch (error) {
console.error('An error occurred when calling the Stripe API to create an account session', error);
res.status(500);
res.send({ error: error.message });
}
});

#

I should be fine?

#

Of couse in this scenario they went through all the steps and completed the whole process

#

An examples of a complete oboarding process

solar rover
strong sedge
#

I get the following error when I try to use controller and type in the same request:
{
"error": {
"message": "You may not provide the type parameter and controller parameters simultaneously. They are mutually exclusive.",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UzefMPPdVW1KmH?t=1757452882",
"type": "invalid_request_error"
}
}

solar rover
#

can you send me the request Id of this?

#

Oh wait...

strong sedge
#

req_ElwQSHZ50vJAIS

#

I just did another post, to get a new one if the previous one is not available anymore

solar rover
#

I am testing something on my end real quick

strong sedge
#

Understood

solar rover
#

Alright. I created a connected account using these parameters:

  capabilities: {
    card_payments: {
      requested: "true",
    },
    transfers: {
      requested: "true",
    },
  },

  country: "US",
  email: "test@mail.com",
   controller: {
    fees: {
      payer: "application",
    },
    losses: {
      payments: "application",
    },
    stripe_dashboard: {
      type: "none",
    },
    requirement_collection: "application"
  },
}
strong sedge
#

type: custom?

solar rover
#

and created the account session with these parameters:

  account: panels[0].id, 
  components: {
    account_onboarding: {
      enabled: true,  // true | false 
      features: {
        disable_stripe_user_authentication: true,  // 
      },
    },
  }
strong sedge
#

Would those connected account parameters act like a type custom then?

#

as we don't mention it

solar rover
#

The type property will show none, but the disable_stripe_user_authentication: true will still work because it is technically still a custom connected account, just not of "type"

strong sedge
#

Perfect, this was my main doubt. So basically following this logic the account will behave like a custom account while it not being explicitly mentioned?

solar rover
#

Yes, it is technically called Unified Account. We generally speaking recommend using controller property over types. https://docs.stripe.com/connect/accounts#choosing-approach
I was just referring to it earlier since the error message asked for it. But anyways. The idea behind the controller property for UA accounts is the same as Custom Connected Accounts. You can be just way more granular about the controls and capablities, than using the type property.

strong sedge
#

Perfect, thank you so much!

solar rover
#

No problem.

#

If you hve any other questions let me know, otherwise I will close the thread if that is ok with you?

strong sedge
#

Please go ahead and close the thread, I will open another if I have any other questions. Thank you for the help!

solar rover
#

Awesome. Have a great rest of the day and good luck with your integration.