I received a response from Authorize.net. There he is:
Part of the confusion with transaction statuses is that the transaction status object is built from a similar object that we use internally and includes all possible transaction status in our system. Some of these statuses will in fact never be considered by you as an external developer. I checked our public knowledge base and confirmed that we currently do not have a good list of all transaction statuses, so I am working on creating one of them for you. I work with our internal developers to confirm some status details, and as soon as I can, I will respond with this list. I can answer your other questions right now.
Which of them is part of the "settled" party? ( settlementError AND settledSuccessfully ? JUST settledSuccessfully ?)
Inside Authorize.Net, all transactions are transferred to the batch when the transaction status is final. This is a significant difference in the definition of Authorize.Net authorization and the definition used by most trading service providers. Since all our reporting is organized in packages, it is important that all your transactions end up in the package.
Do recurring billing transactions ([documentation here] [2]) even show in settled batches?
Yes, transactions initiated by the Automated Rebilling (ARB) system are processed just like any other transaction after they have been created.
Is there no way to pull only “pending” transactions from allow, ignoring all the inappropriate error , declined , etc.? This seems necessary for repeated billing - because otherwise the application (instead of the transaction identifier) has no way to find out if there are problems with the subscription transaction until enough time has passed you can safely assume that it should have appeared in an established batch.
There is currently no way to pull only the list of successful unsolved transactions or pull only the transactions associated with a specific ARB subscription. We know about this restriction and have several ideas on how to solve it, but, unfortunately, the only reliable way to verify ARB transactions by 100% is to pull out the entire batch after settlement.
I am working on creating an official document to define these fields, but I thought I would post what I still have:
Basic Transaction Status
I do not think these statuses need further explanation, but let me know if I am wrong.
- authorized request - captPendingSettlement
- refundPendingSettlement
- settled successfully | - money back successfully - voided
- expired
- rejected
Fraud Detection Kit (FDS or AFDS)
Both of these statuses indicate that the transaction is pending manual review by the seller.
- FDSPendingReview
- FDSAuthorizedPendingReview
eCheck Special Answers
- underReview - Under a manual review, it will be approved or rejected.
- failedReview - the final status of a transaction that does not pass verification.
- returnItem - this will not appear in the original transaction, but eCheck returns its own transactions with this status.
Other bugs
- communicationError - a single transaction was rejected by the processor. This is the final transaction status.
- calculation Error - the processor was rejected for a day. This status is not final. The merchant should try to restore the party.
- General mistake. This is the status for all transaction statuses that are not otherwise defined.
Transitional Transaction Status
These transaction statuses occur only as the transaction is completed. They should not be returned by the transaction API.
- couldNotVoid
- approvedReview
Deprecated Statuses
These transaction statuses refer to services that we have not offered for more than 3 years. Since the seller account Authorize.Net only stores 2-3 years of history, you will not see these statuses that are actually returned in any normal operation.
- pendingFinalSettlement
- pendingSettlement
- updateSettlement
- chargeback
- chargebackReversal
- authorizedPendingRelease