This scenario occurs when the cash register looses connection with the Payment terminal, and does not receive the final result for a transaction.
- The cash register starts a transaction.
- The create tender callback is returned and provides the tender reference.
- If the connection with the Payment terminal is lost, the library fires the PED Exception callback with tender state: Unknown.
- The cash register queries the payment terminal for it’s state.
- The terminal returns the
PedStateChangecallback to provide its latest state.
- If the payment terminal returns ped_state_undetected or ped_state_not_ready , a message “Check the payment terminal ” should be presented on the Cash register. The payment terminal may be busy with: rebooting, downloading a config, operating in the admin menu, etc. The cashier can decide to retry to get the final state or to cancel the transaction.
- If the payment terminal sends back ped_state_ready_for_transaction; the cash register checks the final result of the transaction in the TxStore report.
Query the TxStore report
- The Cash register calls the method
TxStoreReportcallback is returned with the TxStore object which contains the final state of the referenced transaction.
Cancel or refund
If the cash register fails to get final state after these steps:
- Initiate a
CancelOrRefundcall to the Adyen backend.
- The final status of this request for a refund will be reported by Adyen’s notifications directly to the Merchant’s backend.