# Account details payment state change

Triggered every time a pay-in is made into the specified account details.
* Event type: `account-details-payment#state-change`
* Profile level subscriptions: Supported
* Application level subscriptions: Supported

Events may not be delivered in the order they occurred. Use `data.occurred_at` to reconcile the order.
See the [Event ordering guide](/guides/developer/webhooks/event-ordering) for details.
See the [Webhooks guide](/guides/developer/webhooks) for setup instructions, signature verification, and best practices.

Endpoint: POST account-details-payment#state-change

## Header parameters:

  - `X-Signature-SHA256` (string)
    RSA-SHA256 signature of the request body, Base64 encoded. Verify this against the [Wise public key](/guides/developer/webhooks/event-handling#requests) to ensure the request is authentic and has not been tampered with.

  - `X-Delivery-Id` (string)
    Unique identifier for this webhook delivery attempt.

  - `X-Test-Notification` (boolean)
    Present with the value `true` if this is a test notification sent to verify your callback URL during subscription setup.

## Request fields (application/json):

  - `schema_version` (string)
    Version of the event schema. Determined by the `schema_version` on your [webhook subscription](/api-reference/webhook).
    Enum: "4.0.0"

  - `subscription_id` (string)
    ID of the webhook subscription that triggered this event.
    Example: 36c3f762-560d-4f07-84f9-5d8a3cacabbb

  - `event_type` (string)
    Event type identifier
    Example: account-details-payment#state-change

  - `sent_at` (string)
    Timestamp when the event was sent.
    Example: 2024-01-01T12:34:56.123Z

  - `data` (object)

  - `data.resource` (object)

  - `data.resource.id` (integer)
    Balance ID which is linked to the account detail.
    Example: 12345

  - `data.resource.profile_id` (integer)
    ID of the profile that owns the payment.
    Example: 1

  - `data.resource.type` (string)
    Type of the resource
    Example: balance-account

  - `data.account_details_id` (string)
    Account detail ID where the pay-in was received.
    Example: 1

  - `data.target_account_id` (string)
    Balance ID which is linked to the account detail.
    Example: 12345

  - `data.transfer` (object)

  - `data.transfer.id` (integer)
    ID of the incoming transfer
    Example: 36454

  - `data.transfer.type` (string)
    Type of the transfer
    Example: credit

  - `data.transfer.amount` (number)
    Transfer amount
    Example: 120

  - `data.transfer.currency` (string)
    Currency code
    Example: EUR

  - `data.sender` (object)

  - `data.sender.name` (string)
    Sender name
    Example: Test Sender

  - `data.sender.account_number` (string)
    Sender account number
    Example: 12345678

  - `data.sender.bank_code` (string)
    Sender bank code
    Example: TESTBANK

  - `data.sender.address` (string)
    Sender address
    Example: Test Address

  - `data.current_state` (string)
    Current state of the payment
    Enum: "PROCESSING", "COMPLETED", "CANCELLED", "REFUNDED"

  - `data.previous_state` (string)
    Previous state of the payment
    Enum: "PROCESSING", "COMPLETED", "CANCELLED", "REFUNDED"

  - `data.occurred_at` (string)
    Timestamp when the event occurred.
    Example: 2026-02-24T11:10:13.789Z

## Response 200 fields (application/json):

  - `status` (string)
    Example: ok

