#JohnM-availible-balance
1 messages · Page 1 of 1 (latest)
The ID on the charge is py_3Jm2sXHFDCZvO5mL0Sdpywkb
Would the source_transaction property help you here? It will delay the transfer until the funds are available https://stripe.com/docs/connect/charges-transfers#transfer-availability
no, because we are not using a connected account on the charge.
I am doing exactly like the doc says. I am using the https://stripe.com/docs/api/events/types#event_types-charge.succeeded web hook to trigger the processing of the transfer.
besides... according to the docs, using the source_transaction should not be used for ACH transactions... which this is
So, any ides why I received the
charge.succeeded webhook for py_3Jm2sXHFDCZvO5mL0Sdpywkb but yet my available balance did not reflect this until the next day ?
Any ideas on this ?
Sorry bouncing around between a few threads. Will be able to look again in a moment.
Ok... just checking to see if your still there
@kindred trench The funds are not available instantly. They always take some time to be available. How long depends on your account's country and the type of payment method. For example in the US funds are available after 2 days for a card payment. So if you charge at 1am UTC on a Monday, funds are available at 12am UTC on Wednesday. ACH is longer.
You always get the charge.succeeded event and then later the funds are available
The way to know when is to look at the BalanceTransaction (txn_123) associated with the Charge. It has available_on which is a unix timestamp of when funds would be available
Ok... that is what I thought
So. can I be guaranteed. that if I base my logic on that date, the funds will be available ?
dateTimeStamp
@kindred trench nothing is ever a forever guarantee, there are always edge-cases.
Can you take a step back for a second and clarify exactly what you are trying to achieve? Because in 99.9% of cases you are on automatic Payouts and we do all of the payout calculation and logic automatically for you
Yes. We are accepting payments from customers in order to pay their suppliers. We cannot do as a charge on behalf because we want the ability to have one charge for multiple invoices to multiple suppliers. So we will create the charge for our stripe account for the sum of the invoices. Once the funds have cleared, we will distribute the funds to the suppliers for each of the invoices in the charge. So we are dependent of not distributing the funds until they are available in our stripe account.
Once the funds have cleared, we will distribute the funds
Why are you waiting for the funds to clear?
to prevent a insufficient funds on the transfer ....
You want to read https://stripe.com/docs/connect/charges-transfers#transfer-availability in the doc then. It explains how to tie the transfer to the charge's availability
Yea, this is a ach transaction...
For these payments, you should avoid using source_transaction and wait until a charge.succeeded event is triggered before transferring the funds. If you have to use source_transaction with these payments, you’ll have to implement functionality to manage payment failures.
(wrong) Sure but you can do the same after the charge succeeds in which case you're fine
ah wait no that's wrong, you use Charges not PIs so it's different, my bad
Hum, is your platform account on manual Payouts?
My take is that it's still better to use source_transaction. But you need to remember to reverse the transfer if you get charge.failed
let me test this. I remember doing this once before and ran into problems
Yea.. I would only use the transfer if i get the 'charge.succeeded' webhook
yep that's the best way to do this IMO