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

# Dispute Resolved

An event triggered when a dispute is resolved, regardless of the outcome.

**Event Data**

<ResponseField name="eventName" type="string">
  Event name: `order.dispute.resolved`.
</ResponseField>

<ResponseField name="eventId" type="string">
  Event ID. Use this ID to deduplicate re-delivered events.
</ResponseField>

<ResponseField name="timestamp" type="number">
  Event timestamp in [Epoch time](https://www.epoch101.com/), represented in milliseconds. Example: `1754307361396`.
</ResponseField>

<ResponseField name="sessionId" type="string">
  The [session ID](../introduction#session-id) of the player’s current session. Example: `345397c6-d963-4aa4-a0ba-2aaca6c3ee05`.
</ResponseField>

<ResponseField name="requestId" type="string">
  ID assigned by Appcharge to each request sent to the publisher. Helps the publisher identify and debug failed requests.
</ResponseField>

<ResponseField name="result" type="string">
  Event result. Supported values: `won`, `lost`.
</ResponseField>

<ResponseField name="reason" type="string">
  Reason for the event result. Example: `invalid_credentials`.
</ResponseField>

<ResponseField name="attributes" type="map<any,any>">
  A key-value map used to label events for tracking personas or tests. Example: `{ "persona":"non_payer", "blackFridayTest":"Base_group" }`
</ResponseField>

<ResponseField name="customer" type="object">
  Information about the player.

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Customer ID.
    </ResponseField>

    <ResponseField name="email" type="string">
      **Deprecated.** Player email address.
    </ResponseField>

    <ResponseField name="name" type="string">
      **Deprecated.** Reserved for the player's name in future versions.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="offer" type="object">
  Information about the offer.

  <Expandable title="properties">
    <ResponseField name="externalId" type="string">
      External ID of the offer as configured in the Publisher Dashboard.
    </ResponseField>

    <ResponseField name="type" type="string">
      Offer type.
    </ResponseField>

    <ResponseField name="subType" type="string">
      Offer subtype.
    </ResponseField>

    <ResponseField name="name" type="string">
      Offer name.
    </ResponseField>

    <ResponseField name="offerIndex" type="number">
      The index of the offer.
    </ResponseField>

    <ResponseField name="indexToCollect" type="number">
      **Deprecated.** Reserved for the index to collect in future versions.
    </ResponseField>

    <ResponseField name="tab" type="string">
      **Deprecated.** Reserved for the Publisher Dashboard tab name in future versions.
    </ResponseField>

    <ResponseField name="pricePoint" type="number">
      Price point of the offer in USD cents.
    </ResponseField>

    <ResponseField name="price" type="number">
      Price in lowest currency unit. For example, cents for USD, and whole yen for JPY. For a list of of supported currencies, their minor unit types, and applicable pricing limitations, see [Supported Currencies](/../../merchant-of-record/finance/supported-currencies#supported-currencies).
    </ResponseField>

    <ResponseField name="currencyCode" type="string">
      Currency code of the offer in [ISO\_4217](https://en.wikipedia.org/wiki/ISO_4217) format.
    </ResponseField>

    <ResponseField name="products" type="[object]">
      List of products in an offer.

      <Expandable title="properties">
        <ResponseField name="displayName" type="string">
          Display name of the product.
        </ResponseField>

        <ResponseField name="productExternalId" type="string">
          External ID of the product as configured in the Publisher Dashboard.
        </ResponseField>

        <ResponseField name="productQuantity" type="string">
          The quantity of the product. Must be a minimum 0 and equal to or less than 24 digits long.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="order" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Order ID.
    </ResponseField>

    <ResponseField name="orderType" type="string">
      Order type. Supported values: `Paid`, `Free`.
    </ResponseField>

    <ResponseField name="subtotal" type="int">
      Total order amount in the player's local currency, excluding taxes and discounts.
    </ResponseField>

    <ResponseField name="discountAmount" type="int">
      Discount amount calculated on the tax-exclusive price, in USD cents. Always negative, representing a reduction. Example: `-7770`
    </ResponseField>

    <ResponseField name="totalPayment" type="int">
      Total amount paid by the player, including discounts and taxes in the player's local currency.
    </ResponseField>

    <ResponseField name="taxAmount" type="int">
      Tax amount in the player's local currency.
    </ResponseField>

    <ResponseField name="currencyCode" type="string">
      Currency code in [ISO\_4217](https://en.wikipedia.org/wiki/ISO_4217) format.
    </ResponseField>

    <ResponseField name="currencySymbol" type="string">
      Currency symbol.
    </ResponseField>

    <ResponseField name="paymentMethod" type="string">
      Payment method used for the order.
    </ResponseField>

    <ResponseField name="pricePointMetadata" type="number">
      The price point in USD cents. Example: `77700`.
    </ResponseField>

    <ResponseField name="isSavedPaymentMethodUsed" type="boolean">
      Whether a player attempted to pay using a saved payment method.
    </ResponseField>

    <ResponseField name="isNewPaymentMethodSaved" type="boolean">
      Whether a player attempted to save a new payment method in the checkout.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="storeMetadata" type="object">
  <Expandable title="properties">
    <ResponseField name="offersSequenceIndex" type="number">
      Index of the sub-offer within an offer.
    </ResponseField>

    <ResponseField name="offerType" type="string">
      Offer type.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="coupon" type="object">
  Information about the coupon.

  <Expandable title="properties">
    <ResponseField name="name" type="string">
      Coupon name.
    </ResponseField>

    <ResponseField name="promoCodeName" type="string">
      Promo code name.
    </ResponseField>

    <ResponseField name="discount" type="float">
      Discount amount calculated on the tax-exclusive price, in USD cents. Always negative, representing a reduction. Example: `-7770`
    </ResponseField>

    <ResponseField name="discountPercentage" type="float">
      Discount percentage.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="device" type="object">
  Information about the player's device.

  <Expandable title="properties">
    <ResponseField name="platform" type="string">
      Device platform. Currently returns `null`.
    </ResponseField>

    <ResponseField name="deviceModel" type="string">
      Device model. Currently returns `null`.
    </ResponseField>

    <ResponseField name="osType" type="string">
      Operating system type. Example: `Android`.
    </ResponseField>

    <ResponseField name="osVersion" type="string">
      Operating system version. Example: `18`.
    </ResponseField>

    <ResponseField name="browserType" type="string">
      Browser type. Example: `Google Chrome`.
    </ResponseField>

    <ResponseField name="browserVersion" type="string">
      Browser version. Example: `138`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="geolocation" type="object">
  Information about the player's geolocation.

  <Expandable title="properties">
    <ResponseField name="countryCode2" type="enum">
      Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Example: `US`
    </ResponseField>

    <ResponseField name="region" type="string">
      **Deprecated.** Region or state.
    </ResponseField>

    <ResponseField name="ipAddress" type="string">
      **Deprecated.** IP address in [IPv4](https://en.wikipedia.org/wiki/IPv4) format. Example: `80.178.249.122`.
    </ResponseField>

    <ResponseField name="zipCode" type="string">
      **Deprecated.** Zip code.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="transactions" type="[object]">
  Information about each transaction.

  <Expandable title="properties">
    <ResponseField name="purchaseId" type="string">
      Purchase ID.
    </ResponseField>

    <ResponseField name="type" type="string">
      Transaction type.
    </ResponseField>

    <ResponseField name="timestamp" type="number">
      Transaction timestamp in [Epoch time](https://www.epoch101.com/). Example: `1754307361396`.
    </ResponseField>

    <ResponseField name="amount" type="number">
      Transaction amount in the player's local currency.
    </ResponseField>

    <ResponseField name="amountUsd" type="number">
      Transaction amount in USD cents. Example: `76136`.
    </ResponseField>

    <ResponseField name="totalTaxAmount" type="number">
      Tax amount in the player's local currency.
    </ResponseField>

    <ResponseField name="totalTaxAmountUsd" type="number">
      Tax amount in USD cents. Example: `6206`.
    </ResponseField>

    <ResponseField name="currencyExchangeCostUsd" type="number">
      Currency exchange fee in USD cents.
    </ResponseField>

    <ResponseField name="chargeBackFeeUsd" type="number">
      Chargeback fee in USD cents. Example: `20`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="sessionMetadata" type="any">
  Session metadata for passing data to Appcharge to be returned later.
</ResponseField>

<ResponseExample>
  ```json Event Payload theme={"system"}
  {
    "eventName": "order.dispute.resolved",
    "eventId": "3f5bffbc-369e-4599-8c4d-abfe0ae0ef96",
    "timestamp": 1754307361396,
    "sessionId": "345397c6-d963-4aa4-a0ba-2aaca6c3ee05",
    "requestId": "23539478-c744-566a-c78c-c4cc7763ff62",
    "result": "won",
    "reason": "invalid_credentials",
    "attributes": {
      "persona": "non_payer",
      "blackFridayTest": "Base_group"
    },
    "customer": {
      "id": "671e81bb-55ef-428b-97ba-f67783971e0d",
      "name": null,
      "email": null
    },
    "offer": {
      "externalId": "22ae81bb-55ef-428b-97ba-f67783971e4a",
      "type": "PopUp",
      "subType": "DailyBonus",
      "name": "Spring Is Here",
      "offerIndex": 1,
      "indexToCollect": 1,
      "tab": "Tab 1",
      "pricePoint": 77700,
      "price": 77700,
      "currencyCode": "USD",
      "products": [
        {
          "displayName": "Gold Coins",
          "productExternalId": "31ae81bb-55ef-428b-97ba-f67783971e553",
          "productQuantity": "1000"
        },
        {
          "displayName": "Silver Shield",
          "productExternalId": "9af1abb-55ef-428b-97ba-f677839716ac9",
          "productQuantity": "40"
        }
      ]
    },
    "order": {
      "id": "695b72ff0e34d3a514b6eda0",
      "orderType": "Paid",
      "subtotal": 77700,
      "discountAmount": -7770,
      "totalPayment": 76136,
      "taxAmount": 6206,
      "currencyCode": "USD",
      "currencySymbol": "$",
      "paymentMethod": "Credit Card",
      "isSavedPaymentMethodUsed": true,
      "isNewPaymentMethodSaved": true,
      "pricePointMetadata": 77700
    },
    "coupon": {
      "name": "Birthday Promo",
      "promoCodeName": "BIRTHDAY10",
      "discount": -7770,
      "discountPercentage": 10
    },
    "storeMetadata": {
      "offerType": "Bundle",
      "offersSequenceIndex": 1
    },
    "device": {
      "platform": null,
      "deviceModel": null,
      "osType": "Apple",
      "osVersion": "18",
      "browserType": "Google Chrome",
      "browserVersion": "138"
    },
    "geolocation": {
      "countryCode2": "US",
      "region": null,
      "ipAddress": null,
      "zipCode": null
    },
    "transactions": [
      {
        "purchaseId": "pr_68d67720ad014759b3160a6ba82dbc59",
        "type": "paid",
        "timestamp": 1771231549913,
        "amount": 1550,
        "amountUsd": 1550,
        "totalTaxAmount": 236,
        "totalTaxAmountUsd": 236,
        "currencyExchangeCostUsd": 0,
        "chargeBackFeeUsd": 0
      },
      {
        "purchaseId": "pr_68d67720ad014759b3160a6ba82dbc59",
        "type": "dispute_funds_withdrawn",
        "timestamp": 1771231626684,
        "amount": -1550,
        "amountUsd": -1550,
        "totalTaxAmount": -236,
        "totalTaxAmountUsd": -236,
        "currencyExchangeCostUsd": 0,
        "chargeBackFeeUsd": 1000
      },
      {
        "purchaseId": "pr_68d67720ad014759b3160a6ba82dbc59",
        "type": "dispute_funds_reinstated",
        "timestamp": 1771231627252,
        "amount": 1550,
        "amountUsd": 1550,
        "totalTaxAmount": 236,
        "totalTaxAmountUsd": 236,
        "currencyExchangeCostUsd": 0,
        "chargeBackFeeUsd": 0
      }
    ],
    "sessionMetadata": { "abTest": "group1", "locale": "en-US" }
  }
  ```
</ResponseExample>
