#Dustin LeBlanc - connect events

1 messages · Page 1 of 1 (latest)

lilac boneBOT
wintry thunder
#

I am wondering if this is because the webhooks are not in 'connect' mode. First off, does that sound right to y'all?
This is possible, since Connect events won't trigger webhooks unless the webhook endpoint is specifically configured to listen for them.

Second off, if they enabled it as a connect webhook hook, would we be getting events from their other vendors/apps? If so, is there a way to filter it to just our app?
What do you mean by this? the terms "other vendors/apps" is a bit ambiguous here and I have no idea what your integration scheme looks like.

stable quarry
#

Thanks for replying @wintry thunder, maybe I can explain a bit better

wintry thunder
stable quarry
#

We have a donation application where people make donations. That application uses a set of API keys tied to a Stripe account the client owns. We also pass the account headers to send those charges to their main Stripe account, so they have essentially two accounts. This seems excessively complicated to me, but that is how they run.

We operate solo in the one account, its just for our app, the other 'connected' account aggregates transactions from all their vendors

#

So I am wondering if when a payment_intent succeeds, its not broadcasting on the 'solo' account and is instead broadcasting on their 'connected' account

#

And if that's the case and we start listening to the connected account to get the events, I don't want to process the data from all their other accounts if I can help it

wintry thunder
#

So you would need to get webhooks for events that are happening on 2 different Connect accounts? So you have your user (the platform), Connect account A, and Connect account B. Both Connect accounts live under the platform. And you want Connect account A to have access to the webhook events that are being sent to Connect account B?

stable quarry
#

only one connect account

#

the application has its own account, which is tied to an org account via connect, the org account is where they aggregate all vendors.

#

When a transaction fires, a webhook doesn't seem to be sending on the application's individual account, and the rest from me is speculation on what I could be missing

wintry thunder
#

So the platform created the org account? If that's the case, then you just need to configure 2 endpoints for webhooks. 1 for the platform and 1 for the events related to Connect accounts. They can both point to the same endpoint (not recommended) but that will give the platform access to webhook events that live on their Connect account

stable quarry
#

okay, and by 'platform' we're referring to our application specific stripe account. When that account has a payment_intent that is confirmed/succeeds, and it references the connected account, should I expect to be seeing the event on the application's webhook or the connected one? I had initially expected that event to broadcast on the application's webhook

wintry thunder
#

It depends on the payment flow. If the payment is being created by the platform (on behalf of the Connect account) then it will live on the platform. If it is being created as a Direct charge (e.g. the funds don't flow through the platform at all) then the event will live on the Connect account.

stable quarry
#

Interesting, I would have expected the former to be our case, but maybe its the latter. Thanks for that bit of info!

#

If its the latter and I subscribe to the hooks on the connected account, is there a way to filter those events so they are only ones my account was involved in/created?

wintry thunder
#

If its the latter and I subscribe to the hooks on the connected account, is there a way to filter those events so they are only ones my account was involved in/created?
Yep! The event object sent to the Connect webhook endpoint contains a special property called account, which is the ID of the connected account (i.e., acct_123) on which the event occurred.

stable quarry
#

is that connected account then our app's account it sounds like?

wintry thunder
#

That depends. Was your "app" account created by the platform as a Connect account? Or as a standalone that's separate from the platform?

stable quarry
#

The client owns both accounts and we operate as the solo account and pass a reference to their main account via the Stripe-Account header. I am not sure how they were created by the client. I assume the terminology "created by the platform as a Connect account" applies but I can check with them

#

Thank you by the way for your help with a confusing situation @wintry thunder

wintry thunder
#

Yeah, these are definitely things you will want to know as the developers. Those details are incredibly important here, since the mode of getting access to webhook events will entirely depend on (a) where the webhooks are being sent (e.g. platform account or Connect account), and (b) where your app's account sits in relation to the platform

stable quarry
#

Okay, I'll check with them, thanks @wintry thunder !

blazing ibex
#

If you need any more help once speaking with them, I'd be happy to help, or just message us again here later 🙂

#

Dustin LeBlanc - connect events

stable quarry
blazing ibex
#

If the payment is done with direct charges, that would be a connect event from the connected account yes

#

If you're doing payments with a mix of the platform account and the connected account, then you'd need to set up (at least) two webhook endpoints, one for the platforms own events and one for the platform to get events from connected accounts (the option shown in the screenshot above).

#

Do you happen to have an example event you found in your dashboard that you're not getting at an endpoint where you expect it?

stable quarry
#

Thanks @blazing ibex, I just got out of a meeting about the situation, I don't have direct access to their events stream, so I would have to ask them to pull it for me. I do have the payment_intent id though

blazing ibex
#

I can take a look at that, and its the succeeded event you're looking for?

stable quarry
#

Yep, should I DM you?

blazing ibex
#

No, please just share here, pi_123 id are safe

#

Really any stripe object ID is safe, nobody can do anything with them without keys

#

NEVER share secret keys, even to those of us who work for Stripe

stable quarry
#

Thanks @blazing ibex sorry, I was testing things with the client, we temporarily setup the webhook to consume via the connect system and that started working. Unfortunately, it does end up passing unrelated transaction data back to our application which the client wants to avoid, so we're disabling it for now

blazing ibex
#

What kind of unrelated data do you mean?