Disputes API

The Disputes API provides functionality to manage disputes raised against charges, including retrieving dispute details, managing evidence, and accepting disputes.

from disputes import Disputes
from config import get_api_key

# Initialize the API with your API key and mode
disputes_api = Disputes(api_key=get_api_key(), mode='test')

List Disputes

Retrieves a paginated list of disputes.

Usage Example

response = disputes_api.list_disputes(sort="created_at", direction=-1)
print(response)

Response Example

{
    "response": [
        {
            "token": "dispute_token_1",
            "status": "open",
            "amount": 1000,
            "currency": "AUD"
        },
        {
            "token": "dispute_token_2",
            "status": "won",
            "amount": 2000,
            "currency": "AUD"
        }
    ],
    "status": 200
}

Search Disputes

Searches disputes based on specific criteria.

Usage Example

response = disputes_api.search_disputes(query="unauthorized", status="open")
print(response)

Response Example

{
    "response": [
        {
            "token": "dispute_token_1",
            "status": "open",
            "reason": "unauthorized"
        }
    ],
    "status": 200
}

Retrieve Dispute Details

Retrieves detailed information about a specific dispute.

Usage Example

response = disputes_api.get_dispute_details(dispute_token="dispute_token_1")
print(response)

Response Example

{
    "response": {
        "token": "dispute_token_1",
        "status": "open",
        "reason": "unauthorized",
        "amount": 1000,
        "currency": "AUD",
        "created_at": "2023-10-01T10:00:00Z"
    },
    "status": 200
}

Retrieve Dispute Activity

Retrieves the activity feed for a specific dispute.

Usage Example

response = disputes_api.get_dispute_activity(dispute_token="dispute_token_1")
print(response)

Response Example

{
    "response": [
        {
            "type": "message",
            "content": "Customer disputed the charge.",
            "created_at": "2023-10-01T11:00:00Z"
        },
        {
            "type": "update",
            "content": "Merchant submitted evidence.",
            "created_at": "2023-10-02T12:00:00Z"
        }
    ],
    "status": 200
}

Retrieve Dispute Evidence

Displays the current evidence batch for a specific dispute.

Usage Example

response = disputes_api.get_dispute_evidence(dispute_token="dispute_token_1")
print(response)

Response Example

{
    "response": {
        "customer_communication": "Chat logs with the customer.",
        "billing_agreement": "Signed billing agreement.",
        "shipping_documents": "Shipping receipt."
    },
    "status": 200
}

Update Dispute Evidence

Updates the evidence data for a specific dispute.

Usage Example

response = disputes_api.update_dispute_evidence(
    dispute_token="dispute_token_1",
    evidence_data={"customer_communication": "Updated chat logs"}
)
print(response)

Response Example

{
    "response": {
        "status": "updated"
    },
    "status": 200
}

Submit Dispute Evidence

Submits the current evidence batch for review.

Usage Example

response = disputes_api.submit_dispute_evidence(dispute_token="dispute_token_1")
print(response)

Response Example

{
    "response": {
        "status": "submitted"
    },
    "status": 200
}

Accept Dispute

Accepts a dispute resolution without submitting evidence.

Usage Example

response = disputes_api.accept_dispute(dispute_token="dispute_token_1")
print(response)

Response Example

{
    "response": {
        "status": "accepted"
    },
    "status": 200
}

Tip

Learn More

To learn more about disputes functionality, refer to: pin_payments.disputes