Insufficient balance in bank account with stripe refund behavior - stripe-payments

I have a question regarding stripe refund behavior.
Let's assume that a user requested a refund of amount 300$.
current Stripe balance = 100$
current Bank balance = 100$
I know our refund request will go into the pending state as we have an insufficient balance but
Will stripe deduct these 200$ for now and 100$ for later? OR
stripe doesn't deduct these 200$ and will deduct 300$ as a whole when our account gets sufficient balance.

Based on this support FAQ, your Stripe balance would be debited and go negative, but the refund would be pending until you topped up your account or collected more payments to restore your balance to positive.
You should contact Stripe support for more questions about this: https://support.stripe.com/contact

Related

Does stripe charge a refund fee if the refund happens almost simultaneously?

If my user is charged and then is refunded almost immediately by my app, does stripe charge a refund fee to my app? If so, how much is the refund fee?

How to make custom payment to a customer

I am looking for a way to make payment to a customer like a business do.
for eg. a business will ask you to fill the form with bank name, acoount number IFSC code etc.
so customer can receive a payment.
I have user who is having a digital wallet with some amount.
I want to transfer the amount to user's provided bank account on the request.
I saw stripe documentation but I am not sure if stripe support custom payment.
Stripe provides refund as per below method where I have to provide charge id string
and because of charge id stripe will refund only the amount which was charged earlier and this is linked to particular charge only.
const stripe = require('stripe')('your_stripe_key');
const refund = await stripe.refunds.create({
charge: 'charge_id_string',
amount: 100,
});
I want to make custom payment/refund so I can transfer users wallet available balance to bank account.
Any suggestion will be appreciated.
I don't think you should use Refund because you can only create a refund based on an existing charge.
You should probably look at Transfer, which allows you to send funds from your Stripe account to a connected account. In your use case, you should create a connected account for your customer so that you can transfer refunds to your customer and eventually payout to their bank account.
Visit here to learn more about Stripe Connect.

Stripe checkout payment not available to pay out

I have a Stripe checkout page (https://stripe.com/docs/payments/accept-a-payment?integration=checkout) where customers can pay to providers. When I make a test payment, the money appears on the connected account's balance as Total balance, but it's not available to pay out (so Available to pay out amount is 0).
How can I make the money available?
Use the 4000000000000077 test card and the funds from any charges made on that test card will be immediately available.
https://stripe.com/docs/testing#cards-responses

Xero Workflow and payment accounts when creating paid invoices via API?

I'm trying to work out the correct method of attributing payments on invoices that are automatically created after a user purchases something on site, payment handled by Stripe (or other payment gateway). Here is the current flow from user action to Xero interaction (all working fine):
User purchases membership on site
Payment is processed by Stripe on-site
If payment is successful, an Invoice is generated in Xero (and a contact if it doesn't exist)
Payment is added to the invoice immediately after it is generated, and it's status is set to Paid.
Paid invoice is emailed to new member from Xero
Stripe deposits money in nominated business account each day
I have two questions about this workflow
What is the normal practise for dealing with PaymentAccount when applying a payment? Should we create a new payment account just for Stripe? A new "Bank" account for Stripe? The context of this question is selecting the correct PaymentAccount ID for the payment when creating the invoice.
Will reconciliation still be possible for these paid invoices when Stripe sends payments (assuming they send itemised payments)? Even if the money is deposited in a different (Real) account integrated in Xero?
Thanks
Your questions about stripe are more appropriate in Xero forums, since they are bookkeeping questions not API qestions.
Stripe can provide a bank feed to Xero, and you should set this up.
This means you have a Stripe bank account, which is the therefore the payment account. Payment reconcilations are easy (but can't be done via API).
The actual deposit of real money into a real bank account will be a consolidated amount typically called a 'settlement', typically one day of transactions, less fees, refunds and possible timing issues etc. The Stripe bank feed will have an entry for this. It is reconciled by a Xero user as a bank transfer between the Stripe bank and the real bank, and is nothing to do with the payment on the invoice.

Stripe: Do I need to refund for uncaptured charges?

So in our app, we do not charge immediately but simply create stripe charge with capture set to false so that customer is not charged instantly.
Question: Should we still issue a Refund for the customer (in case of app/db error) despite the fact that we created a charge in un-captured mode ?
Thanks for the help
Ideally, yes, you should. "Refunding" an uncaptured charge will cancel the authorization and release the funds on the customer's account.
If you don't refund the uncaptured charge, the authorization will automatically expire after 7 days, but that's not very customer friendly. You should always try to either capture or refund uncaptured charges as soon as possible.

Resources