Skip to main content
WEBHOOK
order.dispute.updated
{
  "event": "order.dispute.updated",
  "payload": {
    "dispute": {
      "id": 123,
      "orderable_type": "account_order",
      "orderable_id": 123,
      "buyer_id": 123,
      "status": "waiting_for_seller",
      "progress_path": "waiting_for_seller",
      "reason": "account_not_as_described",
      "explanation": "<string>",
      "preferred_resolution": "other",
      "preferred_resolution_note": "<string>",
      "escalation_reason": "seller_requested",
      "closure_reason": "seller_accepted",
      "outcome": "refund",
      "seller_response_due_at": 123,
      "buyer_response_due_at": 123,
      "active_due_at": 123,
      "is_active_deadline_expired": true,
      "dispute_timing_hours": 123,
      "locked_at": 123,
      "closed_at": 123,
      "created_at": 123,
      "updated_at": 123
    },
    "event": {
      "id": 123,
      "type": "dispute_created",
      "actor_id": 123,
      "actor_username": "<string>",
      "payload": {},
      "evidence_urls": [
        "<string>"
      ],
      "created_at": 123
    }
  }
}
{
  "status": "success"
}
Learn more about how GameBoost handles webhooks.

Headers

Signature
string
required

HMAC-SHA256 signature of the request body using your webhook secret. Verify this to ensure the webhook is from GameBoost.

Example:

"417142a6b1c6e..."

User-Agent
string
required

The user agent of the request. Must be "GameBoost Server".

Example:

"GameBoost Server"

Body

application/json

Webhook payload dispatched every time a dispute progresses (new event, counter, escalation, resolution, closure).

event
enum<string>
required

Event type identifier

Available options:
order.dispute.updated
payload
object
required

Current dispute case state plus the event that triggered this webhook.

Response

Webhook received successfully. Return 200 to acknowledge receipt.

status
string
Example:

"success"