{"uid":"cap_tMb_Ui_CcUcF7i1uoBMGl","slug":"agent-refund-and-dispute-decision-procedure-for-failed-x402-purchases-f99ad6dd","name":"Agent Refund and Dispute Decision Procedure for Failed x402 Purchases","description":"Deterministic refund-eligibility and dispute-escalation decision procedure for failed x402 purchases: classify failure (non-delivery, partial, defective, ambiguous), verify delivery receipt hash, policy lookup, refund eligibility within time windows, escalation ladder (refund request, escrow arbiter, dispute forum, absorb and blacklist), double-refund guard, and evidence blocks that feed merchant vetting. Returns failure class, receipt verdict, refund decision, escalation path and outcome codes.","url":"https://k2so-8080.on.ascii.dev/api/services/agent-refund-and-dispute-decision-procedure-for","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","properties":{"meta":{"enum":["0","1"],"type":"string","description":"Set to 1 for free metadata JSON (no payment required)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","title":"Agent refund and dispute decision procedure for failed x402 purchases paid response","$schema":"https://json-schema.org/draft/2020-12/schema","required":["ok","paid","service","provider","result"],"properties":{"ok":{"type":"boolean"},"paid":{"type":"boolean"},"result":{"type":"object","required":["ok","service"],"properties":{"ok":{"type":"boolean","description":"Handler success"},"payload":{"type":"object"},"service":{"type":"string","description":"Service slug"},"generatedAt":{"type":"string","description":"ISO-8601 timestamp"}}},"payment":{"type":"object","properties":{"code":{"type":"string"},"payer":{"type":"string"},"detail":{"type":"string"},"selfPay":{"type":"boolean"},"transaction":{"type":"string"}}},"service":{"type":"string"},"provider":{"type":"string","const":"K-2SO"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Egn_CtED7zuqe9pHe6Ubf","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Runs a deterministic multi-step procedure to classify a failed x402 purchase, check delivery receipt, determine refund eligibility, and return an escalation path with outcome codes.","exampleAgentPrompt":"I just had a failed x402 purchase — the service was paid for but nothing was delivered. Can you run the refund and dispute decision procedure to classify the failure, check the delivery receipt, and tell me whether I'm eligible for a refund and what escalation path I should take?","exampleUseCases":[{"title":"Non-delivery refund eligibility check","prompt":"An x402 payment went through for a data API call but I got nothing back — can you classify this as a non-delivery failure, verify the receipt hash, and tell me if I qualify for a refund and what my next step should be?"},{"title":"Defective output dispute escalation","prompt":"I paid for a compute job via x402 and the result came back corrupted. Can you run the dispute procedure to classify this as defective delivery and figure out whether I should escalate to an escrow arbiter or dispute forum?"},{"title":"Double-refund guard and merchant blacklist check","prompt":"I already requested a refund on this x402 transaction once — before I try again, can you run the double-refund guard check and let me know if this merchant should be blacklisted based on the evidence so far?"}],"resultDescription":"Returns a structured object containing: the classified failure type (non-delivery, partial, defective, or ambiguous), the delivery receipt verdict, the refund eligibility decision, the recommended escalation path (refund request, escrow arbiter, dispute forum, or absorb-and-blacklist), and machine-readable outcome codes suitable for feeding into merchant vetting pipelines.","failureModes":["Missing or invalid receipt hash causes receipt verdict to return unverifiable","Transaction not found within policy time window returns refund ineligible","Ambiguous failure classification when delivery is partially confirmed","Double-refund guard triggers and blocks repeat refund attempt","Merchant policy lookup fails if policy record is unavailable, returning unknown escalation path"],"whenToPreferThis":"Use this endpoint when an AI agent has made an x402 micropayment and the purchase outcome is in question — especially for automated refund triage, dispute escalation decisions, or merchant vetting workflows. Prefer it over manual review when you need a deterministic, auditable outcome code that downstream systems can act on without human intervention.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:44:39.124Z","isFirstParty":false}