Skip to main content
Come tuo Merchant of Record, Dodo Payments gestisce il processo di disputa e chargeback con i circuiti delle carte per tuo conto. Questi webhook mantengono i tuoi sistemi sincronizzati mentre una disputa attraversa il suo ciclo di vita in modo da poter revocare l’accesso, raccogliere prove e conciliare i tuoi registri.

Eventi Webhook di Disputa

Una disputa emette un evento in ogni fase del suo ciclo di vita:
Le dispute risolte automaticamente tramite Visa Rapid Dispute Resolution (RDR) appaiono come dispute.lost con is_resolved_by_rdr: true. Questo è previsto — il rimborso è stato emesso automaticamente per prevenire un chargeback formale.
Gli avvisi Ethoca e le deflection non creano mai una contestazione, quindi non emettono eventi dispute.*. Un rimborso generato da un avviso Ethoca attiva l’evento standard refund.succeeded, mentre qualsiasi annullamento di un abbonamento collegato attiva il consueto evento dell’abbonamento. Una deflection non attiva alcun evento.

Gestione degli eventi di contestazione

Quando viene attivato dispute.opened, l’importo contestato viene trattenuto immediatamente. Usa l’evento per aggiornare i tuoi dati e, se intendi contestare la richiesta, raccogli le prove nella dashboard.
Handling dispute events
Verifica sempre la firma del webhook prima dell’elaborazione — consulta la guida Webhooks per la configurazione. Il gestore riportato sopra omette la verifica per brevità.
Hai 10 giorni per rispondere a una contestazione dopo la sua creazione. Consulta le Best practice per rispondere alle contestazioni per sapere quali prove raccogliere e come formattarle.

Stato e fase della contestazione

L’oggetto della contestazione ne indica l’avanzamento attraverso due campi:

Correlati

Managing Disputes

Come rispondere alle contestazioni, inviare le prove e come RDR protegge il tuo tasso di contestazioni.

Handle Payment Failures

Rileva e recupera i pagamenti non riusciti prima che diventino contestazioni.

Schema del payload del webhook

amount
string
obbligatorio

The amount involved in the dispute, represented as a string to accommodate precision.

brand_id
string
obbligatorio

Brand id this dispute belongs to

business_id
string
obbligatorio

The unique identifier of the business involved in the dispute.

created_at
string<date-time>
obbligatorio

The timestamp of when the dispute was created, in UTC.

currency
string
obbligatorio

The currency of the disputed amount, represented as an ISO 4217 currency code.

customer
object
obbligatorio

The customer who filed the dispute

dispute_id
string
obbligatorio

The unique identifier of the dispute.

dispute_stage
enum<string>
obbligatorio

The current stage of the dispute process.

Opzioni disponibili:
pre_dispute,
dispute,
pre_arbitration
dispute_status
enum<string>
obbligatorio

The current status of the dispute.

Opzioni disponibili:
dispute_opened,
dispute_expired,
dispute_accepted,
dispute_cancelled,
dispute_challenged,
dispute_won,
dispute_lost
payment_id
string
obbligatorio

The unique identifier of the payment associated with the dispute.

payment_provider
enum<string>
obbligatorio

Which processor handled the underlying payment. stripe / adyen for BYOP routes (the merchant's own payment connector); dodo for everything Dodo processed itself.

Opzioni disponibili:
stripe,
adyen,
dodo
is_resolved_by_rdr
boolean | null

Whether the dispute was resolved by Rapid Dispute Resolution

reason
string | null

Reason for the dispute

remarks
string | null

Remarks

Ultima modifica il 26 settembre 2026