Skip to main content

Dispute events

PaymentsAI dispatches dispute events whenever a chargeback or inquiry is opened or updated on a transaction. Use these events to track dispute status and respond before deadlines.

Events

Event typeWhen it fires
dispute-createdA new dispute (chargeback or inquiry) was opened on a transaction.
dispute-updatedAn existing dispute was updated. The status, evidence, or deadline changed.
dispute-lostThe dispute was resolved in favor of the customer. Funds were debited from your account.
dispute-wonThe dispute was resolved in favor of the merchant.
dispute-commentsA new comment was added to the dispute.

Payload

All dispute events share the same payload shape:

type Event = {
deduplicationId: string;
type: string;
organizationId: string;
metadata: Dispute;
};

See Schemas for the full Dispute type definition, including DisputeCategory, DisputeType, and DisputeReasonCode.

Correlating with transactions

The metadata.transaction field on the dispute payload contains the full transaction object that was disputed. Use metadata.transaction.id to link the dispute back to the original transaction-processed event.

Typical dispute lifecycle

dispute-created

dispute-updated (may fire multiple times as the dispute progresses)

dispute-won | dispute-lost

Check metadata.createdAt and respond to the dispute before the deadline. See Dispute process for how to submit evidence.