v8

OpenAPI 3.1.02026-08-033623795.0 MB
Disputes

Submit evidence

Submit a payment dispute to the payment processor for review. Once submitted, no further edits can be made.

Required permissions:

  • payment:dispute
  • plan:basic:read
  • access_pass:basic:read
  • company:basic:read
  • payment:basic:read
  • member:email:read
  • member:basic:read
  • member:phone:read
post/disputes/{id}/submit_evidence

Path parameters

idstring required
Example:dspt_xxxxxxxxxxxxx

The unique identifier of the dispute to submit to the payment processor for review.

Response

A successful response

account_idstring nullable required

The account the dispute was filed against, prefixed biz_.

amountnumber required

The disputed amount, in whole units of currency.

created_atstring required

When the dispute was opened, as an ISO 8601 timestamp.

currencystring required

Three-letter ISO currency code of the disputed amount.

evidence_due_atstring nullable required

The deadline to submit evidence, as an ISO 8601 timestamp. Whop reserves the last 24 hours before the processor's own cutoff to forward the submission.

evidence_editableboolean required

Whether evidence can still be changed and submitted.

evidence_locked_reason'submitted' | 'response_window_closed' | 'not_contestable' | 'null' nullable required

Why evidence can no longer be edited. null while evidence_editable is true.

evidence_submitted_atstring nullable required

When the evidence was submitted to the processor, as an ISO 8601 timestamp.

idstring required

Dispute ID, prefixed dspt_.

inquiryboolean required

Whether this is a pre-dispute inquiry rather than a formal chargeback. Inquiries follow the same lifecycle but move no funds unless one escalates.

plan_idstring nullable required

The plan the disputed payment was made on, prefixed plan_.

product_idstring nullable required

The product the disputed payment was for, prefixed prod_.

rapid_dispute_resolutionboolean required

Whether Visa Rapid Dispute Resolution settled this automatically. These refund the customer without an evidence round.

reason'fraudulent' | 'unrecognized' | 'declined_authorization' | 'product_not_received' | 'product_unacceptable' | 'subscription_canceled' | 'credit_not_processed' | 'duplicate' | 'processing_error' | 'documentation_request' | 'bank_cannot_process' | 'other' required

Why the customer says they are disputing, normalized across card networks. other covers a code Whop has not categorized yet — read reason_code for the raw value.

reason_codestring nullable required

The raw card-network or processor reason code, such as 10.4.

status'needs_response' | 'under_review' | 'won' | 'lost' | 'closed' required

Where the dispute stands. needs_response is awaiting evidence, under_review is with the processor, won returned the funds to the seller, lost returned them to the customer, and closed ended without a ruling.

updated_atstring required

When the dispute was last changed, as an ISO 8601 timestamp.

Example response

{
  "evidence_locked_reason": "submitted",
  "reason": "fraudulent",
  "status": "needs_response"
}