#Dev-Ahmed-Hasnain - hi

1 messages · Page 1 of 1 (latest)

worthy quarry
#

Hi there!

#

What is your question?

#

@proud shuttle Let's use this thread to chat

#

I am making a website for my client which is an e commerce store. There are 3 roles in the site, customer(credit card holder), store owner (connected account holder), and platform (which is providing the platform to store owners and will get application fee as per stripe connect rules.) Now i want to discuss refund case. When i charge customer, a charge is deducted from the card move in the platform account then transfers from platform account to store owner account, then an application fee is transferred to platform account and so on. And when i make a refund the payment is reversed correctly. But when is make a partial refund e.g 2 items of qan order out of 4. Then the platform fee is transferred to store owner account and there is no way in stripe docs to refund that fee in customer account. BTW i am using stripe connect and for payment i am using destination charge.
The link of which is given below. I repeat my question. Is there a way to refund platform fee from paltform to customer account and not to store owner account or is there a way to refund platform fee to customer account.
i am using stripe connect for my clients e commerce website.

#

Note that as mentioned in the link I shared:

If the refund results in the entire charge being refunded, the entire application fee is refunded as well. Otherwise, a proportional amount of the application fee is refunded.

proud shuttle
#

yeah, but the problem is not the refund. problem is that when i make a refund as guided in the link you shared , the whole charge is refunded including platform fee to the customer, but when i make a partiall refund the partiall amount is refunded and partial platform fee also but the platform fee is not refunded to the customer from which the charge was made but to the store owner connected account because stripe says the platform fee will be refunded to the account from which it is originated and that is the connect account store owner account. but i dont want to refund to him but to customer.

#

why the platform fee is refundinig to customer in case of full refunds and not in partiall refund. same api is behaving differently in these cases?

worthy quarry
proud shuttle
#

yeah i ahve tested this many times.

#

req_WS3qjEzNyR6Qce

#

this is the id of a partial refund

#

you can see that , this is a partial refund and 25$ is the platform fee, the proportional platform fee is refunded which is 6.23 something but to the connected store owner account , not to customer.

worthy quarry
#

Thanks! So for the ID you shared I see:

  • The PaymentIntent was for $191.04
  • The refund was for $51.69
  • The customer got back $51.69
    You do not agree with his?
proud shuttle
#

no. customer should get the platform fee back too which is refunded but is stuck in the store owner account. why should he get the platform fee and not the customer. the customer should get 51.69 + 6.76 $

#

becasue in case of full refund the customer is getting actual price of his order + platfrom fee back. but not in partial refund case

worthy quarry
#

the customer should get 51.69 + 6.76 $
I think there's a miss understanding here, that's not how it works.

  • If you create a PaymentIntent for $100 with application_fee_amount: 10, then the customer will pay $100 in total. Later if you do a full refund, then the customer will get back $100. If you use refund_application_fee, it just means that the $10 will move from the platform to the connected account.
  • If you create a PaymentIntent for $100 with application_fee_amount: 10, then the customer will pay $100 in total. Later if you do a partial refund of $50, then the customer will get back $50. If you use refund_application_fee, it just means that the $5 (half the fee) will move from the platform to the connected account.
proud shuttle
#

yeah right but now i am left with 45 $ right ?

worthy quarry
#

In the first example I shared:

  • if you don't use refund_application_fee, then the platform keeps $10
  • if you use refund_application_fee, then the platform keeps $0
#

And in both case the amount is actually a little lower, because the platfortm has to pay the Stripe fees

proud shuttle
#

ok. so you said in the example , in partiall refund 50$ will be transfered to customer and 5$ to connect account.

#

what if i want to refund the platform fee to customer and not to connected account . as customer is the one who paid the platform fee.

worthy quarry
#

If you want to refund the customer $50, create a refund for $50. If you want to refund the customer $55, create a refund for $55. The refund_application_fee will only have an impact on the platform and on the connected account, not on the customer.

proud shuttle
#

Ok but if i make a refund of 50 dollar , 5 dollar will be platform fee , and then i again make a refund of 50 dollar 5 dollar will be platform fee. thats total of 110 $ . but the payment intent was 100$ so who will pay the 10 $ ?

worthy quarry
#

In this example do you use refund_application_fee?

proud shuttle
#

in the refund api i have used the parameter application_fee_refund => true , which is same as the application fee refund api.

worthy quarry
#
  1. The customer pays $100. Your paltform has $10 and the connected account has $90.
  2. you make a $50 refund. The customer gets back $50, the platform has $5 left, and the connected account has $45 left
  3. you make another $50 refund. The customer gets back $50, the platform has $0 left, and the connected account has $0 left.
proud shuttle
#

Thank you soma. infact i am very thankfull to you you have been a great help to me.