--- title: "Handle progress events" url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/c-library-integration/key-steps-c-library/process-a-basic-transaction-c-library/handle-progress-events-c-library" source_url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/c-library-integration/key-steps-c-library/process-a-basic-transaction-c-library/handle-progress-events-c-library.md" canonical: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/c-library-integration/key-steps-c-library/process-a-basic-transaction-c-library/handle-progress-events-c-library" last_modified: "2026-05-24T12:54:31+02:00" language: "en" --- # Handle progress events [View source](/point-of-sale/classic-library-deprecation/classic-library-integrations/c-library-integration/key-steps-c-library/process-a-basic-transaction-c-library/handle-progress-events-c-library.md) ## Implement the callback Implement the `tender_progress_CB` and assign to the function pointer `status_tender_progress`. For more information on how to do this, see [Implement callbacks with register\_device\_request](/point-of-sale/classic-library-deprecation/classic-library-integrations/c-library-integration/calls-and-callbacks-c-library/implement-callbacks-with-register_device_request). ### Code example The declaration of the progress callback is: ```cpp void tender_progress_CB(response_header * response_header, ped_device_info *, void * echo_struct) ``` ## Handle the tender progress callback The `progress_callback` provides additional information during the transaction regarding the progress of the transaction.  The tender progress callback reports progress events. The PED returns event information to the cash register. Progress events do not require any action by the cash register. They They inform the staff and the shopper of what is happening on the PED. They may occur in any order, or may not occur at all. Do not use the progress callback for state machine flow or functional processing. ### Parameters | Name | Description | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `ped_device_info` | A pointer to a `ped_device_info` struct that defines the status and details of the PED. | | `response_header` | For a description of the `response_header`, see [additional data callback.](/point-of-sale/classic-library-deprecation/classic-library-integrations/c-library-integration/key-steps-c-library/process-a-basic-transaction-c-library/handle-the-additional-data-callback-c-library)The `response_header` indicates the progress state of the transaction in the state data element, which is an enum of type `TENDER_STATE`. Additional information might be provided in the `additional_data_struct` struct. |