#mounirmtl

1 messages ยท Page 1 of 1 (latest)

supple garnetBOT
jade galleon
hoary briar
jade galleon
#

If you pass following when making the update request, what are you seeing?


  individual: {
    dob: {
      year: null,
      day: null,
      month: null,
    },
  },

hoary briar
#

It's ignored as well

jade galleon
#

In that case, I believe this field might be required.
The alternative would be to re-onboard the store (by creating a new account) when the ownership changes

hoary briar
#

That cannot happen because we need to keep history

#

Let me try again with passing a new object with null fields. I thought I tried but can't find the logs that reflect this

hoary briar
# jade galleon In that case, I believe this field might be required. The alternative would be ...

Interesting....
we're using the go sdk and here's the code I write to represent the request with an object but with null fields:

_, err = accClient.Update(acc.ID, &stripe.AccountParams{
        Params: stripe.Params{
            Context: ctx,
        },
        Metadata: map[string]string{
            "Owner ID": cmd.OwnerID,
        },
        BusinessProfile: &stripe.AccountBusinessProfileParams{
            SupportEmail: stripe.String(cmd.OwnerEmail),
        },
        Email: stripe.String(cmd.OwnerEmail),
        Individual: func() *stripe.PersonParams {
            if acc.Individual == nil {
                return nil
            }
            return &stripe.PersonParams{
                Email:             stripe.String(cmd.OwnerEmail),
                FirstName:         stripe.String(cmd.OwnerFirstName),
                LastName:          stripe.String(cmd.OwnerLastName),
                RegisteredAddress: &stripe.AddressParams{},
                DOB:               &stripe.PersonDOBParams{},
            }
        }(),
    })

&stripe.AddressParams{} and &stripe.PersonDOBParams{} are brand new instances of the params will null fields.
But the sdk ignores those values and don't pass them to the request at all.
Here's the request req_JCQv1qIctiF1tC.

This is the body sent:

{
  "individual": {
    "email": "********",
    "first_name": "*******",
    "last_name": "********"
  },
  "email": "*******",
  "metadata": {
    "Owner ID": "*********"
  },
  "business_profile": {
    "support_email": "*********"
  }
}

You can see that niether the address or the dob are passed in the request body

supple garnetBOT
silk cobalt
#

๐Ÿ‘‹ stepping in for a minute as hanzo needed to step away

#

Beware that this is a public server so I'd recommend removing any real data that you are sharing

#

Have you tried using an empty string here?

hoary briar
#

Yes. For the address the response is a 200 but the empty values are ignored.
req_26xeYQGWwjodr8

silk cobalt
#

Hmm interesting

hoary briar
#

For the dob, the sdk ignores null fields and requires the dob fields to be > 0 when set, which I do understand.
It's more the ignoring the fields part that seems weird to me

silk cobalt
#

Yeah overall I'm not sure our API allows you to clear out these fields and re-force requirements.

#

Like I think you will just need to update them directly

#

Why exactly do you feel the need to clear them out before updating?

hoary briar
#

because we don't collect that data.

#

We let stripe collect what it needs to comply to whatever regulations it needs to comply to, but we don't collect unnecessary data that we don't use in our system

#

You might wanna say that, this data might have just become necessary to collect, though

silk cobalt
#

Oh you are using Connect Onboarding here to collect what is required

hoary briar
#

Yes

silk cobalt
#

Ah okay yeah I can log a feature request for you here but if this is the case then you would have to create a new account right now. Afaik you can't clear out values like this and force requirements.

hoary briar
#

you would have to create a new account right now
Yeah that's somewhat hard to do for us for multiple reasons.
All the tax breakdown and captured prices are in stripe and tied to the stripe account.
Since we didn't want to keep our data in sync with stripe in our db, we 're relying on stripe data and the metadata we add directly.
Which means we'd lose the ability to retrieve payment info on old orders before the transfer ownership happened

hoary briar
silk cobalt
#

Yeah happy to log a feature request. The general idea with Custom accounts is that you wouldn't have any data on these accounts -- everything would be handled through your platform. So overall it shouldn't really matter if it was a new account or not. But your integration might not have been set up that way.

