In cases where I need to cancel an order, I need to know whether to void or refund the transaction.  I'm trying to learn whether the transaction has settled using the Transaction Details API. 
transactionDetailsResponse.transaction.transactionStatus seems like it might be the right thing to look at. Does anyone know what the possible values are for transactionStatus.  At this point, I'm only in the sandbox where there is only one value, capturedPendingSettlement.
Do transaction in the sandbox settle?
That is the right place to look. The possible values for that field are:

uthorizedPendingCapture
capturedPendingSettlement
communicationError
refundSettledSuccessfully
refundPendingSettlement
approvedReview
declined
couldNotVoid
expired
generalError
failedReview
settledSuccessfully
settlementError
underReview
voided
FDSPendingReview
FDSAuthorizedPendingReview
returnedItem

Items in the sandbox do settle.
How can I tell if an authorize.net transaction has settled?