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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b01d8d91ff2512d7bac8f4dbf626e60b2f38c6ec93e2c1c4736c4baf0add9e48
|
|
| MD5 |
fdcf44a2dfcb630c2603597beaf93a0a
|
|
| BLAKE2b-256 |
2c900ca55731c0e5bfc6c89383405e8abd451700053d091dad91993d9c5183d0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9baf50aaf6e4bc75ed18b22a7634792c2dd9940cba756a6dc80b8c57b4609730
|
|
| MD5 |
e95417b727c8bf00de824e814fc76b26
|
|
| BLAKE2b-256 |
5bc6e7dd44319ac23aed24b658720586780a5f121227cf1758ee0f14dc9ae3f6
|