For MerchantsAutomation

Automate dispute management

Where your integration plugs into Chargeflow's automation pipeline: subscribe to dispute.created, then send a second enrichment and track the outcome via the API.

You have connected your PSPs and want disputes fought automatically. Chargeflow runs the whole pipeline on its own - this guide shows the two places your integration actually does work, and how to wire them.

The full ingest → enrich → generate → submit → monitor model is taught canonically in Dispute Automation Engine. Your integration touches it in exactly two places, both optional but high-impact:

Pipeline stageWho acts
Ingest · first enrichment · generation · submissionChargeflow, automatically
Second enrichmentYou - send targeted signals the engine can't retrieve on its own
MonitorYou - read status, or subscribe to lifecycle webhooks

Connect your PSPs

Connect your payment processors in Chargeflow Settings. From then on, every new dispute from those processors is ingested and enriched automatically - you do not poll any PSP API or import disputes by hand.

Subscribe to dispute.created

Register a webhook endpoint so your enrichment flow triggers the moment a dispute is ingested. See Subscribe to webhook events for registration, and dispute.created for the payload.

Send a second enrichment (the high-impact step)

This is where your integration adds the most win-rate. After dispute.created, inspect what Chargeflow already matched (transaction, order, subscription) and fill the gaps by calling the enrich endpoint with the data only you have - order details, subscription history, customer activity, communications.

See Enrich a dispute for the PATCH endpoint, upsert semantics, and array-merge behavior.

Tip

Enrich as early as possible after dispute.created. Chargeflow folds your signals into the evidence package before submission - the sooner they arrive, the more the engine can build around them.

Track the outcome

Chargeflow generates, submits, and monitors the case for you - you never call a submit endpoint or touch the processor's dispute API. To follow progress, read the dispute (status moves needs_responseunder_reviewwon/lost) or subscribe to lifecycle webhooks and feed your own dashboards.

Next step

Enrich a disputeSend the signals that move win rate - the PATCH endpoint and merge behavior.

Building the whole thing end-to-end? Follow the Automate a chargeback dispute recipe.

Was this page helpful?

On this page