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

# Get Chargeback Actions

> The ways a chargeback can be answered, and the fields and documents each one takes.

> [!NOTE]
>
> The request and response are the same whatever `X-API-Version` you send. v1, v2 and v3 integrations share these chargeback endpoints.

## How answering works

1. Call this endpoint for the chargeback.
2. Pick an **action** (`accept`, `contest` or `partial_accept`) and one of its **conditions**.
3. Send that condition's fields to [Respond to Chargeback](https://docs.eximpe.com/api-reference/v1/chargebacks/respond.md), each as `fields[<name>]`.

Every chargeback on your payments can be answered here, whichever payment gateway the payment went through. The response shape is always the same, but what is on offer depends on the payment. You will see one of two sets:

* **Accept, or contest with evidence.** `accept` has a single `accepted` condition that takes nothing. `contest` has a single `contested` condition: your `remarks` (required) and any of the evidence documents, all optional, with `min_documents: 1`. Attach whichever documents back your case, and at least one.
* **Detailed conditions.** Each condition describes the situation that applies, such as `product_delivered` or `already_refunded`, and takes its own text fields, true/false fields and documents. `partial_accept` may be offered too.

Read the conditions from here for each chargeback instead of hard-coding them.

`actions` is empty, and `can_respond` is `false`, while your answer is under review or once the chargeback is closed. If EximPe sends the chargeback back to you for more information, its status becomes `INSUFFICIENT_DOCUMENT` and its actions are offered again.

> [!NOTE]
>
> `403` means the chargeback can't be answered through EximPe yet because its gateway credentials are not set up for your account. Contact EximPe support; retrying won't change it.


## OpenAPI

````yaml openapi/openapi.json GET /pg/chargebacks/{chargeback_id}/actions/
openapi: 3.0.0
info:
  title: Eximpe Payment Gateway API
  description: >-
    API for payment processing and order management through Eximpe payment
    gateway. This specification includes v1, v2, and v3 API versions.
  license:
    name: Proprietary
  version: 2.0.0
servers:
  - url: https://api-pacb-uat.eximpe.com
    description: Payment Gateway Sandbox URL
security:
  - clientAuth: []
    clientSecretAuth: []
    apiVersionHeader: []
tags:
  - name: Card Tokens
  - name: Merchants
  - name: Orders
  - name: Payment Links
  - name: Payments
  - name: Refunds
  - name: Chargebacks
    description: >-
      Chargebacks on your payments, and your answer to them. The same request
      and response shape works whichever gateway the payment was made on.
  - name: Settlements
  - name: Subscriptions
paths:
  /pg/chargebacks/{chargeback_id}/actions/:
    get:
      tags:
        - Chargebacks
      summary: Get Chargeback Actions
      description: >-
        The ways this chargeback can be answered, by action. Each condition
        lists the text fields, true/false fields and documents it takes, with
        the required ones marked, and the fewest documents it needs
        (`min_documents`). What is offered depends on the payment: some payments
        offer detailed conditions, each with its own fields; others offer
        `accepted` and a single `contested` condition that takes any of the
        evidence documents with your remarks. Always read the conditions from
        here rather than hard-coding them.
      operationId: v2_get_chargeback_actions
      parameters:
        - name: chargeback_id
          in: path
          required: true
          description: EximPe chargeback ID, e.g. `CB6358819770`.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    $ref: '#/components/schemas/v2_ChargebackActions'
              examples:
                contested:
                  summary: Accept, or contest with evidence
                  value:
                    success: true
                    message: Chargeback actions retrieved successfully
                    data:
                      chargeback_id: CB6358819770
                      status: NEW
                      amount: '2500.00'
                      respond_by: '2026-11-02T03:47:59Z'
                      can_respond: true
                      actions:
                        accept:
                          - condition: accepted
                            text_fields: []
                            boolean_fields: []
                            documents: []
                            min_documents: 0
                        contest:
                          - condition: contested
                            text_fields:
                              - name: remarks
                                required: true
                            boolean_fields: []
                            documents:
                              - name: proof_of_delivery
                                required: false
                              - name: shipping_proof
                                required: false
                              - name: statement_of_service
                                required: false
                              - name: service_fulfilment_proof
                                required: false
                              - name: cancellation_proof
                                required: false
                              - name: refund_proof
                                required: false
                              - name: business_model_explanation
                                required: false
                              - name: extra_charges_declaration
                                required: false
                              - name: terms_and_conditions
                                required: false
                              - name: customer_communication
                                required: false
                              - name: certificate_of_authenticity
                                required: false
                              - name: reseller_agreement
                                required: false
                            min_documents: 1
                detailed_conditions:
                  summary: Detailed conditions
                  value:
                    success: true
                    message: Chargeback actions retrieved successfully
                    data:
                      chargeback_id: CB6358819770
                      status: NEW
                      amount: '2500.00'
                      respond_by: '2026-11-02T03:47:59Z'
                      can_respond: true
                      actions:
                        accept:
                          - condition: customer_cancelled
                            text_fields: []
                            boolean_fields: []
                            documents: []
                            min_documents: 0
                          - condition: other
                            text_fields:
                              - name: reason
                                required: true
                            boolean_fields: []
                            documents: []
                            min_documents: 0
                        contest:
                          - condition: product_delivered
                            text_fields:
                              - name: product_details
                                required: true
                              - name: courier_name
                                required: false
                              - name: awb_number
                                required: false
                            boolean_fields:
                              - name: customer_tried_to_cancel
                                required: false
                            documents:
                              - name: proof_of_delivery
                                required: false
                              - name: invoice
                                required: false
                            min_documents: 0
                          - condition: already_refunded
                            text_fields:
                              - name: refund_details
                                required: false
                            boolean_fields: []
                            documents:
                              - name: refund_proof
                                required: false
                            min_documents: 0
                        partial_accept:
                          - condition: partially_delivered
                            text_fields:
                              - name: remarks
                                required: false
                            boolean_fields: []
                            documents:
                              - name: supporting_document
                                required: true
                            min_documents: 0
        '403':
          description: >-
            The chargeback can't be answered yet because the payment's
            chargeback credentials are not configured for this merchant. Contact
            EximPe support; retrying will not help.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2_ErrorResponse'
              example:
                success: false
                error:
                  code: ERR_SERVICE_ERROR_000
                  message: Payment gateway error
                  details:
                    chargeback: >-
                      Chargebacks on this payment cannot be answered yet: the
                      PayU chargeback credentials are not configured for this
                      merchant. Please contact support.
        '404':
          description: >-
            No chargeback with this ID on your payments (or your sub-merchants'
            payments).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2_ErrorResponse'
              example:
                success: false
                error:
                  code: 40669
                  message: Chargeback not found
                  details:
                    chargeback_id: Chargeback not found
        '502':
          description: >-
            The gateway couldn't be reached or didn't give a usable response.
            Nothing was recorded; retry after a few minutes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2_ErrorResponse'
              example:
                success: false
                error:
                  code: ERR_PAYMENT_003
                  message: API error
                  details:
                    chargeback: >-
                      PayU's chargeback reasons are unavailable right now;
                      please try again in a few minutes.
      security:
        - clientAuth: []
          clientSecretAuth: []
          apiVersionHeader: []
