Skip to main content
Sebagai Merchant of Record, Dodo Payments mengelola proses sengketa dan chargeback dengan jaringan kartu atas nama Anda. Webhook ini menjaga sistem Anda tetap sinkron ketika sengketa bergerak melalui siklus hidupnya sehingga Anda dapat mencabut akses, mengumpulkan bukti, dan merekonsiliasi catatan Anda.

Peristiwa Webhook Sengketa

Sebuah sengketa memancarkan peristiwa di setiap tahap siklus hidupnya:
Sengketa yang diselesaikan otomatis melalui Visa Rapid Dispute Resolution (RDR) muncul sebagai dispute.lost dengan is_resolved_by_rdr: true. Hal ini diharapkan — pengembalian dana dikeluarkan secara otomatis untuk mencegah chargeback formal.
Ethoca alerts dan deflections tidak pernah membuat sengketa, sehingga tidak menghasilkan event dispute.*. Pengembalian dana untuk Ethoca alert memicu event refund.succeeded standar, dan pembatalan subscription yang tertaut memicu event subscription seperti biasa. Deflection tidak memicu event apa pun.

Menangani Event Sengketa

Saat dispute.opened terpicu, jumlah yang disengketakan langsung ditahan. Gunakan event tersebut untuk memperbarui catatan Anda dan, jika Anda bermaksud menentangnya, kumpulkan bukti di dashboard.
Handling dispute events
Selalu verifikasi signature webhook sebelum memprosesnya — lihat panduan Webhook untuk penyiapan. Handler di atas tidak menyertakan verifikasi demi kejelasan.
Anda memiliki waktu 10 hari untuk merespons sengketa setelah sengketa tersebut dibuat. Lihat Praktik Terbaik Respons Sengketa untuk mengetahui bukti yang perlu dikumpulkan dan cara memformatnya.

Status dan Tahap Sengketa

Objek sengketa melaporkan progresnya melalui dua field:

Terkait

Managing Disputes

Cara merespons sengketa, mengirimkan bukti, dan cara RDR melindungi tingkat sengketa Anda.

Handle Payment Failures

Deteksi dan pulihkan pembayaran yang gagal sebelum menjadi sengketa.

Skema Payload Webhook

amount
string
wajib

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

brand_id
string
wajib

Brand id this dispute belongs to

business_id
string
wajib

The unique identifier of the business involved in the dispute.

created_at
string<date-time>
wajib

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

currency
string
wajib

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

customer
object
wajib

The customer who filed the dispute

dispute_id
string
wajib

The unique identifier of the dispute.

dispute_stage
enum<string>
wajib

The current stage of the dispute process.

Opsi yang tersedia:
pre_dispute,
dispute,
pre_arbitration
dispute_status
enum<string>
wajib

The current status of the dispute.

Opsi yang tersedia:
dispute_opened,
dispute_expired,
dispute_accepted,
dispute_cancelled,
dispute_challenged,
dispute_won,
dispute_lost
payment_id
string
wajib

The unique identifier of the payment associated with the dispute.

payment_provider
enum<string>
wajib

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

Opsi yang tersedia:
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

Terakhir diubah pada 26 September 2026