#deepumi_transfer-reversal

1 messages · Page 1 of 1 (latest)

lavish eagleBOT
night ginkgoBOT
#

Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

lavish eagleBOT
#

👋 Welcome to your new thread!

⏲️ We'll be here soon! We typically respond in a few minutes, but in some cases we might need a bit more time (e.g., server's busy, you've got a complex question, etc.).

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can 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/1253667490811088897

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

ionic yoke
#

For every transaction, our platform charges a fee of $2.10.

fair chasm
#

Sorry, I don't understand what you're asking me to check

ionic yoke
#

Okay No problem, I will explain

fair chasm
ionic yoke
#

I made a reversal transfer to the platform account, so we can get our platform fee back using the transfer API.

#

Yes, I think we want to take both stripe fee + platform fee from the connected account.

#

so that means, I need to transfer $15.30 instead of $6.30 because we accidently paid both Stripe fee on our side.

#

Does that mean the money $6.30 was taken from Connected account to Platform account?

#

Sorry, tell me which part you are not understaing in the original question?

#

Since May 19th, our platform account has been paying the Stripe fee instead of the connected account. We want to recover these platform fees/

fair chasm
ionic yoke
#

We paid the Stripe fee for all these transactions and were advised that we can use the Transfer Reversal API. I wanted to check that the test transaction I made accounted for the fees.

  1. Stripe fee. $2.9 + .30
  2. Platform fee $2.1
#

but that covers, only our fee right, but we have to still charge the stripe fee, so that means, the amount should be $15.30

fair chasm
# ionic yoke Since May 19th, our platform account has been paying the Stripe fee instead of t...

Not really sure what is unexpected about that, that's how destination charges work and nothing has changed here. So maybe you integration changed and now the flow of funds is different:

Your account balance is debited for the cost of the Stripe fees, refunds, and chargebacks.
https://docs.stripe.com/connect/destination-charges

Create charges on your platform account, collect fees, and immediately transfer the remaining funds to your connected accounts.

ionic yoke
#

We found out that yesterday evening and made the code fix, And now we are using Direct charge.
For example, this charge we used direct charge "ch_3PTxPuC19lvvZ02k1IE5RCPS"

fair chasm
ionic yoke
#

see the screenshot above, after the code fix changes, this screen show the fees were split for both Stripe and Platform account. And both fees taken from the connected account.

fair chasm
#

Yep, that's how direct charges work. I'm still not really sure what you're asking me here?

ionic yoke
#

We wanted to recover our fees + stripe fees from 500+ transactions.

#

Can I do an audio call conversation?

#

So the question is, am I using the right API, and does the fee for the test reversal cover both fees from the connected accounts? We paid the Stripe fee and did not collect our fee for the platform account

fair chasm
fair chasm
ionic yoke
#

So the one I used for reverse is not the right API correct?

fair chasm
#

I just said that is an option, yes

ionic yoke
#

And another question: Since we need to take both fees
Platform fee = $2.1
Stripe fee = $2.9 + .30
We should transfer back $5.30 per transaction from the connected account right?

fair chasm
#

does stripe charge any fees?
No fees to move funds between Stripe account balances, no

ionic yoke
#

I think after reading this on the page "This approach is best for making adjustments within a platform (for example, correcting a payment mistake or recovering any fees you paid to Stripe)." whic is => Transferring from a connected account

fair chasm
ionic yoke
#

I am sorry, but can you explain what is per payment basis?

#

we charge the same fee for every client and transaction, across the board.

fair chasm
#

Differs if domestic/international card, etc

ionic yoke
#

And we only have US customers.. Thanks for explaining, now I understand.

fair chasm
#

Great!

ionic yoke
#

so that means, my calculation is correct? $5.30 to get back from the connected account. If I do a test transaction, not live.

#

could you verify while you are online?

fair chasm
ionic yoke
#

we charge a flat fee across the board which is $2.1 per transaction and Stripe fees is $2.9 + .30c

#

