# Dispute

When a new dispute is opened or a dispute changes its status, Xsolla sends a webhook with the dispute type to the webhook URL. To receive this webhook, contact your Customer Success Manager or email csm@xsolla.com.

Endpoint: POST dispute
Version: 1.0

## Request fields (application/json):

  - `notification_type` (string, required)
    Notification type.

  - `action` (string, required)
    Action type.
    Enum: "adding", "updating"

  - `transaction` (object, required)
    Object with information about the transaction.

  - `transaction.id` (integer, required)
    Transaction ID.

  - `transaction.external_id` (string)
    Transaction external ID. Refer to the [FAQs](/doc/pay-station/references/faq/#faq_payments_q_new_transaction_external_id) for detailed information.

  - `transaction.date_create` (string, required)
    Payment date.

  - `transaction.total` (object, required)
    Object with information about transaction amount.

  - `transaction.total.amount` (number, required)
    Payment amount.

  - `transaction.total.currency` (string, required)
    Currency. Three-letter currency code per [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).

  - `transaction.payment_method` (string, required)
    Payment method.
    Enum: "credit_debit_card", "paypal"

  - `transaction.country_code` (string, required)
    User’s country. Two-letter uppercase [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.

  - `settings` (object, required)
    Object with information about custom project settings.

  - `settings.project_id` (integer, required)
    Project ID. You can find this parameter in your [Publisher Account](https://publisher.xsolla.com/) next to the name of the project.

  - `settings.merchant_id` (integer, required)
    Merchant ID.

  - `user` (object, required)
    Object with information about a user.

  - `user.id` (string, required)
    User ID.

  - `user.email` (string)
    User email.

  - `dispute` (object, required)
    Object with information about the dispute.

  - `dispute.incoming_date` (string, required)
    Date of the dispute opening according to the [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) standard.

  - `dispute.reason` (string, required)
    Reason for opening the dispute. Refer to [documentation](/payment-ui-and-flow/anti-fraud/chargeback/#payments_chargeback_reasons) for description of groups of reasons.
    Enum: "non_receipt", "not_as_described", "duplicate_processing", "paid_by_other_means", "incorrect_amount", "credit_not_processed", "general", "fraud", "cancelled_recurring", "cancelled_merchandise", "late_presentment", "no_authorization", "problem_with_remittance", "other"

  - `dispute.type` (string, required)
    Dispute type.
    Enum: "1st_time_chargeback", "2nd_time_chargeback", "arbitration", "retrieval", "representment", "chargeback_reversal", "representment_reversal", "reimbursement", "dispute", "chargeback", "claim", "reimbursement_reversal", "inquiry", "other"

  - `dispute.status` (string, required)
    Dispute status.
    Enum: "new", "accepted", "no_actions_required", "won", "lost"

## Response 400 fields (application/json):

  - `error` (object)

  - `error.code` (string)

  - `error.message` (string)


## Response 204 fields

## Response 500 fields
