> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Chargeback inquiry

> Query a single chargeback by chargebackId or originalOrderId. Note: when the original order has more than one chargeback, for example after escalation to Second Cycle, query by chargebackId.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/chargeback/inquiry
openapi: 3.1.0
info:
  title: acquiring-order
  description: 接口文档
  termsOfService: https://www.waffo.com
  version: 1.0.0
servers: []
security: []
tags:
  - name: Subscription inquiry
    description: Subscription inquiry api description
  - name: Subscription manage
    description: >
      This API allows the merchant to request a subscription management URL from
      Waffo

      Waffo will generate a subscription management URL which merchant can
      redirect user to this URL for managing subscription details (e.g. view
      subscription detail and cancel subscription). This management URL has a
      fixed expiration time (e.g., 1 day).
  - name: Subscription change inquiry
    description: >
      This API allows merchants to query the status of a subscription change
      (upgrade/downgrade) request.

      此接口允许商户查询订阅升降级请求的状态。
  - name: Subscription update
    description: ' Subscription update api description'
  - name: Order inquiry
    description: Order inquiry api description
  - name: Payout inquiry
    description: Payout inquiry api description
  - name: Order create
    description: ' Order create api description'
  - name: Pay Method Config Inquiry
    description: Pay Method Config Inquiry api description
  - name: Order cancel
    description: Order cancel api description
  - name: Order capture
    description: Order capture api description
  - name: Chargeback list
    description: Chargeback list api description
  - name: Payout create
    description: Payout create api description
  - name: Chargeback file download
    description: Chargeback file download api description
  - name: Subscription change
    description: >
      This API allows merchants to upgrade or downgrade a user's subscription
      plan. The change request will create a new subscription based on the
      original subscription, applying any remaining amount from the original
      subscription.


      此接口允许商户升级或降级用户的订阅计划。升降级请求将基于原订阅创建新订阅，并将原订阅的剩余金额应用到新订阅中。
  - name: Chargeback accept
    description: Chargeback accept api description
  - name: Chargeback file upload
    description: Chargeback file upload api description
  - name: Chargeback update
    description: Chargeback update api description
  - name: Wallet inquiry
    description: Wallet inquiry api description
  - name: Order refund
    description: Order refund api description
  - name: Refund inquiry
    description: Refund inquiry api description
  - name: Subscription cancel
    description: >
      Cancel an active subscription when the merchant no longer wishes to
      continue the recurring billing cycle. This endpoint can only be invoked
      when the subscription status is active
  - name: Merchant config inquiry
    description: Merchant config inquiry api description
  - name: Chargeback inquiry
    description: Chargeback inquiry api description
  - name: Subscription create
    description: Subscription create api description
  - name: Reported Fraud list
    description: Reported Fraud list api description