we almost lost around $2700.00 US dollars. Because we were paying Stripe fee and we were loosing all money

#

"If I do a test transaction, could you verify whether everything looks good with the transaction? on connected account and ensure we are getting our fees back?

fair chasm
#

Sure

ionic yoke
#

thank you.. give me a minute please..

#

This is the transfer ID = "trr_1PU652IcWSSPnlgrroz4jcrS"

#

I took $15.30. Please note that this is a test transfer.

#

Here is the request Id = req_JdcoimbwzGccF0

fair chasm
#

What do you need me to verify?

ionic yoke
#

Was the fee taken from the connected account?

#

And when I pass this in the JSON request, I am using "refund_application_fee", so I am already saying to take all fees. Do I need to still use this?
Does it charge beyound $15.30?
{
"refund_application_fee": "true",
"amount": "1530"
}

fair chasm
ionic yoke
#

In that case, I should not send $15.30 correct? because I still want the conencted account to see the Stripe fee. Please advice?

fair chasm
#

refund_application_fee refunds the fee the platform keeps (2.1) back to the conncted account. It's unrelated entirely to the Stripe fee

fair chasm
ionic yoke
#

So Stripe charges a fee right?

#

in this case $2.9 + .30 cents for every transaction.

fair chasm
#

Yes to the platform for destination charges

#

The connected account doesn't see that fee at all in that scenario

ionic yoke
#

Yes, so now How much total took from client account for the $300.00

#

as fees, both stripe and platform fee together, just $15.30 or $15.30 + Stripe Fee

fair chasm
#

I recommend looking at this diagram to understand how this works

ionic yoke
#

Sorry, I checked this flow, and currently fixed all payments goes through this flow, since I have not done transfer reversal, thats why I am confused.

distant terrace
#

👋 taking over for my colleague since they need to step away. Let me catch up.

ionic yoke
#

sure. thank you

#

I will leave a moment for you to read, or I can start, Please advice

lavish eagleBOT
#

deepumi_transfer-reversal

ionic yoke
#

When reversing a Stripe fee for a connected account, I am sending this data. Does this mean the connected account will deduct $15.30 from the client account, including the application fee again?

{
"refund_application_fee": "true",
"amount": "1530"
}

#

"We have two fees associated with transactions: the Stripe fee, which is $2.9 + $0.30 per transaction, and our platform fee, which is $2.1. Due to a system glitch, our platform paid both fees, including the Stripe fee that should have been paid by the connected account. Now, we need to collect our platform fee and the Stripe fees that were mistakenly paid on behalf of the connected account. That's the issue we're addressing"

distant terrace
#

including the Stripe fee that should have been paid by the connected account.
this is only in Direct Charges

#

Now, we need to collect our platform fee and the Stripe fees that were mistakenly paid on behalf of the connected account. That's the issue we're addressing
ok

ionic yoke
#

We already used Destination charge for all these transactions accidently?

distant terrace
#

would you mind sharing the platform's account ID

ionic yoke
#

sure..

#

one second.

distant terrace
#

and it explains why you were charged the Stripe fee

ionic yoke
#

yea. Thank you.. It was my mistake

#

and we lost $2700.00 +

distant terrace
#

but it has some limitations

ionic yoke
#

May i know the limitation please?

distant terrace
#

please read the doc first

#

if you still have questions I'm happy to answer

ionic yoke
#

Does any transaction fee stripe charges when we use this approach?

distant terrace
#

before you ask any further question please try reading the the doc first

ionic yoke
#

Okay thank you, I am reading now

#

I think this is the only clause I see
"Using Account Debits requires getting legally binding consent from your connected accounts. This feature is available in Australia, Canada, Europe, Hong Kong, Japan, New Zealand, and the US. Stripe supports Account Debits only when both your platform and the connected account are in the same region (for example, both are in Japan). "

#

since we are dealing only US customers. I think I am fine with this approach

distant terrace
#

did you read the whole document

ionic yoke
#

