Disputes
ZendFi supports a customer-to-merchant dispute flow with optional admin resolution.1) Request Dispute OTP (Public)
Request Body
string
required
Customer email associated with the payment.
Response
2) Create Dispute (Public)
Request Body
string
required
Customer email for identity matching and OTP validation.
string
Optional customer wallet used as alternate ownership proof.
string
required
One of:
duplicate, unauthorized, product_not_received, other.string
required
Customer dispute description.
object
Optional evidence object.
string
required
OTP from the request-otp step.
3) List Merchant Disputes
Query Parameters
limit(default50, max100)offset(default0)status(open,under_review,resolved_merchant_favor,resolved_customer_favor,closed)dispute_type(duplicate,unauthorized,product_not_received,other)start_dateandend_date
4) Get Dispute Detail
5) Merchant Respond to Dispute
Request Body
string
required
Merchant response text.
object
Optional structured evidence payload.
6) Merchant Issue Refund From Dispute
Request Body
number
required
Refund amount to issue.
string
Refund reason.
object
Optional metadata forwarded to the refund request.
7) Admin Resolve Dispute
Request Body
string
required
merchant_favor, customer_favor, or closed.string
Optional admin notes.
Dispute Statuses
Dispute Lifecycle Events
DisputeOpenedDisputeRespondedDisputeResolved