#Dustin LeBlanc - connect events
1 messages · Page 1 of 1 (latest)
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.
Thanks for replying @wintry thunder, maybe I can explain a bit better
Different events will be triggered for the platform and its Connect accounts. So there should be different endpoints for Connect events and platform events
Screenshot is from: https://dashboard.stripe.com/test/webhooks/create
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
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
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?
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
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
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
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.
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?
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 calledaccount, which is the ID of the connected account (i.e., acct_123) on which the event occurred.
is that connected account then our app's account it sounds like?
That depends. Was your "app" account created by the platform as a Connect account? Or as a standalone that's separate from the platform?
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
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
Okay, I'll check with them, thanks @wintry thunder !
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
Thanks @blazing ibex reading this doc: https://stripe.com/docs/connect/direct-charges It certainly sounds like what we're doing is 'direct-charges'
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?
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
I can take a look at that, and its the succeeded event you're looking for?
Yep, should I DM you?
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
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
What kind of unrelated data do you mean?