I have questions on the requirement sections.

distant terrace
#

sure

ionic yoke
#

let's say the connected account has insufficient funds? I think I found the answer here.
"If a connected account has a negative balance, Stripe might auto-debit the external account on file, depending on what country the connected account is in. If the external account hasn’t been verified, the debit can fail"

#

So In this particular scenario, I should choose the "Debit" options correct?

distant terrace
ionic yoke
#

I see both flows, like "

  1. Charging a connected account
  2. Transferring from a connected account
#

in my scenario I should choose option 1. correct?

distant terrace
#

no your use-case is for adjustment

#

so you need to use the transfer

ionic yoke
#

Okay, thanks for clarrifying that.

#

so could you confirm the JSON data I am sending to do the reverse still required the "refund_application_fee" value to "true"

{
"refund_application_fee": "true",
"amount": "1530"
}

#

And it won't take any additional charge except $15.30 right?

#

from the client account?

distant terrace
#

no it's no longer a transfer reversal

#

but rather a transfer from the connected account to your platform account

ionic yoke
#

Is this approach okay and correct? or any other recommandation?

#

reading..

#

Okay, I read the "transferring-from-a-connected-account" section.
I think I should use "transfers" API isntead of /transfer/reversals/.

distant terrace
#

exactly what I said here

no it's no longer a transfer reversal but rather a transfer from the connected account to your platform account

ionic yoke
#

by passing platform a.c and stripe connected a.c

#

I am so sorry for the confusion, and I appologize

distant terrace
#

no worries

#

I think it's best if you try it in test mode before you proceed

#

to doing it in live mode

ionic yoke
#

can I do a test transaction while you are online?

distant terrace
#

not sure I understand

ionic yoke
#

I will do a test transaction now, after that could you verify the transaction. If all looks good I can proceed with the production

distant terrace
#

don't do it in live mode

#

do it in test mode

#

using your test mode keys

ionic yoke
#

Yes, that;s right only in test mode. 100% agree with you

#

doing it on test mode..

distant terrace
#

so start by creating a destination charge with application fee

#

and then debiting the connected account

ionic yoke
#

so we wanted to take fees from the already created transactions which was happend since May 19.

#

we already fixed this issue for Future transactions,

distant terrace
#

I was talking about the scenario that you need to run in test mode

ionic yoke
#

Got it.. That make sense..

#

i will do that..

#

Created a test transaction on TEST account. THe request ID is "req_xClV5pFHRQTYov"

#

Now trying to do the transfer

lavish eagleBOT
ionic yoke
#

got an error..

#

checking..

#

{
"error": {
"message": "Cannot create account debit on this account; please contact us via https://support.stripe.com/contact with details for assistance.",
"request_log_url": "https://dashboard.stripe.com/acct_16HxfvHozpwNUrbx/test/logs/req_nOK87tCTAUujlP?t=1718974677",
"type": "invalid_request_error"
}
}

#

Platform account for testing -> acct_16I1kqIcWSSPnlgr
Connected account for testing -> acct_16HxfvHozpwNUrbx

distant terrace
#

is the connected account a Standard Account?

ionic yoke
#

Connected test account. "acct_16HxfvHozpwNUrbx"

distant terrace
#

taking a look

ionic yoke
#

Thank you so much

#

You want me to create a new test account and try?

#

** new test connected account

tribal ledge
#

Hi taking over here

#

Give me some time to catch up

#

This functionality is only supported for connected accounts where your platform is responsible for negative balances, including Express and Custom accounts

ionic yoke
#

Ours is a connected accounts. But we will talk after you catch up...

tribal ledge
#

I'm aware

#

Standard is a type of connect account which you are using

#

Custom and Express are the other types

#

And this functionality is only supported on those types

ionic yoke
#

We are using only "Connected accounts"

tribal ledge
#

You're not getting what I'm saying

#

There's several types of connect accounts

#

Account debits aren't supported on standard connect

#

They're only supported in express and custom