components:
  schemas:
    v2_ChargebackActions:
      type: object
      properties:
        chargeback_id:
          type: string
        status:
          $ref: '#/components/schemas/v2_ChargebackStatus'
        amount:
          type: string
          example: '2500.00'
        respond_by:
          type: string
          format: date-time
          nullable: true
        can_respond:
          type: boolean
        actions:
          type: object
          description: >-
            Conditions by action. Only the actions and conditions the payment
            can be answered with are present; empty once the chargeback can no
            longer be answered.
          properties:
            accept:
              type: array
              items:
                $ref: '#/components/schemas/v2_ChargebackCondition'
            contest:
              type: array
              items:
                $ref: '#/components/schemas/v2_ChargebackCondition'
            partial_accept:
              type: array
              items:
                $ref: '#/components/schemas/v2_ChargebackCondition'
    v2_ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          enum:
            - false
          description: >-
            Indicates if the request was successful. Always false for error
            responses.
        error:
          $ref: '#/components/schemas/v2_ErrorDetails'
    v2_ChargebackStatus:
      type: string
      enum:
        - NEW
        - PENDING_RESPONSE
        - PENDING_DOC_REVIEW
        - SUBMITTED_TO_BANK
        - INSUFFICIENT_DOCUMENT
        - CLOSED_CUSTOMER_FAVOUR
        - CLOSED_IN_MERCHANT_FAVOUR
        - CLOSED_UNDER_FRAUD_LIABILITY
      description: >-
        Where the chargeback is in its lifecycle. It can be answered only while
        `NEW`, `PENDING_RESPONSE` or `INSUFFICIENT_DOCUMENT` (see
        `can_respond`). `PENDING_DOC_REVIEW`: your answer is in.
        `SUBMITTED_TO_BANK`: your answer has gone to the bank. `CLOSED_*`:
        decided.
    v2_ChargebackCondition:
      type: object
      description: One way to answer the chargeback, and what it takes.
      properties:
        condition:
          type: string
          description: Send as `condition`.
          example: product_delivered
        text_fields:
          type: array
          items:
            $ref: '#/components/schemas/v2_ChargebackField'
          description: Free-text values.
        boolean_fields:
          type: array
          items:
            $ref: '#/components/schemas/v2_ChargebackField'
          description: '`true` or `false` values.'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/v2_ChargebackField'
          description: Evidence files, one per name. See also `min_documents`.
        min_documents:
          type: integer
          description: >-
            The fewest documents the answer must attach. `1` on a condition
            whose documents are all optional but that needs at least one of
            them; `0` when `documents` alone says what is required.
          example: 0
    v2_ErrorDetails:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Error code (e.g., ERR_ORDER_002)
        message:
          type: string
          description: Error message
        details:
          type: object
          description: Detailed validation error information with field-specific errors
          additionalProperties:
            type: string
            description: Error message for the specific field
    v2_ChargebackField:
      type: object
      properties:
        name:
          type: string
          description: Send the value as `fields[<name>]`.
          example: proof_of_delivery
        required:
          type: boolean
  securitySchemes:
    clientAuth:
      type: apiKey
      name: X-Client-ID
      in: header
      description: >-
        **Client Application ID** - Your unique application identifier used to
        authenticate API requests. You can find your Client ID in the Developer
        Settings section of the merchant dashboard.
      x-displayName: Client ID
      x-example: your-client-id
    clientSecretAuth:
      type: apiKey
      name: X-Client-Secret
      in: header
      description: >-
        **Client Secret Key** - Your secret key used alongside the Client ID for
        secure authentication. Keep this confidential and never expose it in
        client-side code. Available in the Developer Settings section of the
        merchant dashboard.
      x-displayName: Client Secret
      x-example: your-client-secret
    apiVersionHeader:
      type: apiKey
      name: X-API-Version
      in: header
      description: >-
        **API Version** - Specifies which version of the API to use (e.g.,
        '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which
        API version your integration uses. Default version information is
        available in the Developer Settings.
      x-displayName: API Version
      x-example: 3.0.0

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.