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

# TimeoutCallback

The `TimeoutCallback` API call notifies that the payment session has
timed out due to inactivity or a failure to complete the expected flow
within a defined period.


## OpenAPI

````yaml /openapi/spark.yaml post /TimeoutCallback
openapi: 3.0.1
info:
  title: Nayax Spark API
  description: RemoteStart V2
  version: v2
servers:
  - url: https://{domain}/api
    variables:
      domain:
        default: nayax-spark-dmz.nayax.com
        description: >-
          Your Nayax-assigned domain (e.g., nayax-spark-dmz.nayax.com). Nayax
          provides a QA domain during sandbox onboarding and a production domain
          after certification.
security: []
tags:
  - name: Transactions
paths:
  /TimeoutCallback:
    post:
      tags:
        - Transactions
      summary: TimeoutCallback
      requestBody:
        description: The request payload containing details of the timed-out session.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimeoutCallbackRequest'
      responses:
        '200':
          description: Success. A simple 200 OK server acknowledgment is sufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeoutCallbackOutcome'
components:
  schemas:
    TimeoutCallbackRequest:
      type: object
      nullable: true
      description: >
        The request payload sent by Spark to a configured `TimeoutCallback`
        endpoint. This notification is sent when a payment session times out due
        to inactivity or failure to complete the flow within a set period.
      properties:
        TerminalId:
          type: string
          nullable: false
          description: |
            The identifier of the terminal that initiated the transaction.
        MachineId:
          type: integer
          format: int64
          description: |
            The unique ID of the vending machine or device.
        HwSerial:
          type: string
          nullable: false
          description: |
            The hardware serial number of the terminal.
        SparkTransactionId:
          type: string
          nullable: true
          description: >
            The unique Spark transaction identifier for the timed-out session.
            This ID should be used to reconcile or log the timeout event.
      example:
        TerminalId: '0434334921100366'
        MachineId: 71234996
        HwSerial: '0434334921100366'
        SparkTransactionId: 12c7cec2-c690-4425-9a1f-db0db60e2d8c
    TimeoutCallbackOutcome:
      type: object
      nullable: true
      description: >
        The response payload from the integrator to Nayax's `TimeoutCallback`,
        confirming the receipt of the timeout notification. This callback
        signals that a pre-authorized payment session has timed out due to
        inactivity.
      properties:
        SparkTransactionId:
          type: string
          nullable: true
          description: >
            The unique identifier for the Spark transaction that has timed out.
            This ID should be used to reconcile or log the timeout event.
        Status:
          $ref: '#/components/schemas/Status'
      example:
        SparkTransactionId: 12c7cec2-c690-4425-9a1f-db0db60e2d8c
        Status:
          Verdict: Approved
          ErrorDescription: No Errors
    Status:
      type: object
      nullable: false
      description: Transaction Status Details
      properties:
        Verdict:
          type: string
          nullable: false
          description: Status of the request (Approved / Declined)
        ErrorCode:
          type: integer
          format: int16
          nullable: true
          description: |
            - Conditional
            - Reason for declined request
        ErrorDescription:
          type: string
          nullable: true
          description: |
            - Conditional
            - Length: 255
            - Error description
        StatusMessage:
          type: string
          nullable: true
          description: |
            - Optional
            - Length: 255
            - Transaction status message as free text field

````