paths:
  /api/v1/chargeback/inquiry:
    post:
      tags:
        - Chargeback inquiry
      summary: Chargeback inquiry
      description: >-
        Query a single chargeback by chargebackId or originalOrderId. Note: when
        the original order has more than one chargeback, for example after
        escalation to Second Cycle, query by chargebackId.
      operationId: chargebackInquiry
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargebackInquiryRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResponseChargebackDetailResponse'
components:
  schemas:
    ChargebackInquiryRequest:
      type: object
      description: Chargeback inquiry request
      properties:
        merchantId:
          type: string
          default: '1000000201'
          description: Merchant Id assigned by Waffo
          example: 1000000201
          maxLength: 64
          minLength: 0
        chargebackId:
          type: string
          description: >-
            Chargeback order Id. 

            Provide either chargebackId or originalOrderId. 

            When the original order has more than one chargeback (for example
            after escalation to Second Cycle, which produces two chargeback
            records), query by chargebackId.
          maxLength: 32
          minLength: 0
        originalOrderId:
          type: string
          description: >-
            Waffo original order Id. 

            Provide either chargebackId or originalOrderId. 

            Only applicable when the original order has a single chargeback. If
            both fields are provided they must refer to the same chargeback.
          maxLength: 32
          minLength: 0
      required:
        - merchantId
    ResponseChargebackDetailResponse:
      type: object
      description: response data
      properties:
        code:
          type: string
          example: 0
        msg:
          type: string
          example: success
        data:
          $ref: '#/components/schemas/ChargebackDetailResponse'
    ChargebackDetailResponse:
      type: object
      description: >-
        Chargeback detail response. 

        Returned by the chargeback inquiry / update / accept APIs, and used as
        the result object of the CHARGEBACK_NOTIFICATION webhook. 

        It extends the chargeback list item with the message and evidence
        objects, which the list API does not return.
      properties:
        chargebackId:
          type: string
          description: Chargeback order Id assigned by Waffo
        originalOrderId:
          type: string
          description: >-
            Waffo original order Id, i.e. the acquiring order this chargeback
            was raised against
        originalPaymentRequestId:
          type: string
          description: >-
            Original payment request ID sent from merchant when the disputed
            order was created. Returned for non-subscription chargebacks only
        merchantId:
          type: string
          description: Merchant Id assigned by Waffo
        merchantOrderId:
          type: string
          description: >-
            Merchant order ID sent from merchant when the disputed order was
            created. Returned for non-subscription chargebacks only
        lifeCycle:
          type: string
          description: >-
            Chargeback life cycle 

            **FIRST_CYCLE** (First round of the chargeback dispute) 

            **SECOND_CYCLE** (Second round (Pre-Arbitration), escalated from
            First Cycle)
        relevantChargebackId:
          type: string
          description: >-
            The associated chargeback ID between First Cycle and Second Cycle. 

            On a FIRST_CYCLE record it points to the Second Cycle chargeback it
            was escalated to; on a SECOND_CYCLE record it points back to the
            originating First Cycle chargeback
        chargebackStatus:
          type: string
          description: >-
            Chargeback status 

            **ACTION_REQUIRED** (Submit evidence before expiryDateTime. Amount
            and fee are debited now) 

            **UNDER_REVIEW** (Evidence submitted, under channel review) 

            **SECOND_CYCLE_RESPONSE_REQUIRED** (Second Cycle, Pre-Arbitration.
            Defend or accept; evidence is not accepted. Only the fee is
            debited) 

            **ESCALATE_TO_2ND_CYCLE** (Escalated to Second Cycle. No further
            debit) 

            **CASE_WON** (Channel ruled for merchant. Amount refunded, fee
            retained) 

            **CANCELED** (Withdrawn by the channel or payer. Amount refunded,
            fee retained) 

            **SETTLED** (Settled offline. Amount refunded, fee retained) 

            **CASE_LOST** (Channel ruled against merchant. Not refunded) 

            **ACCEPTED** (Merchant accepted the chargeback. Not refunded) 

            **EXPIRED** (No evidence submitted before expiryDateTime. Not
            refunded) 

            Funds are debited when the chargeback is created, not when it
            closes. If it later closes in the merchant's favour the amount is
            refunded and the fee is retained. A case escalated to Second Cycle
            is not debited twice. CASE_LOST, ACCEPTED and EXPIRED can still
            change afterwards, so treat the latest notification as authoritative
        amount:
          type: string
          description: >-
            Chargeback order amount. Usually the original transaction amount,
            but it can be less when only part of the order is disputed
        currency:
          type: string
          description: Chargeback amount currency, ISO 4217, e.g. IDR
        feeAmount:
          type: string
          description: Chargeback fee amount charged by Waffo
        feeCurrency:
          type: string
          description: Chargeback fee currency, ISO 4217. May differ from currency
        reasonCode:
          type: string
          description: Chargeback reason code returned by the payment channel
        reason:
          type: string
          description: Chargeback reason returned by the payment channel
        description:
          type: string
          description: Chargeback description information
        chargebackDateTime:
          type: string
          description: >-
            The time the chargeback was created by the channel. ISO 8601 with
            millisecond precision, in UTC, e.g. 2026-04-01T03:00:00.000Z
        expiryDateTime:
          type: string
          description: >-
            Evidence collection deadline. Evidence submitted after this time is
            rejected. ISO 8601 with millisecond precision, in UTC, e.g.
            2026-04-01T03:00:00.000Z
        merchantUserId:
          type: string
          description: Merchant user id of the user who made the disputed payment
        subscriptionInfo:
          $ref: '#/components/schemas/ChargebackQueryResponse.SubscriptionInfo'
          description: >-
            The associated subscription info. Present when the chargeback is
            linked to a subscription payment order.
        message:
          $ref: '#/components/schemas/MessageDto'
          description: >-
            The latest message on this chargeback, from either the merchant or
            Waffo. Always returned; its fields are empty when there is no
            message yet
        evidence:
          type: object
          additionalProperties:
            type: string
          description: >-
            Evidence submitted for this chargeback, as key-value pairs of
            evidence field name to content. Possible keys are othersText
            (free-form evidence text) and othersFile (evidence file IDs,
            comma-separated). Always returned; an empty object when no evidence
            has been submitted
    ChargebackQueryResponse.SubscriptionInfo:
      type: object
      description: The associated subscription info
      properties:
        subscriptionId:
          type: string
          description: The associated Waffo subscription ID
        period:
          type: string
          description: Which period the subscription payment belong to. For example 2
        merchantRequest:
          type: string
          description: >-
            Legacy alias of subscriptionRequest, carrying the same value.
            Retained for backward compatibility; new integrations should read
            subscriptionRequest
        subscriptionRequest:
          type: string
          description: >-
            Subscription request id sent from Merchant when the subscription was
            created. It is also used for the subscription idempotent check
      required:
        - merchantRequest
        - period
        - subscriptionId
        - subscriptionRequest
    MessageDto:
      type: object
      description: Message attached to a chargeback
      properties:
        messageId:
          type: string
          description: >-
            Message id assigned by Waffo. Returned in responses only — it is
            ignored when supplied in a request
          maxLength: 64
          minLength: 0
          readOnly: true
        notes:
          type: string
          description: >-
            Free-text notes describing the evidence or the reason for the
            response
          maxLength: 2048
          minLength: 0
        documents:
          type: string
          description: >-
            Attachment file IDs, comma-separated with no spaces, e.g.
            1766043193910/receipt.pdf,1766043201234/tracking.png. 

            Each file ID must be the exact value returned by the chargeback file
            upload API
          example: 1766043193910/receipt.pdf,1766043201234/tracking.png
          maxLength: 1024
          minLength: 0

````