#dave_api

1 messages ¡ Page 1 of 1 (latest)

tropic harnessBOT
#

👋 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/1278343234162266144

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

Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

sacred inlet
#

Hello
Just to clarify, are "customers" only going to be related to "payins" flow? OR are you ever paying out to these "customers"?

meager pilot
#

There's certainly a case where they would pay and receive

#

which is why our initial approach was to sign everyone up us a connect account. We then were told to create customer objects against the connect account for anyone that would need to pay. From there we would be able to add a funding bank.

Where we've been stuck is getting the settup intents to work when passing the secret id into the front end stripe code for the UI we've created to add a bank account.

sacred inlet
#

So the error is quite straightforward

#

You're making a GET request to the endpoint which expects a POST request instead

#

But IMO, I'd also plus one the appraoch where

For "customers" in your app:

  • You create a connected account for payouts
  • You create a customer object on Stripe for these connected accounts and use those for payins
meager pilot
#

We're using the stripe js version 3. where the call happens

stripe.confirmSepaDebitSetup(
'seti_1PqeOXJPlkEKreDmptJPLXkq_secret_Qi4XURmOnkDgQCEHRDKoiOVnVS0OlbZ',
{
payment_method: {
sepa_debit: ibanElement,
billing_details: {
name: 'First name',
email: 'firstname@company.com'
}

sacred inlet
#

Are you following any guides for this?

meager pilot
#

what would be the correct method/approach for adding a Customer's bank account to their customer object inside their connect account

#

I haven't seen any documentation around our specific use case

sacred inlet
#

I think there's some confusion. You'd create a customer object on Platform account for these "customers"

#

For example;

Let's consider your platform - acct_A and you have a "customer" in your app called John

  • You'd create a connected account for John - acct_B which you will use for payouts
  • For payins - you'd create a customer object (cus_xxx) for John on your Platform account (acct_A)
#

You can use SetupIntents to store a payment method for cus_xxx on acct_A (your platform)

When you need payins - Your platform account acct_A will create a PaymentIntent and charge cus_xxx's stored payment method

#

When you need to payout - Your platform account acct_A will create a transfer/payout to acct_B

meager pilot
#

yes that's our intended functionality. where we're getting stuck is the advised approach from Stripe to connect a bank account. We'll have to handle US/EU/Australia to start.

using the stripe library we've continued to face the aforementioned error. what would be the right approach?

sacred inlet
#

what would be the correct method/approach for adding a Customer's bank account to their customer object inside their connect account
This wouldn't really work for your usecase - as if you store the customer information on the connected account then you can only charge that customer as the connected account (acct_B) which means the funds will settle on (acct_B) except for any fees

meager pilot
#

our use case is we have 1 Customer who needs to pay 10 Partners a total of $10,000. Therefore we'd want to make one debit of 10,000 from that customer and when the funds clear (because it will be ACH) we'll split and send the correct amounts out

sacred inlet
#

I understand that. So once you set up above mentioned flow for "customer", you can create connected accounts for "partners" in your app.

Then it becomes quite straightforward as you'd be using this flow: https://docs.stripe.com/connect/collect-then-transfer-guide

to collect payment from "customer" and pay out to partners

meager pilot
#

right, I'm with you on all of that. Where we need help is in understanding the correct registration flow of a Customer and how to get them to add their bank account as a saved payment method.

To make sure I understand this correctly we will set all Customers and Partners up as a connect account. Which means all will have an acct_ id. For accounts that are also paying they will additionally have one cus_ id attached to their acct_. Is that correct?

sacred inlet
#

For accounts that are also paying they will additionally have one cus id attached to their acct_. Is that correct?
no, there's no really way to attach anything to a connected account.

Customer object will be created separate on your platform account for the "customer" you're working with. To make things easier for yourself when calling the APIs, you can store connected account ID in customer object metadata and vice versa.

That way you'd be able to retrieve either of the objects and see what customer/connected account they're associated with.

meager pilot
#

sorry perhaps that wasn't clear. we have an api call working that creates a customer object and associates it to the connect account. we then have been trying to add a bank to that customer object

sacred inlet
#

Yeah that's what I am saying.. You shouldn't pass Stripe-Account header as it creates customer object on the connected account.

You need to create the customer object on your platform account instead

meager pilot
#

to confirm that would be different than the stripe connect express onboarding flow we've built? if so, could you share any documentation you have on this approach please

sacred inlet
#

Correct. It is different from connect onboarding but the same thing as: #1278343234162266144 message

When you create a customer object using your platform's API key without using Stripe-Account header, the object is created on the platform account

#

Similarly, you should create and confirm SetupIntents using Platform's API key without using Stripe-Account header

tropic harnessBOT
meager pilot
#

What is the Customer's experience like for this because we're using the express connect onboarding? Or are you saying our Customer's don't have to provide all of the corresponding business information in account setup and we can simply setup a profile for them without them having to go through an onboarding flow?

plucky gazelle
#

Customer objects don't take any data to create and don't have onboarding requirements like Accounts do. The Account requirements are to cover regulatory requirements for what information we need to know about who we are sending money to

meager pilot
#

That's very helpful. Is there documentation on the best way to create customer objects for our use case?

plucky gazelle
#

@meager pilot Huge apologies for the delay. We have this API reference page on the various info that you can provide when creating a Customer (though notice that none of that info is required so you can create a customer without passing any parameters). Is this what you are looking for or are you trying to understand another aspect of this
https://docs.stripe.com/api/customers/create

meager pilot
#

That makes total sense. We've been blocked on this for awhile so I can't tell you how much I appreciate your help.

plucky gazelle
#

Glad we could help! Definitely can be a very confusing situation to work in. Let us know if you run in to any other questions!

meager pilot
#

I certainly will! thank you again!