Handle the final state callback

Implement the tender finished callback

Implement the tender_finished_cb, assign to the function pointer status_tender_finalFor more information on how to do this, see Implement callbacks as part of a register_device_request

Callback

Finally, the system returns the tender_finished_cb callback that contains the final transaction result. Another transaction can only be started when the final transaction result is received.

Parameters

Name Description
final_strct Pointer to a final_strct struct that defines the final outcome of the transaction. For included parameters and more information, see the final_strct page.
ped_device_info Pointer to a ped_device_info struct that defines the status and details of the PED. For included parameters and more information, see the ped_device_info page.
echo_struct Pointer to a struct set by the POS in the device_callbacks struct is echoed back in this struct.

Transaction information is returned in the response_header struct.

The state is an enum of type TENDER_STATE and defines the final outcome of the transaction, it can be one of the following:

  • FINAL_STATE_APPROVED
  • FINAL_STATE_DECLINED
  • FINAL_STATE_CANCELLED
  • FINAL_STATE_ERROR

This is different from ped_result_code APPROVED.

The pos_result_code, an enum of type POS_RESULT_CODE, represents the response from the issuer. If the state is FINAL_STATE_DECLINEDFINAL_STATE_CANCELLED or FINAL_STATE_ERROR, additional information is available.  

Additional information might also be available in refusal_reason and/or error_message

As card approval is still required, the POS result code is not the final result of the transaction.