Implement the tender finished callback
Implement the tender_finished_cb
, assign to the function pointer status_tender_final
. For more information on how to do this, see Implement callbacks with 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_DECLINED
, FINAL_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.