#ShipX
1 messages · Page 1 of 1 (latest)
What's the issue
so i want to add funds to stripe account
so i used topup api to add funds but it is throwing an error like this Top-up creation is not supported for country CA and currency CAD.
Yep, they're only available in certain countries and I don't believe CA is one
so how can i add funds then in ca account?
I guess you'd just accumulate a balance by processing some payments (assuming you're in test mode)
yes i have done some payment
and yes i am in test mode
what i exactly i need that i want to send money to the stripe connect account straight away
You probably need to use the cards here (https://stripe.com/docs/testing#available-balance) to bypass the pending balance so the fund are available straight away
but i can not use this
i have used transfer api based on charged id
so balance is always showing in future payout
it is not adding in to transit to bank
const transfer = await stripe.transfers.create({
amount: amount * 100,
currency: "cad",
destination: destinationAccountId,
source_transaction: charge.id,
// transfer_group: 'ORDER_95',
});
also tell me why balance is always staying in future payout ?
because i transfered money 5 days ago but still it is in future payout
Probably a couple of reasons:
- By passing
source_transactionthe transfer doesn't happen until the related transaction/payment actually settles. If you weren't using the available balance cards I sent, l that could be a few days: https://stripe.com/docs/connect/charges-transfers#transfer-availability - Your payout schedule may be at play too.
ok
can you please explain more on this point "By passing source_transaction the transfer doesn't happen until the related transaction/payment actually settles."?
Did you read the link I just sent? Should explain it
By using source_transaction, the transfer request succeeds regardless of your available balance and the transfer itself only occurs once the charge’s funds become available.
So in your example, the transfer will only happen once the balance from charge.id (in your example) has settled/become available on the platform
so what i am asking is that
it has been more than 5 days
but funds are still in future payout
Ok, and what is the payout schedule for the account?
currently i have set it to manual payout
console.log("cardId===", cardId);
const charge = await stripe.charges.create({
amount: amount * 100,
currency: "cad",
source: cardId,
customer: customerId,
});
console.log("charge====", charge);
const transfer = await stripe.transfers.create({
amount: amount * 100,
currency: "cad",
destination: destinationAccountId,
source_transaction: charge.id,
});
making the payment like this
Then this seems expected to me. If you're controlling the payouts, then we would we automatically pay out the balance?
You need to create the payout yourself: https://stripe.com/docs/api/payouts/create
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
so first i will call charge api then this transfer api then this payouts api
right?
Correct yes
okkk
what if i do not have enough funds in stripe so that will throw insufficient balance error
so how do i add those funds in stripe?
which api should i use to add funds?
You'd add to the balance by processing payments using the cards I sent earlier
ok