Enruta

Docs · Sellers

Dispute packet exports

LiveUpdated

Sellers. Written for merchants that receive agent orders.

A dispute packet is one object rendered six ways, because every dispute interface has a different free-text slot, a different file limit and a different window. Every export is generated today; you paste or upload it. Direct delivery into the vendors’ APIs comes next.

The exports

ExportGoes intoShape and limit
stripe_evidence_textStripe evidence[uncategorized_text]Text headed “Agent purchase under a signed mandate”; all Stripe text fields together may not exceed 150,000 characters and can be submitted once; the PDF may be attached separately up to 4.5 MB
shopify_uncategorized_textShopify disputeEvidenceUpdate.uncategorizedTextText
chargeflow_payloadChargeflow order and evidence{ order: {…}, additional_notes, policies: [{ policy_type: "agent_mandate", … }], refunds: [] }; PDF up to 5 MB
justt_payloadJustt upsert transaction{ transactionCustomerFrontUserId, transactionOrderDeviceId, transactionOrderIpAddress, transactionCustomerDisplayedTransactionDescription, … }, the CE3.0 fields Justt exposes
mastercard_contextThe merchant-held agenticTransactionContext of the Mastercard merchant playbook{ agentIdentity, consumerIdentity, signatureProof, agentSession, purchaseIntent } plus a pattern_templates object with one template for each of the four agent dispute patterns (“I don’t remember buying this”, “this is not what I asked for”, a runaway agent, an agent mistake)
klarna_pdfKlarna disputesThe representment PDF; Klarna accepts PDF only, within a 21-day window
Representment PDFAny interface with a file slot; Adyen accepts JPG, TIFF and PDF and rejects material containing a card numberOne or two Letter pages, text only, no images, no card number anywhere

Every export names the record id and the verify command, so whoever reads it, an issuer, an acquirer, a vendor, can run npx enruta-verify on the record without an Enruta account. When an export would exceed its interface’s limit it is trimmed and the full packet is linked.

Getting them

GET /v0/sellers/records/rec_01M25129GZMJXTNQ47TMZRDGHN/dispute-packet      Authorization: Bearer enruta_slr_…
→ { "id": "dsp_…", "generated_by": "seller", "ce30": { … }, "exports": { "stripe_evidence_text": "…", "chargeflow_payload": { … }, … }, "packet_record_id": "rec_…" }

GET /v0/sellers/records/rec_01M25129GZMJXTNQ47TMZRDGHN/representment.pdf
→ application/pdf

The seller’s packet goes on the seller’s chain with chain.of the buyer’s record id and hash. Your store can build a “Dispute packet” panel from these two calls; the reference merchant’s admin does.

Delivery

DestinationTodayPlanned
Stripe, ShopifyCopy the text into the dispute form; attach the PDFWrite-back with the PSP adapters (October 2026)
Chargeflow, Justt, VerifiPaste the payloadA free field feed over their APIs from the first quarter of 2027
Adyen, Checkout.comUpload the PDFAdyen Disputes API delivery with the Adyen adapter (January 2027)
KlarnaUpload the PDF within the 21-day windowDisputes API v4 delivery, unscheduled
Ethoca or Verifi alertsWhen an alert arrives, the middleware’s labels already say whether the order was inside a signed limit and whether a person approved itAutomatic answer from the packet, unscheduled

Nothing here claims to change the issuer’s decision. What changes is that a merchant has something to submit for an agent order that verifies, instead of a login timestamp and an address.