#elioelioelioelio-dispute-event
1 messages · Page 1 of 1 (latest)
Hello! Is there something specific you're worried about? That webhook event would simply give back a Dispute object (see https://stripe.com/docs/api/disputes/object) - I don't know if anything in particular is different if it's an eCheck charge
Since eChecks cannot be disputed, I imagine that we would receive a charge.dispute.created and a charge.dispute.closed webhook at the same time. I am trying to run some integration tests for when we receive these webhooks in different orders.
I also just want to see how my internal system would behave when I run them in the expected order.
Also curious to know which status the charge.dispute.closed would come in. My assumption is lost.
If they can't be disputed, I'd imagine you wouldn't get charge.dispute.created at all
They can be disputed by the paying customer, but they cannot be challenged by the merchant.
Disputes on ACH payments are fundamentally different than those on credit card payments. If a customer’s bank accepts the request to return the funds for a disputed charge, Stripe immediately removes the funds from your Stripe account. Unlike credit card disputes, you can’t contest ACH reversals. You must contact your customer to resolve the situation. The ACH network allows 60 days for consumers to contest a debit. Business accounts only have 2 business days, but because there is no way to be sure if the account is a business or personal account, don’t rely on this as a way to reduce risk.```
what do you call eCheck exactly? Do you mean ACH Debit?
Yes ACH is what I am talking about.
So ACH can be disputed, you just can't "fight them" as a merchant, so you'd get the exact same event as a card dispute really
Not the exact same event, because ACH has slightly different attributes to card.
For example, payment_intent would probably be null for ACH.
PaymentIntent can work with ACH
My thought is that if it cannot be fought, then would the charge.dispute.created and charge.dispute.closed come in at the same time?
but yes, I mean we don't have a canonical doc for this, every property can be subtly different based on many factors of your own integration
I'm not so worried about the properties as much as the behaviour.
I am trying to figure out the flow of the events here.
What happens after charge.dispute.created for ACH?
My assumption is that it would immediately close, since the customer has already won, and the merchant can't do anything about it.
Is there a way that we could confirm this?
As per your docs, we don't have any test tokens for ACH to test this out: https://stripe.com/docs/testing#disputes
looking, but discord is extremely busy so will take a while
Canadian pre-authorized debits provide a dispute process for bank account holders to dispute payments. Customers can dispute a debit payment through their bank on a “no questions asked” basis for up to 90 calendar days after a debit on a personal account or up to 10 business days for a business account. The customer’s bank may honor any dispute within this period.
When a dispute is created, Stripe sends both the charge.dispute.created and charge.dispute.closed webhook events, and deducts the amount of the dispute and associated dispute fee from your Stripe balance.
Unlike credit card disputes, all PAD disputes are final and there is no process for appeal. If a customer successfully disputes a payment, you must contact them if you want to resolve the situation. If you’re able to come to an arrangement and your customer is willing to return the funds to you, they must make a new payment.```
I found my expected behaviour. It would be really helpful if you had samples for the dispute.created and dispute.closed webhooks, but if not, I will try to manage.
Would you happen to know which status the charge.dispute.closed would put the dispute in? Would it be lost?
yes it'd be lost
Thank you for your confirmation.
Do you happen to know which status the charge.dispute.created would be in? needs_response seems incorrect since it doesn't need a response.
it has status: 'lost' already
let's continue here @chrome iris
Thank you 🙂
Hi there. It seems my question has been archived, but I just wanted to double confirm something. When an ACH dispute is created and closed (charge.dispute.created and charge.dispute.closed), I was told that in both webhooks, the status of the dispute would be lost. I just wanted to double check to make sure this is correct.
It seems a bit unlikely for me that a charge.dispute.created would come in as lost. I just wanted to double check that this is the case.
Yes according to what koopajah shared earlier it's created as lost already, because of the way the canadian PAD disputes work -- there is no response process
Okay, so we have
charge.dispute.created (status: lost)
charge.dispute.closed (status:lost)
Both webhooks will have the exact same data in that case, since there is no real state transition here.
Hello! I'm taking over, but yep, that sounds correct to me!
Awesome. I wanted to double check because it is a state transition that I have not encountered yet.