#ali-osaid_api
1 messages · Page 1 of 1 (latest)
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.
- ali-osaid_best-practices, 1 hour ago, 18 messages
- ali-osaid_api, 2 days ago, 34 messages
- ali-osaid_api, 4 days ago, 23 messages
- ali-osaid_api, 4 days ago, 9 messages
- ali-osaid_api, 4 days ago, 30 messages
👋 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/1272482689932591137
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
hi! that seems normal, when you call /v1/transfers to do an Account Debit(I assume that's what you're doing https://docs.stripe.com/connect/account-debits#transferring-from-a-connected-account) , it deducts from the account's available balance. If that balance is zero then it goes negative.
so is this normal in most of the application and i should let it go?
not sure, I don't completely understand what you expect to happen instead overall.
Ultimately the money has to come from somewhere, you can't just keep debiting the connected account's balance if you never add to it(by processing payments on it or by transferring funds from the platform to the connected account).
There are two types of users in the system:
Customer
Service Provider
Flow:
Top-Up Process:
Both customers and service providers can top up their accounts.
Payment is handled through Stripe's Payment Intents.
After confirming the payment, the funds are added to their respective Stripe Connect accounts, and the amount is also recorded in the local database.
Paid Task Creation:
When a user creates a paid task, they are required to pay $10 to the platform.
This amount is deducted from the user's Stripe Connect account and transferred to the platform.
Task Cancellation:
If a task that was created and paid for is later canceled, some amount needs to be refunded to the service provider.
First, the refund amount is sent to the platform.
Afterward, the remaining amount is transferred to the service provider’s Stripe Connect account.
sounds pretty complex. Maybe the piece you're missing is if the connected accounts are not on manual payouts, any funds you transfer to them or they make from processing payments, just gets paid out to the bank account in a couple of days and is not held in their Stripe account.
https://docs.stripe.com/connect/manual-payouts
umm what flow should you suggest then
application is complex i tried to keep all the money in platform and then transfer to connect account when they ask but with this approach i cant differentiate between platform amount and connect accounts balance
stripe connect account payout is manual i just checked
sounds good then. As to your point above, well yes if you are processing all payments on the platform and holding all funds there, then the accounting and differenciation is hard/impossible really since it's just a pool of money. I can't really give you any specific advice here. AFAIK the 'normal' way you might do this is process a payment on the platform and use Destination Charges or Separate Charges and Transfers to move some of the payment to the connected account as their "wallet" or other concept, and you hold the funds there and use Manual Payouts to control when/if the user has access to that money in their bank account.
if i use manual payout for stripe connect account then this rule dont apply right?
also i should restrict user to payout for 5 days and always check there available balance and guide them that you have to wait for payout till the amount is available
it does apply, that screenshot is from the page describing manual payouts and explains how long funds can be held on an account
thats what i am currently doing
doing destination charge the funds first go to platform then connect account and from there when he transfer that some of the funds back it get negative balance cant the funds just went from pending instead is there any way?
no, when using /v1/transfers to bring funds from the connected account to the platform it debits the available balance of the connected account
any other way to send funds from connect account to platform
there's https://docs.stripe.com/connect/account-debits#charging-a-connected-account but I believe it's the same really and debits the available balace.
yeah this wont help
👋 taking over for my colleague. Let me catch up.
okay sure
the problem is with my payment flow and i cant find any api that can help me with it
trying to read through the thread give me a couple of minutes
I think the easiest way to do what you're looking for is to create a separate customer for the connected account
sorry i cant understand can you explain in more details what you are trying to say
so basically if the connected account is buying something from the platform, they should be treated as a customer
and then you can link the customer ID and the Platform ID by putting some metadata if you want
this way you don't have to worry about negative balances
but i have to transfer the funds from connect account to platform its deduct from available balance
you wouldn't do that
instead when your connected account wants to top-up their "wallet" you would search for the customer with the metadata["account_id"] = {{CONNECTED_ACCOUNT_ID}}
and increase their credit balance
this can be either an action instead of the transfer or by confirming a PaymentIntent as any normal customer
umm im understanding what you meant will try it out