#niraj-p_docs

1 messages · Page 1 of 1 (latest)

violet roverBOT
#

👋 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/1434865223084408873

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

edgy ginkgo
#

Could you confirm:
Does Stripe provide any API or feature to reverse a transaction (charge) without refunding the customer?
If not, what is the best practice for internally balancing or offsetting such transactions?
Can we simulate this by creating balance adjustments or negative transactions in the platform account?

#

Which thing i want to achieve via reverse transaction.
Customer completes Checkout → payment is confirmed successfully (payment_intent.succeeded event).
After confirmation, my backend checks additional business logic or capacity conditions.
If those conditions fail (for example, seat not available, or custom validation failed), I want to reverse the transaction internally without refunding the customer and without losing Stripe’s processing fees.

agile nexus
#

👋 Hi there! Let me take a look

edgy ginkgo
#

Hi

agile nexus
#

I'm not sure what this would look like

#

Are these charges being made on a connected account?

#

You want to move money, without moving money? 😄

edgy ginkgo
#

Yes, these charges are being made on connected accounts through Stripe Connect.
In our setup, customers make payments via Checkout Sessions, and those payments are created directly on the connected accounts (our customer’s accounts).
After the payment is confirmed, our system performs some additional checks (for example, seat availability or validation rules).
If those conditions fail, we want to reverse the transaction meaning bring the funds back from the connected account to the platform — without refunding the customer and without losing Stripe processing fees.

violet roverBOT
tardy valve
#

👋 taking over for my colleague. Let me catch up.

tardy valve
#

why not do a manual capture after you verify all the checks?

edgy ginkgo
tardy valve
#

such as what?

edgy ginkgo
#

Only some payment methods support separate authorisation and capture. Some payment methods that support this include cards, Affirm, Afterpay, Cash App Pay, Klarna, and PayPal. Some payment methods that don’t support this include ACH and iDEAL.

tardy valve
#

is this a recurring payment or a one-off?

edgy ginkgo
#

Both

tardy valve
#

hmmmm ok

#

give me a minute

edgy ginkgo
#

Sure

tardy valve
#

that really suits your use-case:

Check inventory: Run inventory checks and holds when customers attempt to change item quantities.

edgy ginkgo
#

Thanks @tardy valve for this but my requirement is after confirm payment i want check my business logic.
So can you please stripe provide any reverse transaction functionality.

tardy valve
#

I'm not sure why you want to take a payment from an end customer when you can't provision their service/product

edgy ginkgo
#

That’s a valid point. In our case, payment is required to secure a spot, but final confirmation depends on availability checks that happen right after payment.
We take the payment first to prevent duplicate or fraudulent bookings.
If the checks fail, we want a way to reverse the charge without refunding and losing processing fees.

tardy valve
#

We take the payment first to prevent duplicate or fraudulent bookings.
you can still do that without getting the payment first

#

If the checks fail, we want a way to reverse the charge without refunding and losing processing fees.
you will lose the processing fees unless you want the merchant (the connected account) to pay that from their own balance

#

depending on which requirements you meet

violet roverBOT
edgy ginkgo
#

No this things not work for me because this creates a Transfer on the connected account and a Payment on the platform account.

crimson otter
#

What type or charges are you using?

edgy ginkgo
#

We’re using destination charges created automatically through Checkout Sessions on connected accounts.
The payments are processed for the connected account.

crimson otter
#

Then the above approaches that my colleague described should work you. Is there some aspect of these that you think wouldn't work for your use case?