#keirn_h

1 messages · Page 1 of 1 (latest)

tired hawkBOT
summer ocean
#

Hi there!

#

What is your question?

faint marsh
#

Hey my team is working on implementing dispute process.

#

charge.dispute.funds_withdrawn

#

does this happen at the same time charge.dispute.created

#

From what I understood in Stripe docs, it seems like payout process happens daily, which means this dispute would happen AFTER payout has been done. How does that work? negative balance in Stripe dashboard in our account?

gaunt salmon
#

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

faint marsh
#

Also wondering what happens to the Stripe fee when charge.dispute.funds_withdrawn takes place.

#

hello?

gaunt salmon
#

sorry still looping through the messages sorry for the delay

#

https://stripe.com/docs/refunds

It’s possible for a refund to be held in a pending state due to a negative balance on your account. In this situation, top up your account balance or enable auto-debits to process the refund. Read more about pending refunds on Stripe Support.

Cancel a payment or refund it partially or fully.

faint marsh
#

I'm not talking about refund though.

#

same process for disputes?

gaunt salmon
#

I'm terribly sorry

faint marsh
#

refund is out of scope of our Q1 only implementing dispute

gaunt salmon
#

I'm really not an expert in disputes since they are not directly related to API integrations

faint marsh
#

Yes when cardholder disputes the charge we get notified of that by charge object type charge.dispute.created

#

wondering when charge.dispute.funds_withdrawn happens

gaunt salmon
#

if you'd like to get better support on this I'd recommend contacting https://support.stripe.com/?contact=true they are better equipped to answer this kind of questions

faint marsh
#

this is fairly technical question I believe.

#

Can I speak to someone else if you don't mind?

#

It is about getting the webhook response and timing of types of event happening

gaunt salmon
#

charge.dispute.funds_withdrawn occurs when funds are removed from your account due to a dispute.
https://stripe.com/docs/api/events/types#event_types-charge.dispute.funds_withdrawn
this doesn't occur at the same time as
https://stripe.com/docs/api/events/types#event_types-charge.dispute.created

faint marsh
#

I am afraid that does not answer my question,.

#

When does it happen then

gaunt salmon
#

if you accept the dispute Accept dispute submits a response to the issuing bank affirming that you agree to refund the customer for the disputed payment and pay the dispute fee.

#

and then the funds are withdrawn

faint marsh
#

so... charge.dispute.funds_withdrawn only happens if I "accept the dispute" after charge.dispute.created?

#

seems like accept/counter happens in the dashboard

gaunt salmon
faint marsh
#

we get notified that dispute is created by that charge object charge.dispute.created

#

then someone can select one of those in the dashboard

#

Is that right?

gaunt salmon
#

sorry I reached the limit of my knowledge on the matter, I'm asking some colleagues to jump in and help if they know, but that's not a very common topic that we handle every day. Sorry again for the poor experience and this is why I suggested contacting support earlier because they're more familiar with this topic

glad bough
faint marsh
#

I'm a lead developer just asking some clarity on dispute object....

#

if "dev-help" is not the right place I don't know where else to ask

glad bough
#

That's likely the best recourse here for checking timing of events, we don't really know much about how disputes work

#

Have you tried testing it?

faint marsh
#

we are mapping our architectural diagram

#

didn't implement anything yet to be tested.

glad bough
#

I think what was outlined above aligns with my expectations based on the docs: there'd be no charge.dispute.funds_withdrawn event without a charge.dispute.created event first

faint marsh
#

Yes I'm aware.

#

when charge.dispute.created event happens

#

the next step is either 1. respond to it on the dashboard or 2. Respond to disputes using the API, is that right?

glad bough
faint marsh
#

nope wasn't sure when charge.dispute.funds_withdrawn is happening afterwards

#

and if that happens what happens to Stripe fee

glad bough
#

The processing fee from the original payment? Or the dispute fee?

faint marsh
#

The former one

glad bough
#

They're non-refundable in any instance

faint marsh
#

"dispute fee" is charged additionally if charge.dispute.funds_withdrawn event happens because this means we accepted the dispute, right?

glad bough
#

You (the merchant) would likely see a net negative balance if you lost the dispute

faint marsh
#

Thanks

glad bough
# faint marsh "dispute fee" is charged additionally if `charge.dispute.funds_withdrawn` event ...

You're charged the dispute fee in any case. It's refunded if you appeal and win: https://support.stripe.com/questions/dispute-fees-faq

#

We're getting into the realm of non-technical Qs though, which is what this server is for

#

Let me know if you have any API specific Qs

faint marsh
#

How could charge.dispute event related questions to be non technical? I understand you mention some of the things that may seem non technical.

glad bough
#

You're asking about dispute fees and related reimbursements. Those are non-technical. We help with API questions or integration issues with the API/SDKs/UIs

#

Happy to answer questions about responding to disputes via the API and webhook events!

faint marsh
#

My job is to implement those webhook repsonses that contain charge.dispute/dispute object.

#

It is via API just like you said

glad bough
#

Then let me know if you have any specific questions surrounding that

faint marsh
#

well you and tarzan would rather want me to ask elsewhere.... as if I'm not a dev

glad bough
#

Sorry you feel that way. I thought I'd answer your questions about the events. Let me know if anything is unclear

faint marsh
#

we are implementing these via webhook: direct quote from Stripe docs An API charge.dispute.created event (if your integration is set up to receive webhooks)

#

our integration is set up to receive webhook, not disputes yet

#

just need some timeline/sequence of when these charge.disputes happen and its consequence.

#

If you don't want devs to consider "consequence" part I don't know what to say

#

I don't want to put my name on author of these dispute processing part of code if I cannot answer some of these consequences happens with it.

gaunt salmon
#

@faint marsh we're trying to give you the best support either directly if it's something we can help you with or by redirecting you to the correct form of support that would get you your result. It's really important to differentiate between implementing a webhook endpoint and this a 100% a technical question that we can help you with, but when it comes to understanding the complicated business logic of when and how some events happen this gets a bit less technical and more in the realm of product knowledge

faint marsh
#

when and how some events happen => this makes a lot of difference in event driven architecture don't you think?

gaunt salmon
#

we're not saying they don't, we're just being upfront by telling you that we don't have that depth of knowledge and we're giving you an alternative of where to find that info

faint marsh
#

it = dispute fee refunded when we won

gaunt salmon
#

again we're still in the same loop @faint marsh please do contact https://support.stripe.com/?contact=true they will give you all the info that you need on this topic.

#

and please please do come back when you have an integration Q, we really love helping people build their projects, debug issues and integrate with Stripe. it's just that there are topics that we don't master from the product point of view and I really do think that you can relate to this, am I right?

faint marsh
gaunt salmon
#

not at all

#

it's quite the contrary

#

I know that we share the same line of work, and for that I'm trying to get you to the expected results, it's just that here is not the correct medium. I'm giving you a way to get to your results, you just need to accept it, that's it.