This guide will be removed on April 29, 2022. Please use our new, easier-to-use Toast technical documentation site. All updated content is on the new site.

Error handling

Your tender interface implementation must return the following HTTPS responses to the requests that it receives from the Toast POS system.

200 means OK and has pre-defined success status in the response

  • ACCEPT - The tender service provider processed the transaction successfully.

400 means a bad request. The transactionStatus value of the TenderTransactionResponse object is one of:

  • ERROR_INVALID_TOAST_TRANSACTION_TYPE - Your implementation does not handle the transaction type supplied in the request. Return this response when the request transaction type is defined by the tender API but you decided not to support it.

  • ERROR_INVALID_INPUT_PROPERTIES - The JSON values specified in the tenderTransaction object in the request body do not match the requirements of the transaction type.

  • ERROR_INVALID_TOKEN - The authentication token supplied in the Authorization header parameter is invalid or cannot be validated. For information about request authentication, see Authenticating outbound API requests.

  • ERROR_INVALID_RESTAURANT - The restaurant identifier included in the Toast-Restaurant-External-ID header parameter of the request is not recognized by the tender provider integration implementation. You receive the identifiers for your connected restaurants when implementing the tender API.

  • ERROR_TRANSACTION_DOES_NOT_EXIST - The reverse request, specified by a TENDER_REVERSE, is for a transaction that does not exist."

  • ERROR_TRANSACTION_CANNOT_BE_REVERSED - The transaction specified by a TENDER_REVERSE request cannot be reversed.

  • ERROR_ACCOUNT_INVALID - The tender identifier is not in the set of identifiers that correspond to the current restaurant. For example, if a guest account is entered incorrectly, your implementation returns this status.

  • ERROR_INSUFFICIENT_FUNDS - The tender account does not have sufficient payment to make a payment or tit specified in a TENDER_RETRIEVE_PAYMENTS or TENDER_RETRIEVE_GRATUITY.

  • ERROR_UNABLE_TO_PROCESS - The transaction cannot be processed by the partner. This can be due to an issue that occurred on the partner's end.

500 means Internal Server Error