# Challenge a Payment Dispute

Challenge a Payment Dispute. When you receive a Payment Dispute in Chargeback or RFI stage with `REQUIRES_RESPONSE` status then you can further challenge the Payment Dispute. Challenge response should include at least one of the recommended evidence document types attached, please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files and refer to it under `supporting_documents`. There are different suggested information sections in different stages, please check if the section is applicable before submission.

## Endpoint

`POST /api/v1/pa/payment_disputes/{id}/challenge`

## Request Headers

- `Authorization` (string, required)
  Obtain a token via `POST /api/v1/authentication/login` with your API key and client unique identifier. Pass it as `Authorization: Bearer {{ACCESS_TOKEN}}`. Tokens expire after a configurable duration.

## Request Parameters

### Path Parameters

- `id` (string, required)
  Payment Dispute unique identifier.

### Request Body

- `request_id` (string, required)
  Unique request identifier specified by the merchant.
- `challenge_method` (string, optional)
  The method used to challenge the dispute. Possible values:

  - **AI_DISPUTE_AUTOMATION**: Challenge using [AI Dispute Automation](https://www.airwallex.com/docs/payments/payment-operations/disputes/dispute-automation.md)
    - Applicable when Payment Dispute stage is `CHARGEBACK` and AI Dispute Automation status is `AVAILABLE`
  - **STANDARD**: Challenge using standard flow

  Default to `STANDARD` if not provided.
- `challenged_by` (string, optional)
  User unique identifier of person/system challenges Payment Dispute.
- `customer_info` (object, optional)
  Customer information. Applicable when Payment Dispute stage is `CHARGEBACK`.
  - `billing_address` (string, optional)
    Customer billing address.
  - `device_id` (string, optional)
    Customer device unique identifier.
  - `email` (string, optional)
    Customer email.
  - `ip` (string, optional)
    Customer ip.
  - `name` (string, optional)
    Customer name.
  - `phone_number` (string, optional)
    Customer phone number.
- `delivery_info` (object, optional)
  The delivery information of goods or services.
  - `address` (string, optional)
    The shipping address. Applicable at stage `RFI`.
  - `delivered_at` (string, format: date-time, optional)
    The date when services or goods are delivered.
  - `fee_amount` (number, optional)
    The amount of shipping fee. Applicable at stage `RFI`. Please refer to [supported currencies](https://www.airwallex.com/docs/payments/supported-currencies.md) for supported minor units.
  - `fee_currency` (string, optional)
    The currency of shipping fee. Applicable at stage `RFI`. Please refer to [supported currencies](https://www.airwallex.com/docs/payments/supported-currencies.md).
  - `name` (string, optional)
    The recipient's name. Applicable at stage `RFI`.
  - `phone_number` (string, optional)
    The recipient's phone number. Applicable at stage `RFI`.
  - `shipped_at` (string, format: date-time, optional)
    The shipping date (the expected delivery date for `RFI`).
  - `shipping_company` (string, optional)
    The company name managing this delivery, such as asendia-usa, 4px, and so on.
  - `shipping_method` (string, optional)
    The shipping method, such as Priority Mail, Flat rate, and so on. Applicable at stage `RFI`.
  - `status` (string, optional)
    The shipping status, such as `SHIPPED`, `DELIVERED`, and so on. Applicable at stage `RFI`.
  - `tracking_number` (string, optional)
    The shipping tracking number.
- `description` (string, optional)
  The additional description of the Payment Dispute.
  Deprecated. Use `supporting_documents.documents.description` instead.
- `duplicate_charge_info` (object, optional)
  The defense information when a Payment Dispute is raised due to a duplicate charge.
  - `explanation` (string, optional)
    The explanation of duplicate payment.
  - `payment_id` (string, optional)
    The unique identifier of duplicate payment.
- `evidence` (object, optional)
  Evidence required when challenge_method is set to `AI_DISPUTE_AUTOMATION`.
  - `access_activity_file_ids` (array[string], optional)
    File unique identifiers of access activity files. Provide screenshots from your activity log that show the customer's on-site behaviour, such as login times or download timestamps. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `authenticity_proof_file_ids` (array[string], optional)
    File unique identifiers of authenticity proof files. Provide documentation that confirms your products are genuine and not counterfeit. This can include certificates, supplier invoices, or brand authorization letters. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `customer_communication_file_ids` (array[string], optional)
    File unique identifiers of customer communication files. Provide copies of any emails, chat logs, or messages with the customer that show communication before or after the purchase. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `duplicate_acquirer_reference_number` (string, optional)
    Acquirer reference number of the duplicate transaction.
  - `duplicate_explanation` (string, optional)
    Explanation of the duplicate transaction.
  - `duplicate_payment_file_ids` (array[string], optional)
    File unique identifiers of duplicate payment files. Provide documents that show how this transaction differs from any potential duplicates. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `duplicate_transaction_amount_currency` (string, optional)
    Amount and currency of the duplicate transaction.
  - `duplicate_transaction_created_at` (string, format: date-time, optional)
    Creation date of the duplicate transaction.
  - `merchant_business_model_description` (string, optional)
    Description of the merchant's business model.
  - `order_fulfilled_at` (string, format: date-time, optional)
    Date and time when the order was fulfilled.
  - `order_fulfillment_file_ids` (array[string], optional)
    File unique identifiers of order fulfillment files. Provide screenshots of delivery confirmation or shipment tracking information that clearly show the order was successfully delivered. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `order_snapshot_file_ids` (array[string], optional)
    File unique identifiers of order snapshot files. Provide screenshots of the customer's receipt or order confirmation page as evidence that the customer placed the order. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `previous_dispute_won_on_same_card_file_ids` (array[string], optional)
    File unique identifiers of previous won disputes on same card. Provide evidence of any previous disputes that you won for transactions using the same card. This helps establish a history of legitimate transactions. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `previous_purchase_similar_product_file_ids` (array[string], optional)
    File unique identifiers of previous purchases of similar products. Provide proof of the customer's past purchases of similar items to show their history and relationship with your business. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `product_consumption_file_ids` (array[string], optional)
    File unique identifiers of product usage files. Provide evidence that the customer has used the product or service, such as a login record or usage timestamp. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `product_description` (string, optional)
    Description of the product.
  - `product_snapshot_file_ids` (array[string], optional)
    File unique identifiers of product snapshot files. Provide a screenshot of the product page or a photo of the item to show that the product matches its description. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `refund_policy_file_ids` (array[string], optional)
    File unique identifiers for your refund policy documents. Upload all documents that describe your refund policy. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `refund_policy_url` (string, optional)
    URL of the refund policy page.
  - `user_agreement_file_ids` (array[string], optional)
    File unique identifiers of user agreement files. Upload your user agreement forms that outline the terms and conditions for your customers. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
- `order_info` (object, optional)
  The order information. Applicable when Payment Dispute stage is `RFI`.
  - `created_at` (string, format: date-time, optional)
    Time at which this order was created.
  - `id` (string, optional)
    The order unique identifier.
  - `invoice_number` (string, optional)
    The invoice number of order.
  - `products` (array[object], optional)
    The products of order.
    - `category` (string, optional)
      Product category at the merchant store, such as home furnishings, pet supplies, apparel and accessories.
    - `code` (string, optional)
      Merchant’s product identifier code. Maximum of 128 characters.
    - `desc` (string, optional)
      Product description. Maximum of 500 characters.
    - `effective_end_at` (string, optional)
      The effective end time of the product, only applicable when product type is `intangible_good`. The timestamp must include an explicit timezone (e.g. `Z` or `-04:00`).
    - `effective_start_at` (string, optional)
      The effective start time of the product, only applicable when product type is `intangible_good`. The timestamp must include an explicit timezone (e.g. `Z` or `-04:00`).
    - `image_url` (string, optional)
      The preview image url for this product, which is usually displayed as thumbnail in the order details.
    - `name` (string, optional)
      Name of the product. Maximum of 255 characters.
    - `quantity` (integer, format: int32, optional)
      Product quantity.
    - `seller` (object, optional)
      Seller info of the purchase order.
      - `identifier` (string, optional)
        The identifier of the seller in the merchant's system.
      - `name` (string, optional)
        The name of the seller in the merchant's system.
    - `sku` (string, optional)
      Stock keeping unit. A unique identifier assigned by the merchant to identify and track this specific product. Maximum of 128 characters.
    - `type` (string, optional)
      Type of product, such as `physical_good`, `intangible_good`, or `service`. Maximum of 128 characters.
    - `unit_price` (number, optional)
      Product unit price.
    - `url` (string, optional)
      The url that links to the product page at merchant site.
  - `total_amount` (number, optional)
    The total amount of order. Please refer to [supported currencies](https://www.airwallex.com/docs/payments/supported-currencies.md) for supported minor units.
  - `total_currency` (string, optional)
    The currency of total amount in 3-letter ISO 4217 currency code. Please refer to [supported currencies](https://www.airwallex.com/docs/payments/supported-currencies.md).
- `product_description` (string, optional)
  The description of the product. Applicable when the Payment Dispute stage is `CHARGEBACK`.
- `product_type` (string, optional)
  The type of the product. Possible values: `PHYSICAL_GOODS`, `DIGITAL_PRODUCT_OR_SERVICE`, `OFFLINE_SERVICE`, `TRAVEL`, `RESERVE_OR_BOOKING`, `OTHERS`. Required when the Payment Dispute stage is `CHARGEBACK`.
- `reason` (string, optional)
  The reason why the merchant challenges the dispute. Possible values:

  - **CUSTOMER_WITHDRAWN**: The customer withdrew the dispute
  - **CUSTOMER_REFUNDED**: The customer has already been refunded
  - **PRODUCT_RECEIVED**: The customer has already received / will receive the product or service
  - **PURCHASE_HISTORY**: The customer has a purchasing history with me
  - **NOT_ENTITLED**: The customer is not entitled to refund
  - **SEPARATE_PRODUCT**: The customer purchased separate products or services
  - **AUTHENTIC_PRODUCT**: The product is not damaged, defective or counterfeit
  - **OTHER_REASONS**: Other reasons for challenging.
- `refund_refusal_reason` (string, optional)
  Explanation of why refund is refused. Applicable when Payment Dispute stage is `CHARGEBACK`.
- `seller_info` (object, optional)
  Seller information. Applicable when Payment Dispute stage is `RFI`.
  - `name` (string, optional)
    Seller name.
  - `store_name` (string, optional)
    Store name.
  - `store_physical_address` (string, optional)
    Store physical address.
  - `store_url` (string, optional)
    Store URL.
- `supporting_documents` (object, optional)
  The file unique identifiers of support documents.
  - `customer_communication_documents` (array[string], optional)
    The file IDs of customer communication. Applicable when stage is `CHARGEBACK`.
    Deprecated. Use `documents` instead.
  - `customer_signature_documents` (array[string], optional)
    The file IDs of customer signature. Applicable when stage is `CHARGEBACK`.
    Deprecated. Use `documents` instead.
  - `documents` (array[object], optional)
    List of documents.
    - `description` (string, optional)
      Additional file descriptions or explanations.
    - `file_ids` (array[string], optional)
      File unique identifiers of the documents.
    - `type` (string, optional)
      Type of the documents. Possible values: `PRIMARY`, `ORDER`, `CUSTOMER`, `OTHER`.

      - **PRIMARY**: The primary evidence depends on the challenge reason.
      - **ORDER**: Order related evidence.
      - **CUSTOMER**: Customer related evidence.
      - **OTHER**: Other supporting evidence.
  - `duplicate_charge_defense_documents` (array[string], optional)
    The file IDs of duplicate payment evidence. Applicable when stage is `CHARGEBACK`.
    Deprecated. Use `documents` instead.
  - `other_documents` (array[string], optional)
    The list of file IDs of other documents.
    Deprecated. Use `documents` instead.
  - `proof_of_delivery_documents` (array[string], optional)
    The file IDs of proof of delivery. Applicable when stage is `CHARGEBACK`.
    Deprecated. Use `documents` instead.
  - `receipt_documents` (array[string], optional)
    The file IDs of the receipt. Applicable when stage is `CHARGEBACK`.
    Deprecated. Use `documents` instead.
  - `refund_policy_documents` (array[string], optional)
    The file IDs of the refund policy. Applicable when stage is `CHARGEBACK`.
    Deprecated. Use `documents` instead.

## cURL example

```bash
curl --request POST \
  --url 'https://api.sandbox.airwallex.com/api/v1/pa/payment_disputes/dst_hkpdw2eqp9oie/challenge' \
  --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
  --header 'Content-Type: application/json' \
  --data '{
  "challenged_by": "airwallex",
  "customer_info": {
    "billing_address": "1460 Mission St.#02W101, San Francisco, CA 94103, US",
    "device_id": "59ec5db9-399c-4043-9a6c-fcd1a48d99aa",
    "email": "john.doe@example.com",
    "ip": "123.123.123.123",
    "name": "John Doe",
    "phone_number": "+1 1234567890"
  },
  "delivery_info": {
    "address": "address",
    "delivered_at": "2023-10-01T10:00:00Z",
    "fee_amount": 0,
    "fee_currency": "null",
    "name": "null",
    "phone_number": "null",
    "shipped_at": "2023-10-01T10:00:00Z",
    "shipping_company": "SF",
    "shipping_method": "null",
    "status": "null",
    "tracking_number": "123456789"
  },
  "product_description": "product description",
  "product_type": "OFFLINE_SERVICE",
  "request_id": "0cb05018-7ccd-42fa-9a5b-7d5197b9fb15",
  "supporting_documents": {
    "documents": [
      {
        "type": "OTHER",
        "file_ids": [
          "MTRkYjkyZWYtZTBh12tvbmcsfCxFdmlkZW5jZV9Qcm92aWRlZF9Gb3JfMTc0NDE3Nzg4NzU3Ng"
        ]
      }
    ]
  }
}'
```

## Response

### 200 OK

**Example:**

```json
{
  "id": "dst_hkpdw2eqp9oie",
  "stage": "CHARGEBACK",
  "status": "CHALLENGED",
  "amount": 100,
  "currency": "USD",
  "mode": "COLLABORATION",
  "merchant_order_id": "D202503210001",
  "payment_intent_id": "int_hkpdskz7vg1xc7uscdj",
  "payment_attempt_id": "att_hkpdw2eqp9oie",
  "acquirer_reference_number": "T1234567890",
  "payment_method_type": "VISA",
  "issuer_comment": "",
  "issuer_documents": [],
  "card_brand": "visa",
  "reason": {
    "original_code": "4837",
    "description": "Fraudulent transaction.",
    "type": "FRAUDULENT"
  },
  "challenge_details": [
    {
      "stage": "CHARGEBACK",
      "product_type": "OFFLINE_SERVICE",
      "product_description": "product description",
      "customer_info": {
        "name": "John Doe",
        "email": "john.doe@example.com",
        "ip": "123.123.123.123",
        "billing_address": "1460 Mission St.#02W101, San Francisco, CA 94103, US",
        "device_id": "59ec5db9-399c-4043-9a6c-fcd1a48d99aa",
        "phone_number": "+1 1234567890"
      },
      "delivery_info": {
        "shipped_at": "2023-10-01T10:00:00+00:00",
        "delivered_at": "2023-10-01T10:00:00+00:00",
        "address": "address",
        "shipping_company": "SF",
        "tracking_number": "123456789"
      },
      "supporting_documents": {
        "documents": [
          {
            "type": "OTHER",
            "file_ids": [
              "MTRkYjkyZWYtZTBh12tvbmcsfCxFdmlkZW5jZV9Qcm92aWRlZF9Gb3JfMTc0NDE3Nzg4NzU3Ng"
            ]
          }
        ]
      },
      "challenged_by": "airwallex",
      "challenged_at": "2023-10-01T10:00:00+00:00",
      "reason": "Fraudulent transaction"
    }
  ],
  "due_at": "2023-11-01T10:00:00+00:00",
  "transaction_type": "PAYMENT",
  "customer_name": "John Doe",
  "created_at": "2023-10-01T10:00:00+00:00",
  "updated_at": "2023-10-01T10:00:00+00:00"
}
```

- `accept_details` (array[object], optional)
  Further details on why the client is accepting the Payment Dispute event.
  - `accepted_at` (string, format: date-time, optional)
    The time when the user accepted the Payment Dispute.
  - `accepted_by` (string, optional)
    User unique identifier of person/system actioned on case.
  - `description` (string, optional)
    The accept description.
  - `reason` (string, optional)
    The accept reason. One of

    - `AGREEMENT_REACHED_WITH_CUSTOMER`
    - `CUSTOMER_RELATIONSHIP_MAINTENANCE`
    - `LOW_VALUE_TRANSACTION`
    - `VALID_CUSTOMER_DISPUTE`
    - `NO_ACTION_TAKEN_BY_MERCHANT`
    - `RDR_AUTO_ACCEPTED`
    - `COLLABORATION_ACCEPTED_MANUAL`
    - `COLLABORATION_AUTO_ACCEPTED`
    - `COLLABORATION_AUTO_ACCEPTED_BY_EXPIRY`
    - `OTHERS`.
  - `refund` (object, optional)
    The Refund requested to be created.
    - `amount` (number, optional)
      The refund amount when accepting `RFI`. If not specified, it will be same as the remaining amount that has been captured but not yet refunded. Please refer to [supported currencies](https://www.airwallex.com/docs/payments/supported-currencies.md) for supported minor units.
    - `reason` (string, optional)
      The refund reason when accepting `RFI`. `OTHERS` is used by default. One of `REQUESTED_BY_CUSTOMER`, `DUPLICATE`, `FRAUDULENT`, `ABANDONED`, and `OTHERS`.
  - `stage` (string, optional)
    The stage when dispute is accepted. Possible values: `RFI`, `PRE_CHARGEBACK`, `CHARGEBACK`, `PRE_ARBITRATION`.
- `acquirer_reference_number` (string, optional)
  The acquirer reference number of original payment.
- `ai_dispute_automation` (object, optional)
  Information about AI dispute automation, including recommendation and current status. Applicable only when the stage is `CHARGEBACK`.
  - `recommendation` (object, optional)
    The AI recommendation for the dispute, present when status is `AVAILABLE`.
    - `action` (string, optional)
      The recommended action. Possible values: `Challenge`, `Accept`.
    - `evidence_to_submit` (array[string], optional)
      The evidence fields listed below are recommended for challenging this dispute.
      For field definitions and accepted values,
      refer to the `evidence` object in [Challenge a Payment Dispute](https://www.airwallex.com/docs/api/payments/payment_disputes/challenge.md).
  - `status` (string, optional)
    Indicates whether AI Dispute Automation is available. Possible values: `AVAILABLE`, `UNAVAILABLE`.
  - `unavailable_reason` (string, optional)
    The reason AI Dispute Automation is unavailable. Possible values:

    - **DISABLED**: AI Dispute Automation is currently disabled. [Activate it](https://www.airwallex.com/docs/payments/payment-operations/disputes/dispute-automation.md#activate-ai-dispute-automation) to use this feature.
    - **NOT_SUPPORTED**: AI Dispute Automation is not available for the current dispute.
- `amount` (number, optional)
  Payment Dispute amount.
- `card_brand` (string, optional)
  The card brand of original payment, applicable when payment_method_type is `CARD`. Possible values: `visa`, `mastercard`, `maestro`, `union pay`, `american express`, `jcb`, `diners club international` and `discover`.
- `challenge_details` (array[object], optional)
  The challenge data submitted at each stage.
  - `challenge_method` (string, optional)
    The method used to challenge the dispute. Possible values:

    - **AI_DISPUTE_AUTOMATION**: Challenge via AI Dispute Automation
      - Applicable when Payment Dispute stage is `CHARGEBACK` and AI Dispute Automation status is `AVAILABLE`
    - **STANDARD**: Challenge via standard flow

    Default to `STANDARD` if not provided.
  - `challenged_at` (string, format: date-time, optional)
    The time when the user challenges Payment Dispute.
  - `challenged_by` (string, optional)
    User unique identifier of person/system challenges Payment Dispute.
  - `customer_info` (object, optional)
    Customer information.
    - `billing_address` (string, optional)
      Customer billing address.
    - `device_id` (string, optional)
      Customer device unique identifier.
    - `email` (string, optional)
      Customer email.
    - `ip` (string, optional)
      Customer ip.
    - `name` (string, optional)
      Customer name.
    - `phone_number` (string, optional)
      Customer phone number.
  - `delivery_info` (object, optional)
    The delivery information.
    - `address` (string, optional)
      The shipping address. Applicable at stage `RFI`.
    - `delivered_at` (string, format: date-time, optional)
      The date when services or goods are delivered.
    - `fee_amount` (number, optional)
      The amount of shipping fee. Applicable at stage `RFI`.
    - `fee_currency` (string, optional)
      The currency of shipping fee. Applicable at stage `RFI`.
    - `name` (string, optional)
      The recipient's name. Applicable at stage `RFI`.
    - `phone_number` (string, optional)
      The recipient's phone number. Applicable at stage `RFI`.
    - `shipped_at` (string, format: date-time, optional)
      The shipping date (the expected delivery date for `RFI`).
    - `shipping_company` (string, optional)
      The company name managing this delivery, such as asendia-usa, 4px, and so on.
    - `shipping_method` (string, optional)
      The shipping method, such as Priority Mail, Flat rate, and so on. Applicable at stage `RFI`.
    - `status` (string, optional)
      The shipping status, such as `SHIPPED`, `DELIVERED`, and so on. Applicable at stage `RFI`.
    - `tracking_number` (string, optional)
      The shipping tracking number.
  - `evidence` (object, optional)
    The evidence submitted when challenge_method is `AI_DISPUTE_AUTOMATION`.
    - `access_activity_file_ids` (array[string], optional)
      File unique identifiers of access activity files. Provide screenshots from your activity log that show the customer's on-site behaviour, such as login times or download timestamps. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `authenticity_proof_file_ids` (array[string], optional)
      File unique identifiers of authenticity proof files. Provide documentation that confirms your products are genuine and not counterfeit. This can include certificates, supplier invoices, or brand authorization letters. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `customer_communication_file_ids` (array[string], optional)
      File unique identifiers of customer communication files. Provide copies of any emails, chat logs, or messages with the customer that show communication before or after the purchase. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `duplicate_acquirer_reference_number` (string, optional)
      Acquirer reference number of the duplicate transaction.
    - `duplicate_explanation` (string, optional)
      Explanation of the duplicate transaction.
    - `duplicate_payment_file_ids` (array[string], optional)
      File unique identifiers of duplicate payment files. Provide documents that show how this transaction differs from any potential duplicates. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `duplicate_transaction_amount_currency` (string, optional)
      Amount and currency of the duplicate transaction.
    - `duplicate_transaction_created_at` (string, format: date-time, optional)
      Creation date of the duplicate transaction.
    - `merchant_business_model_description` (string, optional)
      Description of the merchant's business model.
    - `order_fulfilled_at` (string, format: date-time, optional)
      Date and time when the order was fulfilled.
    - `order_fulfillment_file_ids` (array[string], optional)
      File unique identifiers of order fulfillment files. Provide screenshots of delivery confirmation or shipment tracking information that clearly show the order was successfully delivered. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `order_snapshot_file_ids` (array[string], optional)
      File unique identifiers of order snapshot files. Provide screenshots of the customer's receipt or order confirmation page as evidence that the customer placed the order. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `previous_dispute_won_on_same_card_file_ids` (array[string], optional)
      File unique identifiers of previous won disputes on same card. Provide evidence of any previous disputes that you won for transactions using the same card. This helps establish a history of legitimate transactions. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `previous_purchase_similar_product_file_ids` (array[string], optional)
      File unique identifiers of previous purchases of similar products. Provide proof of the customer's past purchases of similar items to show their history and relationship with your business. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `product_consumption_file_ids` (array[string], optional)
      File unique identifiers of product usage files. Provide evidence that the customer has used the product or service, such as a login record or usage timestamp. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `product_description` (string, optional)
      Description of the product.
    - `product_snapshot_file_ids` (array[string], optional)
      File unique identifiers of product snapshot files. Provide a screenshot of the product page or a photo of the item to show that the product matches its description. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `refund_policy_file_ids` (array[string], optional)
      File unique identifiers for your refund policy documents. Upload all documents that describe your refund policy. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
    - `refund_policy_url` (string, optional)
      URL of the refund policy page.
    - `user_agreement_file_ids` (array[string], optional)
      File unique identifiers of user agreement files. Upload your user agreement forms that outline the terms and conditions for your customers. Supported file formats: JPG, PNG, WEBP and max 10MB size. Please use [File Service](https://www.airwallex.com/docs/api/supporting_services/file_service/upload_files.md) to upload files.
  - `order_info` (object, optional)
    The order information. Applicable when the stage is `RFI`.
    - `created_at` (string, format: date-time, optional)
      Time at which this order was created.
    - `id` (string, optional)
      The order unique identifier.
    - `invoice_number` (string, optional)
      The invoice number of order.
    - `products` (array[object], optional)
      The products of order.
      - `category` (string, optional)
        Product category at the merchant store, such as home furnishings, pet supplies, apparel and accessories.
      - `code` (string, optional)
        Merchant’s product identifier code. Maximum of 128 characters.
      - `desc` (string, optional)
        Product description. Maximum of 500 characters.
      - `effective_end_at` (string, optional)
        The effective end time of the product, only applicable when product type is `intangible_good`. The timestamp must include an explicit timezone (e.g. `Z` or `-04:00`).
      - `effective_start_at` (string, optional)
        The effective start time of the product, only applicable when product type is `intangible_good`. The timestamp must include an explicit timezone (e.g. `Z` or `-04:00`).
      - `image_url` (string, optional)
        The preview image url for this product, which is usually displayed as thumbnail in the order details.
      - `name` (string, optional)
        Name of the product. Maximum of 255 characters.
      - `quantity` (integer, format: int32, optional)
        Product quantity.
      - `seller` (object, optional)
        Seller info of the purchase order.
        - `identifier` (string, optional)
          The identifier of the seller in the merchant's system.
        - `name` (string, optional)
          The name of the seller in the merchant's system.
      - `sku` (string, optional)
        Stock keeping unit. A unique identifier assigned by the merchant to identify and track this specific product. Maximum of 128 characters.
      - `type` (string, optional)
        Type of product, such as `physical_good`, `intangible_good`, or `service`. Maximum of 128 characters.
      - `unit_price` (number, optional)
        Product unit price.
      - `url` (string, optional)
        The url that links to the product page at merchant site.
    - `total_amount` (number, optional)
      The total amount of order.
    - `total_currency` (string, optional)
      The currency of total amount.
  - `product_description` (string, optional)
    The description of product.
  - `product_type` (string, optional)
    The type of Product.
  - `reason` (string, optional)
    The reason why the merchant challenges the dispute. Possible values:

    - **CUSTOMER_WITHDRAWN**: The customer withdrew the dispute
    - **CUSTOMER_REFUNDED**: The customer has already been refunded
    - **PRODUCT_RECEIVED**: The customer has already received / will receive the product or service
    - **PURCHASE_HISTORY**: The customer has a purchasing history with me
    - **NOT_ENTITLED**: The customer is not entitled to refund
    - **SEPARATE_PRODUCT**: The customer purchased separate products or services
    - **AUTHENTIC_PRODUCT**: The product is not damaged, defective or counterfeit
    - **OTHER_REASONS**: Other reasons for challenging.
  - `refund_refusal_reason` (string, optional)
    Explanation of why refund is refused.
  - `seller_info` (object, optional)
    Merchant information.
    - `name` (string, optional)
      Seller name.
    - `store_name` (string, optional)
      Store name.
    - `store_physical_address` (string, optional)
      Store physical address.
    - `store_url` (string, optional)
      Store URL.
  - `stage` (string, optional)
    The stage when evidence is submitted. Possible values: `RFI`, `PRE_CHARGEBACK`, `CHARGEBACK`.
  - `supporting_documents` (object, optional)
    The file unique identifiers of support documents.
    - `customer_communication_documents` (array[string], optional)
      The file IDs of customer communication. Applicable when stage is `CHARGEBACK`.
      Deprecated. Use `documents` instead.
    - `customer_signature_documents` (array[string], optional)
      The file IDs of customer signature. Applicable when stage is `CHARGEBACK`.
      Deprecated. Use `documents` instead.
    - `documents` (array[object], optional)
      List of documents.
      - `description` (string, optional)
        Additional file descriptions or explanations.
      - `file_ids` (array[string], optional)
        File unique identifiers of the documents.
      - `type` (string, optional)
        Type of the documents. Possible values: `PRIMARY`, `ORDER`, `CUSTOMER`, `OTHER`.

        - **PRIMARY**: The primary evidence depends on the challenge reason.
        - **ORDER**: Order related evidence.
        - **CUSTOMER**: Customer related evidence.
        - **OTHER**: Other supporting evidence.
    - `duplicate_charge_defense_documents` (array[string], optional)
      The file IDs of duplicate payment evidence. Applicable when stage is `CHARGEBACK`.
      Deprecated. Use `documents` instead.
    - `generated_files` (array[string], optional)
      The file unique identifiers of the files generated by Airwallex automatically based on text evidence or refund information.
    - `other_documents` (array[string], optional)
      The list of file IDs of other documents.
      Deprecated. Use `documents` instead.
    - `proof_of_delivery_documents` (array[string], optional)
      The file IDs of proof of delivery. Applicable when stage is `CHARGEBACK`.
      Deprecated. Use `documents` instead.
    - `receipt_documents` (array[string], optional)
      The file IDs of the receipt. Applicable when stage is `CHARGEBACK`.
      Deprecated. Use `documents` instead.
    - `refund_policy_documents` (array[string], optional)
      The file IDs of the refund policy. Applicable when stage is `CHARGEBACK`.
      Deprecated. Use `documents` instead.
- `connected_account_id` (string, optional)
  Account identifier of the connected account.
- `created_at` (string, format: date-time, optional)
  Time at which this Payment Dispute was created.
- `currency` (string, optional)
  Payment Dispute currency.
- `customer_id` (string, optional)
  The customer unique identifier of original payment.
- `customer_name` (string, optional)
  The customer name of original payment.
- `due_at` (string, format: date-time, optional)
  Payment Dispute due date.
- `id` (string, optional)
  Payment Dispute unique identifier.
- `issuer_comment` (string, optional)
  The issuer’s comment on Payment Dispute.
- `issuer_documents` (array[string], optional)
  The issuer’s documents on Payment Dispute.
- `merchant_order_id` (string, optional)
  The order unique identifier of original payment.
- `metadata` (object, optional)
  A set of key-value pairs attached to the dispute by the merchant.
- `mode` (string, optional)
  Payment Dispute mode. Possible values: `ALLOCATION`, `COLLABORATION`, applicable when the stage is `CHARGEBACK`, `PRE_ARBITRATION` and `ARBITRATION`.
- `payment_attempt_id` (string, optional)
  Payment Attempt unique identifier.
- `payment_intent_id` (string, optional)
  Payment Intent unique identifier.
- `payment_method_type` (string, optional)
  The payment method type of original payment.
- `reason` (object, optional)
  Payment Dispute reason.
  - `description` (string, optional)
    Payment Dispute reason description.
  - `original_code` (string, optional)
    Payment Dispute reason code.
  - `type` (string, optional)
    Payment Dispute reason type. Possible values: `CREDIT_NOT_PROCESSED`, `FRAUDULENT`, `DUPLICATE_CHARGE`, `PRODUCT_NOT_RECEIVED`, `PRODUCT_UNACCEPTABLE`, `UNRECOGNIZED_CHARGE`, `CANCELLED_PRODUCT`, `MISREPRESENTATION`, `COUNTERFEIT_PRODUCT`, `PROCESSING_ERRORS`, `AUTHORIZATION`, `NOT_RECOGNIZED`, `BANK_REJECTION`, `FUND_REVERSAL`, `CONSUMER_DISPUTE`, `POINT_OF_INTERACTION_ERROR` and `UNKNOWN`.
- `refunds` (array[object], optional)
  The Refunds of original payment.
  - `acquirer_reference_number` (string, optional)
    The acquirer reference number of Refund.
  - `id` (string, optional)
    Refund unique identifier.
- `stage` (string, optional)
  Payment Dispute stage. Possible values: `RFI`, `PRE_CHARGEBACK`, `CHARGEBACK`, `PRE_ARBITRATION`, `ARBITRATION`.
- `status` (string, optional)
  Payment Dispute status. Possible values:

  - **REQUIRES_RESPONSE**: In this status, you can decide whether to accept or challenge the Payment Dispute.
    - Applicable when receive notification from card schemes that Payment Dispute has entered `RFI`, `PRE_CHARGEBACK`, `CHARGEBACK`, or `PRE_ARBITRATION` stage.
  - **CHALLENGED**: In this status, we have informed the issuing bank that you would like to challenge the Payment Dispute.
    - Applicable when you challenge the Payment Dispute. At `PRE_CHARGEBACK` stage, the issuing bank will escalate to the chargeback stage in the following days. At `RFI`, `CHARGEBACK`, and `PRE_ARBITRATION` stage, the issuing bank will review your submitted evidence and decide whether to escalate the Payment Dispute or not.
  - **ACCEPTED**: In this status the Payment Dispute has been accepted and the payment will be refunded to the shopper.
    - Applicable when you accept the Payment Dispute at `RFI`, `PRE_CHARGEBACK`, `CHARGEBACK`, and `PRE_ARBITRATION` stage.
  - **REVERSED**: In this status, the Payment Dispute has been reversed by the issuing bank. No further action is required.
    - Applicable when receive notification from card schemes that Payment Dispute has been reversed at `PRE_CHARGEBACK`, `CHARGEBACK`, and `PRE_ARBITRATION` stage.
  - **WON**: In this status, the issuing bank has accepted the response provided, or card schemes have ruled the Payment Dispute decision in your favor. No further action is required.
    - Applicable at `CHARGEBACK`, `PRE_ARBITRATION` and `ARBITRATION` stage.
  - **LOST**: In this status, the issuing bank has not accepted the evidence provided by you, or card schemes have ruled the Payment Dispute decision in Issuer’s favor. No further action is required.
    - Applicable at `PRE_ARBITRATION` and `ARBITRATION` stage.
  - **PENDING_CLOSURE**: In this status, the issuing bank has escalated the Payment Dispute to `PRE_ARBITRATION` stage and Airwallex is reviewing the Payment Dispute. Airwallex will decide whether to accept the Payment Dispute or respond to it on your behalf and may reach out to you for more information.
    - Applicable at `PRE_ARBITRATION` stage.
  - **EXPIRED**: In this status, the `RFI` event has expired as you have not responded to the request within 15 days.
    - Applicable at `RFI` stage.
  - **PENDING_DECISION**: In this status, we have responded to the issuing bank with evidence provided by you. The issuing bank will review your submitted evidence and decide whether to accept the Payment Dispute or not.
    - Applicable at `PRE_ARBITRATION` and `ARBITRATION` stage.
- `transaction_type` (string, optional)
  The transaction type of the original transaction. Possible values: `PAYMENT`, `REFUND`.
- `updated_at` (string, format: date-time, optional)
  Last time at which this Payment Dispute was updated or operated on.

## Errors

### 400 Bad request

Bad Request. Possible error codes: `validation_error`

### 401 Unauthorized

Unauthorized. Possible error codes: `unauthorized`

### 403 Forbidden

Forbidden

### 404 Not found

Not Found. Possible error codes: `not_found`(invalid url)

### 500 Server error

Server Error. Possible error codes: `internal_error`
