#erick_connect-customerbalance-refunds
1 messages ยท Page 1 of 1 (latest)
๐ 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/1219678356455297024
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
I think the question got cutted:
I have a scenario with Stripe Connect where I'm facing a challenge regarding refunds, and I'm hoping for some guidance.
In my platform, customers can pay invoices using their Stripe balance, and these payments are directly transferred to connected accounts. This process does not create a traditional Charge or Payment Intent, but the funds move from the customer's balance to the connected account.
I'm trying to figure out how to issue refunds in these cases. Specifically, I need to reverse transactions where money was transferred from a customer's balance directly to a connected account without generating a Charge or Payment Intent.
What's the recommended approach for refunding these direct balance transfers?
Is there a way to create a reverse transfer or adjust balances through the API to handle refunds in this scenario?
Any best practices or steps I should follow to ensure this process is smooth and compliant?
Appreciate any advice or pointers to documentation that could help with this. Thanks in advance!
Hi ๐
Is the issue you are encoutering that you cannot refund a payment made using the Stripe account balance?
Okay let's take a step back and discuss how you are integrating with Connect.
I would assume the Stripe account you are connected to is the Platform Account. Who are the Connected accounts?
Yes, and the connected accounts are the providers of football offers (casual matches).
The customers can add cash to their balance and pay using their balance
Okay and who are the Customers? Do they have Stripe Accounts also?
Customers at least appear as "Customers" in the Stripe Dashboard, idk if that counts
Okay so you are creating Customer records for them.
Yes
What type of Connected Accounts are you using? Standard, Express, or Custom?
Standard
When the customers pay via a payment method different from their own balance, I can easily perform refunds using the associated charge.
But when the payments are made with their actual balance, I don't know what's the best way to handle refunds
Just to be clear, you are referring to the balance are you meaning this payment method? https://docs.stripe.com/invoicing/customer/balance
Yes, this one
Okay thank you
And you are trying to create a refund to add funds back to the customer cash balance, correct?
Yes, correct
Okay in that case there isn't a Refund endpoint. Instead you create a Customer balance transaction that adds funds to the balance and specify the payment it is a refund from here: https://docs.stripe.com/api/cash_balance_transactions/object#customer_cash_balance_transaction_object-refunded_from_payment
Ok, but I don't see any possibility of deducing the transfer from the invoice (I'm using transfer["destination"]:{CONNECTED_ACCOUNT_ID}), to revert the transfer to the connected account
Sorry that sentence does not make sense to me. What is it you are trying to do here?
I wanna figure out which payment (to the connected account) was associated to a specific invoice, when paid using balance.
As those invoices do not have an associated charge, I don't know how I can determine which Transfer I have to revert
Okay do you have an example Invoice ID I could look at?
in_1Ow534IitJJzMAknfEmqCE6z
Okay so you are using Destination charges and you want to identify the transfer to the Connected Account so you can reverse it
Yes exactly
But then I wouldn't be able to use the Paypal integration
(That's what I read at least)
Not the only reason, but definitely one reason for us to try using destination charges
Okay.
Wait sorry I am incorrect. You would still create a Refund to move the funds back to the customer balance and you would then make a customer balance transaction that references that Refund object. This would allow you to to set reverse_transfer to true. However, we still are having trouble finding the Payment Intent ID because it does not appear to be set on the Invoice.
Yep, is using Webhooks really the only option for such a common scenario?
I could listen to events like transfer.created, and check if I find any reference to the invoice there, but that seems a bit too complex for this task
I'm reviewing your events and I don't see a transfer.created.
This f.e.: evt_3Ow4JXIitJJzMAkn29OZ1qKX
On a connected account: acct_1OjOlxIv8IRHJN8K
Ah, okay this is actually exactly what I would recommend you use to keep track of these situations. You would generate refund using the Charge identified in the source_transaction property and make sure to set reverse_transfer="true".
Alright, thank you!
Sure thing! Happy to help ๐