# Chargeback alert webhook

> Reports a chargeback alert and its associated transaction details.

```yaml
openapi: 3.1.0
info:
  title: Chargeback alert webhook
  version: 1.0.0
  description: Reports a chargeback alert and its associated transaction details.
webhooks:
  chargeback.alert.created:
    post:
      summary: Chargeback alert webhook
      description: Reports a chargeback alert and its associated transaction details.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                notifyType:
                  type: string
                  description: Notification type, fixed to `PRE_DISPUTE`.
                  enum:
                    - PRE_DISPUTE
                  x-enum-descriptions:
                    PRE_DISPUTE: Chargeback alert.
                  x-onerway-signature-participation: included
                transactionId:
                  type: string
                  description: Onerway alert ID, identical to `predisputeId`. This is not the
                    original payment transaction ID.
                  x-onerway-signature-participation: included
                merchantNo:
                  type: string
                  description: Merchant number assigned by Onerway.
                  x-onerway-signature-participation: included
                predisputeId:
                  type: string
                  description: Unique ID of the chargeback alert. Return this value unchanged in
                    the acknowledgement body.
                  x-onerway-signature-participation: included
                timeZone:
                  type: string
                  description: Time zone offset reported with the notification. This field may be
                    absent.
                  x-onerway-signature-participation: included
                service:
                  type: string
                  description: Alert service. Returned when service visibility is enabled for the
                    merchant and the value is available; otherwise it may be
                    absent.
                  x-onerway-signature-participation: included
                type:
                  type: string
                  description: Alert type. Returned when type visibility is enabled for the
                    merchant and the value is available; otherwise it may be
                    absent.
                  x-onerway-signature-participation: included
                createdTime:
                  type: string
                  description: Time when the alert was raised, in `yyyy-MM-dd HH:mm:ss` format.
                  x-onerway-signature-participation: included
                receivedTime:
                  type: string
                  description: Time when the alert was successfully matched to a transaction, in
                    `yyyy-MM-dd HH:mm:ss` format. This field may be absent if no
                    matching time is available.
                  x-onerway-signature-participation: included
                amount:
                  type: string
                  description: Alert refund amount in `currency`, expressed as a decimal string
                    with two decimal places. Uses the remaining refundable
                    amount when available; otherwise uses the alert amount. It
                    may differ from `orderAmount`.
                  x-onerway-signature-participation: included
                currency:
                  type: string
                  description: "Currency of `amount`: the currency of the alert refund amount when
                    available, otherwise the alert currency."
                  x-onerway-signature-participation: included
                source:
                  type: string
                  description: Party that raised the alert. This field may be absent when
                    unavailable.
                  x-onerway-signature-participation: included
                reasonCode:
                  type: string
                  description: Reason code for the alert. This field may be absent when
                    unavailable.
                  x-onerway-signature-participation: included
                txnId:
                  type: string
                  description: Original Onerway payment transaction ID. This field may be absent
                    when the original transaction details are unavailable.
                  x-onerway-signature-participation: included
                merchantTxnId:
                  type: string
                  description: Merchant order number of the original payment. This field may be
                    absent when the original transaction details are
                    unavailable.
                  x-onerway-signature-participation: included
                txnTime:
                  type: string
                  description: Creation time of the original transaction, in `yyyy-MM-dd HH:mm:ss`
                    format. This field may be absent when the original
                    transaction details are unavailable.
                  x-onerway-signature-participation: included
                orderAmount:
                  type: string
                  description: Original order amount in `orderCurrency`, expressed as a decimal
                    string with two decimal places. This field may be absent
                    when the original transaction details are unavailable.
                  x-onerway-signature-participation: included
                orderCurrency:
                  type: string
                  description: Currency of the original order amount. This field may be absent
                    when the original transaction details are unavailable.
                  x-onerway-signature-participation: included
                paymentMethod:
                  type: string
                  description: Payment method or card brand of the original transaction. This
                    field may be absent when the original transaction details
                    are unavailable.
                  x-onerway-signature-participation: included
                eci:
                  type: string
                  description: Electronic Commerce Indicator (ECI) of the original transaction.
                    This field may be absent when the original transaction
                    details are unavailable.
                  x-onerway-signature-participation: included
                website:
                  type: string
                  description: Website where the cardholder made the original transaction. This
                    field may be absent when the original transaction details
                    are unavailable.
                  x-onerway-signature-participation: included
                email:
                  type: string
                  description: Email address associated with the original transaction. This field
                    may be absent when the original transaction details are
                    unavailable.
                  x-onerway-signature-participation: included
                chargebackStatus:
                  type: string
                  description: Whether the matched transaction has a chargeback. This field may be
                    absent when unavailable; it is not a chargeback lifecycle
                    status.
                  enum:
                    - "0"
                    - "1"
                  x-enum-descriptions:
                    "0": No chargeback.
                    "1": Has a chargeback.
                  x-onerway-signature-participation: included
                refundStatus:
                  type: string
                  description: Refund status of the matched transaction. This field may be absent
                    when unavailable.
                  enum:
                    - "0"
                    - "1"
                    - "2"
                  x-enum-descriptions:
                    "0": Not refunded.
                    "1": Fully refunded.
                    "2": Partially refunded.
                  x-onerway-signature-participation: included
                sign:
                  type: string
                  description: Signature included in the notification body. This field is excluded
                    from signature calculation. Verify the notification using
                    the `X-Rh-Signature` header as described in the signing
                    guide.
                  x-onerway-signature-participation: signature-field
            examples:
              pre_dispute_default:
                summary: Chargeback alert
                value:
                  notifyType: PRE_DISPUTE
                  transactionId: example_predispute
                  merchantNo: example_merchant
                  predisputeId: example_predispute
                  type: customerdispute_alert
                  createdTime: 2026-09-17 22:59:37
                  receivedTime: 2026-09-17 22:59:40
                  amount: "10.00"
                  currency: USD
                  txnId: example_payment
                  merchantTxnId: example_order
                  txnTime: 2026-07-27 18:10:59
                  orderAmount: "11.00"
                  orderCurrency: USD
                  paymentMethod: VISA
                  chargebackStatus: "0"
                  refundStatus: "2"
                  eci: "5"
                  website: example.com
                  email: buyer@example.com
                  sign: replace_with_signature
      responses:
        "200":
          description: After accepting the notification, return HTTP 200 with the received
            `predisputeId` unchanged in the response body. Do not add JSON
            quotes, whitespace, or a newline. An empty response or a different
            ID is not accepted. On failure or an invalid response, Onerway
            retries every 30 minutes, up to 2 times.
          content:
            text/plain:
              schema:
                type: string
              examples:
                return_predispute_id:
                  summary: Return predisputeId
                  description: Return the received `predisputeId` unchanged. Do not return the
                    fixed example value.
                  value: example_predispute
```
