Docs Sellers

Dispute packet exports

LiveUpdated

View as Markdown

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 from the sealed record. You can paste or upload it yourself, or have Enruta deliver it.

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

DestinationBy handDelivered by Enruta
StripeCopy the text into the dispute form; attach the PDFtarget: stripe, through your Stripe PSP connection
ShopifyCopy the text into the disputetarget: shopify, through a Shopify app that Shopify has approved
AdyenUpload the PDFtarget: adyen, through your Adyen PSP connection
KlarnaUpload the PDF within the 21-day windowtarget: klarna, with your Klarna account enrolled in its Disputes API
Chargeflow, JusttPaste the payloadtarget: chargeflow or justt, with your Chargeflow or Justt account; platforms can take a field feed
Visa CE3.0 through VerifiThe verifi_ce30 field feed for platforms
Checkout.comUpload the PDF
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 it

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.