Skip to main content

disputeguard

Checks whether a chargeback dispute-evidence bundle actually satisfies Visa's reason-code-specific evidence requirements — before you submit it. Representment windows are days, not weeks, and a weak submission auto-loses; this catches the gaps while there's still time to fix them.

No open-source tool does this today — the space is dominated by paid platforms (Stripe Smart Disputes, Chargeflow, Lorikeet).

Quick start — no API key needed

pip install disputeguard
disputeguard check examples/sample_evidence.json --reason-code 10.4 --deadline 2099-01-01

That runs in rules-only mode: it checks that every required piece of evidence is present and the deadline hasn't passed — no LLM, no signup, instant result.

With AI-judged evidence quality

Rules-only mode can tell you a field is empty. It can't tell you whether the content of a customer email actually proves delivery. For that, add a provider:

from disputeguard import check_evidence
from disputeguard.providers.anthropic_provider import AnthropicProvider

report = check_evidence(
    reason_code="10.4",
    deadline="2026-08-25",
    evidence={
        "avs_match": "AVS check returned Y/Y full match.",
        "cvv_match": "CVV verified at time of sale.",
        "customer_history": "3 prior completed orders, same address.",
    },
    provider=AnthropicProvider(),  # or OpenAIProvider(), or OllamaProvider() for a free local model
)

print(report.verdict)        # "ready" | "weak" | "missing-required"
print(report.score)          # 0-100
print(report.action_items)   # ["Strengthen evidence for '...' — ...", ...]

No paid API? Use OllamaProvider() with a local model — same interface, zero cost.

Async

from disputeguard import acheck_evidence
report = await acheck_evidence(reason_code="10.4", deadline="2026-08-25", evidence={...})

v0.1 scope

  • Visa only, 6 reason codes: 10.4, 13.1, 13.3, 13.6, 12.6.1, 13.7.
  • Not in scope yet: Mastercard/Amex/Discover, auto-drafting the rebuttal letter, direct submission to Visa.

See DETAILS.md for the full design, and docs/USAGE.md for the complete API/CLI reference.

Integration examples

See examples/ for FastAPI and Django webhook handlers.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

disputeguard-0.1.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

disputeguard-0.1.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file disputeguard-0.1.0.tar.gz.

File metadata

  • Download URL: disputeguard-0.1.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.12

File hashes

Hashes for disputeguard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b01d8d91ff2512d7bac8f4dbf626e60b2f38c6ec93e2c1c4736c4baf0add9e48
MD5 fdcf44a2dfcb630c2603597beaf93a0a
BLAKE2b-256 2c900ca55731c0e5bfc6c89383405e8abd451700053d091dad91993d9c5183d0

See more details on using hashes here.

File details

Details for the file disputeguard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: disputeguard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.12

File hashes

Hashes for disputeguard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9baf50aaf6e4bc75ed18b22a7634792c2dd9940cba756a6dc80b8c57b4609730
MD5 e95417b727c8bf00de824e814fc76b26
BLAKE2b-256 5bc6e7dd44319ac23aed24b658720586780a5f121227cf1758ee0f14dc9ae3f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page