Skip to main content
This guide navigates a simple dispute lifecycle in sandbox, while simulating the network state transitions to help you:
  • Create a dispute by submitting an API request or by using the Marqeta Dashboard, upload supporting documents, and prepare it for chargeback submission to the card network.
  • Submit a dispute for chargeback and manually transition card network states as they occur in a production environment.
You will also learn how Marqeta and network dispute states relate to each other as a dispute moves through its lifecycle.
This guide uses a minimal configuration Mastercard cleared transaction as an example.

Prerequisites

Before you initiate the dispute process, ensure that you have the following in place:
  • A cleared transaction
  • A webhook handler
For more information about setting up a webhook handler, see Set Up a Webhook Handler.

Dispute state flow

A Marqeta state is assigned when a dispute is first created, and a card network state is assigned when the dispute is submitted to the card network. The states transition as a dispute progresses towards resolution. The sandbox does not connect to the card networks. However, in production, you will use the DISPUTE value in the type field for integrated network disputes, and LEGACY_DISPUTE for non-integrated cases. In production, Marqeta handles all network-side state transitions once a chargeback is submitted. This guide include steps to simulate the network-side state transitions to illustrate the transitions that occur automatically. To simulate the network-side transitions, use the LEGACY_DISPUTE value in the type field of the request payload. This allows you to manually transition the dispute through the card network states by simulating the process of submitting the disputes to card network to better understand the process. See Submit a Dispute. The following table outlines how Marqeta and network states relate to each other. The following diagram illustrates the states a dispute transitions through during its lifecycle.