#

I think the other option right now is that you collect this info yourself for times where you need to transfer ownership

hoary briar
#

Yeah, We're using direct charges. And it seems that custom accounts are not meant to be used with direct charges

silk cobalt
#

Correct

hoary briar
#

But also when you're a platform, direct charges is really the only way for merchants to have the correct breakdown of all the fees that are collected and keep the responsibility of the stripe fees back to the merchant

silk cobalt
#

That's not really true at all

#

You can still take an application_fee on a Destination Charge

#

So that the Connected Account sees that fee

hoary briar
#

Yes, but the merchant would not be responsible of the stripe fee then

silk cobalt
#

You can pass the fees on to them via taking an Application fee?

#

With Custom Accounts the Connected Account has no Dashboard -- you just show them what you want.

#

So you can show them the processing fee even if technically taken on your platform

hoary briar
#

We're using Connected Accounts embedded components

#

Eventually, you're right we'd like to show everything ourselves.
But until then, we're relying on stripe for most of the things while still hiding stripe as much as possible from our merchants

silk cobalt
#

Ah

#

Okay well yeah embedded components indeed would limit things here then

hoary briar
#

Yeah, we kinda want it all ๐Ÿ˜…

silk cobalt
#

Haha yeah

#

Mostly what you are trying to do is designed for a complex API integration

#

I understand it is a lot to build, but that is why you are running into rough edges

#

The pieces you are using aren't really intended for your use-case

hoary briar
#

Yes. We knew we'd likely have some integration problems. But so far we managed to get everything we needed.
Really the main pain point is Connect Onboarding requiring a phone number when bank information has been collected.

Since it's impossible yet, from what I know, to change the phone number being used to send the 6 digits required to update the account information.

If there were a process for that, we'd simply redirect the new merchant to that Connect Onboarding link and let them change the info they want.
And everything would be solved until we can build a full integration

silk cobalt
#

Since it's impossible yet, from what I know, to change the phone number being used to send the 6 digits required to update the account information.
That is possible -- you just have to send your user to Support (https://support.stripe.com/contact/login) in that case to get that changed

hoary briar
#

hmmmm. Interesting. Do you know what I should tell them to tell support so support can understand the request properly? Our merchants are far from being tech savyy

silk cobalt
#

I'm not sure exactly -- this is a relatively new process put in place that my team doesn't handle. I think reaching out to our Support team and asking them that question yourself is your best bet for that

hoary briar
#

Last question, how do I add a new user to a stripe account?
I'm going through the support article transfer ownership of a stripe account. And apparently we need to add a new user to the account, make them an admin and transfer ownership from there.

Since we have access to the merchant's dashboard, could we do that via API and then manually click transfer ownership on the dashboard we have access to?

silk cobalt
#

That stuff should not apply for Custom accounts

#

They have no Dashboard so there is no "roles" or anything

hoary briar
#

oh. And can we add a person to that account?

silk cobalt
#

Yes

hoary briar
#

How do we do that? I don't see anything on the account api that allows to do that.

silk cobalt
#

You pass the account ID when you create the person

#

That will automatically associate that Person to the account

hoary briar
#

Oh nice

#

What does that mean for the connected account?

#

That the previous person associated to that account is not anymore?

#

Or are they 2 persons associated to the account now?

#

And if there is 2 persons, how does the Connect Onboarding link behave? By that I mean who does it send the 6 digits to login to?

silk cobalt
#

You can have multiple Persons associated to an account

#

I don't think it should change anything with the login info as far as I know.

hoary briar
#

So let's say that I add this new person to the stripe account, and remove the previous one.
Would the login use the new person's phone number? Since there's only one person associated to the account now?

silk cobalt
#

I don't think that information is based on the Person object itself. But yeah it is a fair question and I'm not positive. We really only focus on the API here. I'd recommend asking our Support team about that as well so they can clarify how that works.

hoary briar
#

๐Ÿ‘

#

Will do right away

#

Thank you, That was immensely helpful