Disputes API
Manage transaction disputes raised by customers or their banks.
- class djpaystack.api.disputes.DisputeAPI(client)[source]
Bases:
BaseAPIDisputes API
- list(per_page: int = 50, page: int | None = None, from_date: str | None = None, to_date: str | None = None, transaction: str | None = None, status: str | None = None) Dict[str, Any][source]
List disputes
- update(id: str, refund_amount: int, uploaded_filename: str | None = None) Dict[str, Any][source]
Update dispute
- add_evidence(id: str, customer_email: str, customer_name: str, customer_phone: str, service_details: str, delivery_address: str | None = None, delivery_date: str | None = None) Dict[str, Any][source]
Add evidence to dispute
- get_upload_url(id: str, upload_filename: str) Dict[str, Any][source]
Get upload URL for dispute evidence
Quick Reference
from djpaystack import PaystackClient
client = PaystackClient()
# List disputes
client.disputes.list(page=1, per_page=50)
# Fetch a dispute
client.disputes.fetch(id='123')
# List transaction disputes
client.disputes.list_transaction_disputes(id='txn-123')
# Update a dispute
client.disputes.update(id='123', refund_amount=50000)
# Add evidence
client.disputes.add_evidence(
id='123',
customer_email='customer@example.com',
customer_name='John Doe',
customer_phone='2348012345678',
service_details='Order delivered on 2025-01-15',
)
# Get upload URL for evidence files
client.disputes.get_upload_url(id='123')
# Resolve a dispute
client.disputes.resolve(
id='123',
resolution='merchant',
message='Refund issued',
refund_amount=50000,
)
# Export disputes
client.disputes.export(from_='2025-01-01', to='2025-06-30')
Webhook Events
charge.dispute.create— New dispute raisedcharge.dispute.remind— Dispute deadline remindercharge.dispute.resolve— Dispute resolved