#cory-topup_timings
1 messages ยท Page 1 of 1 (latest)
hi there, it typically takes about 5 - 6 days for the funds to become available for use in your Stripe balance : https://stripe.com/docs/connect/top-ups#settlement-timing
I see that, but it also says there is a way to get quicker turnaround times
Can you explain what that means, and how quick it can get? And how can we get Stripe all the info it needs to do that Day 1
Since we mainly help with technical questions here, we don't really have the knowledge to help on this topic. You likely want to reach out to Support to ask about this: https://support.stripe.com/contact/
Ok I'll reach out to our account manager
One more semi related question. We have the option to "top up" our balance with 2 different methods.. right?
- ACH
- Bank or Wire transfer
Do you know the pricing? It seems like bank transfer is pretty good for us if it can top up the balance in 1-2 business days
What would be the reason for using ACH at that point unless the fees are less
sorry, again, this is really something which Support would know more about ๐
ok
Can you confirm if a "Stripe Transfer" (transfer from one stripe account balance, to another stripe account balance) is instant?
Or is this also a question for the account manager?
the request to create a Transfer would reflect if it's successful immediately i.e. whether the Transfer object is created
However, whether the funds are immediately available for use is a separate matter. If you define a source_transaction, the transferred funds would be available_on [0] on the same datetime as the source_transaction.
[0] https://stripe.com/docs/api/balance_transactions/object#balance_transaction_object-available_on
for example if source_transaction=chargeA, and chargeA is only available on Thursday. Then the Transfer funds will also only be available on Thursday.
if you don't specify a source_transaction, then yes, the transferred funds are immediately available
ok
thanks!
Last question for now please...
payout.canceled
data.object is a payout
Occurs whenever a payout is canceled.
payout.created
data.object is a payout
Occurs whenever a payout is created.
payout.failed
data.object is a payout
Occurs whenever a payout attempt fails.
payout.paid
data.object is a payout
Occurs whenever a payout is expected to be available in the destination account. If the payout fails, a payout.failed notification is also sent, at a later time.
payout.updated
data.object is a payout
Occurs whenever a payout is updated.
I am confused about what payout.paid event means
Why does it say that it can fail at a later time if the paid event is supposed to imply it was a success?
payout.paid means when we expect a payout to land in the bank account / debit card. There's no guarantee of success. At a later point in time, the bank may return the funds for multiple reasons e.g. account closed, account not found etc
Is there any final success event we can tap into, where the webhook event would indicate 100% the payout has been received in the bank account with success?
unfortunately not. You'll need to listen for both payout.failed and payout.paid events.
Please confirm if I am understanding this properly.
The payout.paid webhook is sent to us once Stripe knows the date by which the funds should be confirmed in the bank account.
And if a payout.failed webhook is not sent, by that date (from payout.paid webhook), we can assume the transaction was successful and closed out?
I need to know the logic we can use to determine a final success status
BTW, thanks so much for your help. I am going to be logging off for now, but will return to this thread tomorrow morning.
The payout.paid webhook is sent to us once Stripe knows the date by which the funds should be confirmed in the bank account.
yes, this is correct
And if a payout.failed webhook is not sent, by that date (from payout.paid webhook), we can assume the transaction was successful and closed out?
I'm making a guess here - 7 days should probably be sufficient
This thread has been archived. If you need help with anything else please ask in #dev-help or contact Stripe Support: https://support.stripe.com/contact
Thanks a lot
Sorry, can you clarify which question is outstanding?
We are trying to build logic that our system can use to determine when a payout has been completed successfully
I just found it a little hard to believe that the only time we can be sure of this is 7 days after the payout is confirmed to have been received in the bank account
Let's say today is Monday, and we initiate a payout for one of our vendors (for whom we have set up a Stripe Custom account that we manage)
And then we received a payout.paid webhook that says the money should be cleared and in their bank account by wednesday.
Then I have to wait until NEXT wednesday to be sure that it was a successful transaction / they have their money now?
Stripe sends payout.paid when we expect the money to be available in the destination account. We can't know for sure, we're not the bank, but it's usually pretty accurate. Not sure what you mean by waiting for more time after that? https://stripe.com/docs/api/events/types#event_types-payout.paid
@high escarp the person above said they think 7 days is a safe amount of time to wait for the failed webhook
After we receive the paid event
I think we are going to assume the money has reached the bank account when we receive paid event then..
Still we will listen for any failed events that come in, and will notify our team of these cases.
Does that sound good?
Hi there! Stepping in for @high escarp as they need to step away. Give me a moment to catch up.
Okay so yeah, a bank can reject the payout funds at any point and send them back to us. There is no set amount of time here that we can give you a 100% answer the payout won't fail. However, using the payout.paid event is the event that we recommend you rely on and then listening for failed events thereafter is a good plan for edge cases.
ok great
thanks @full sail and @high escarp and @inner crown for all your help.
You can archive this thread now.
๐
take care