ionic yoke
#

Oh okay got it.. Sorry.

#

So what other options we have to get the money back

tribal ledge
#

From the api, you don't really have an option

#

But support should be able to help with something

ionic yoke
#

okay..

#

what about the transfer reversal API, I can't use that either?

tribal ledge
#

Only if it wouldn't make the connect account's balance negative

#

Not a valid solution if it would make the connect balance negative

ionic yoke
#

Is it possible if we do manually the transfer via stripe dashboard after checking the balance,

tribal ledge
#

But if there's not enough balance, I think you'd need to reach out to support

ionic yoke
#

Since I've asked this question before, when collecting a fee, do I need to specify 'refund_application_fee' in the Stripe API? I'm already receiving the application fee along with $15.30?
{
"refund_application_fee": "true",
"amount": "1530"
}

tribal ledge
#

If you want to refund the application fee as well yeah

ionic yoke
#

but I already included the application fee so the total is $15.30. So in this case does Stripe take any fees out of $15.30, becasuse Platform already paid stripe fee

#

so ideally, I should use the stripe fee only, then refund the application fee meaning? instead of $15.30

{
"refund_application_fee": "true",
"amount": "900"
}
Which is $9.00 for stripe fee Plat form fee is $6.30 so total $15.30 is that correct? And Stripe won't take any fees or stripe won't get any transfer fees right?

tribal ledge
#

well if refunding application fee, you should be passing the charge id

#

not amount

#

that way you link it to a specific charge

#

And Stripe won't take any fees or stripe won't get any transfer fees right?
idk

#

we're not experts in pricing

#

we just know the api

#

if you have fee questions, you should talk to support

ionic yoke
#

you mean the transfer id ?

#

for ex : tr_3PTwabIcWSSPnlgr2gK20Ui9

tribal ledge
#

I'm not sure what you're referring to

#

What api are you calling when passing refund_application_fee? I'm assuming you're talking about refunds now?

tribal ledge
#

Ah ok

#

So yeah no need to pass amount

#

it defaults to the entire amount. and i'd assume you'd want the application fee as well

ionic yoke
#

So I can remove the application_fee since both fees covered $15.30
Send this
{
"amount": "1530"
}
Instead of
{
"refund_application_fee": "true",
"amount": "1530"
}
right?

tribal ledge
#

Not what I suggested above

#

But you can do it that way

ionic yoke
#

Is it okay to send this way right?
{
"refund_application_fee": "true",
"amount": "1530"
}
And it will only take $15.30 from client no extra money?

tribal ledge
#

Idk how much is the transfer for

#

Why not just do what i suggested

#

If you want full amount refunded, just don't pass any amount

#

And refund application fee if you want or not

ionic yoke
#

We don;t want the full refund. All we wanted is the fees we paid for Stripe and the fee we (Platform account suppose to receive) that's the amount we wanted

#

Does that make sense?

#

Sorry

#

If I include 'refund_application_fee': 'true', will it also refund the platform fee on top of $15.30? In that case, I won't include it. Can you confirm?

tribal ledge
#

Idk what you mean by platform fee

#

it will refund the application fee

#

reminder you can just test this all out in test mode yourself

lavish eagleBOT
ionic yoke
#

Yes, I did.. I can share the request..

#

id

tribal ledge
#

sure

ionic yoke
#

one second

#

Here is the request id ->
req_JdcoimbwzGccF0

tribal ledge
#

How much do you want reversed?

#

If only 1530, just pass 1530 to the amount param

#

And don't refund application fee

ionic yoke
#

I wanted to make sure no additional fees have been taken apart from $15.30 from the client's connected account.

#

This is our fee structure
Platform fee Stripe Fee Total
$6.30 $9.00 $15.30

#

Option 1:
{
"refund_application_fee": "true",
"amount": "900"
}

Option 2:
{
"amount": "1530"
}

ornate vigil
#

Hi there 👋 jumping in as my teammate needs to step away soon. Our support team is more familiar with fee structures than we are in this forum, so it may be worth double checking with them whether the pricing for your account and connect flows would incur additional fees here.

My understanding offhand is that they won't, but it's not our area of expertise. If you look at the Balance Transaction created by the Transfer Reversal, do you see anything in the fee or fee_details hash that give you the impression a fee was assessed?

ionic yoke
#

I can choose one of the option above right?

ornate vigil
#

Yes, you can choose how you build your integration.

ionic yoke
#

one second let me check the balance transaction part, please give me a minute

#

I am checking this transaction in LIVE "txn_3PI9n4IcWSSPnlgr2rSd21fO"

#

This is the charge ID => ch_3PI9n4IcWSSPnlgr2V0F5gDY

#

you mean the after transfer reversal API call

#

This one is test account..
{
"id": "trr_1PU652IcWSSPnlgrroz4jcrS",
"object": "transfer_reversal",
"amount": 1530,
"balance_transaction": "txn_1PU653IcWSSPnlgrg5nh1gZq",
"created": 1718970996,
"currency": "usd",
"destination_payment_refund": "pyr_1PU652HozpwNUrbxPVjmz2OL",
"metadata": {},
"source_refund": null,
"transfer": "tr_3PTwJ5IcWSSPnlgr0iXxUWp3"
}

#

What I need to check here?

#

This was the response I received after I made a test mode reversal..

ornate vigil
#

I don't exactly know, because I don't know how fees are set up for your account so I don't know if you should be looking at the Balance Transaction or not. If fees are assessed on each transaction for your account, then the ID in the balance_transaction field there can be used to retrieve the associated Balance Transaction object.

Those objects have a fee field
https://docs.stripe.com/api/balance_transactions/object#balance_transaction_object-fee
and fee_details array
https://docs.stripe.com/api/balance_transactions/object#balance_transaction_object-fee_details
that provide you with information about the Stripe fees that were charged for the transaction (assuming that's how fees are assessed for your account, which our Support team should be able to confirm if you're unsure)

ionic yoke
#

Yes, I am aware of the fee structure on our account and our client connected accounts.
So Stripe Charges for $2.9 + .30 cents for each transaction (We only have US customers) and currency is $$$
We platform charge $2.1 per each tranaction.

#

So together we take $5.30 cents per transaction..

#

Unfortunately, after I integrated the Payment Intent API since May 19th, due to the code glitch, platform started paying all the fees instead of conencted accounts.

#

And we releaized yesterday, evening. And started addressing the code first for the future transaction.. And it looks good since last night.,

#

However, we lost $2700.00 and we wanted to collect the fees back which we paid for Stripe + Our platform.

ornate vigil
#

I'm not sure if there's supposed to be a question in there.

ionic yoke
#

Well, the question about the transfer reversal API usage..

#

based on the scenario, I wanted to make sure I can continue using the API, that is the question

ornate vigil
#

I don't think the scenario has any bearing on whether or not you're technically able to partially reverse Transfers. Are you encountering errors that are giving you the impression you can't do this?

ionic yoke
#

So far I used in Test environment and not encountered any issues.

#

So I will stick with this optio 2. Which I need exactly how much I wanted. Prior doing this I will ensure that client has sufficent fund by using Balance API

{
"amount": "1530"
}

#

I think thats all for the time being.

#

Thank you so much and thank you for your patience..

ornate vigil
#

Any time! You know where to find us if more questions arise.

ionic yoke
#

Yes sure.. you guys are awesome..

#

I can refer this thread any time for any reference right.

#

where do I see all my threads like prior conversation?

ornate vigil
#

Yup, the threads persist even after closed. You can use this link to access this one specifically:
https://discord.com/channels/841573134531821608/1253667490811088897

The thread icon near the top center of the Discord UI can be used to see all threads from the channel, and there is a search bar there that you can use to search for your previous threads.

This message, from near the beginning of this thread, also contains link s to your past threads:
#1253667490811088897 message