Commerce Web Services
Transaction Reporting – Transactions and Capture States
All transactions received for processing by CWS are assigned a TransactionState
in the transaction database. When capturing a batch of transactions, each transaction is assigned a CaptureState
and the TransactionState
is updated according to the current CaptureState
of the batch.
All transactions processed by CWS are assigned a transaction state in the transaction database. When capturing a batch of transactions, each transaction will also be assigned a capture state and the transaction state is updated according to the current capture state of the batch.
TransactionState
is an enumeration object that identifies the current status of each transaction in a batch. The valid enumeration values and descriptions for each TransactionState
are listed below.
Transaction State | Description |
---|---|
Adjusted | The original transaction was successfully authorized and the amount subsequently successfully adjusted. |
Authorized | The original transaction was successfully authorized. The transaction has not yet been captured. |
Captured | The transaction was successfully captured. |
CaptureDeclined | An attempt to capture the transaction was declined by the service provider. |
Declined | The original transaction was successfully transmitted but declined by the service. |
ErrorConnecting | There was a connection error during the processing of this transaction. |
ErrorUnknown | An unknown error occured during the processing of this error. |
ErrorValidation | There was a validation error on the transaction request message. |
InProcess | Transaction is in process.
Note: There is no associated CaptureState for InProcess transactions. |
PartiallyCaptured | The transaction was captured with the expectation that another capture may be attempted. |
PartiallyReturned | A successfully captured transaction was returned for less than the captured amount. The return has been captured. |
PartialReturnRequested | A successfully captured transaction was returned for less than the captured amount. The return has not yet been captured. |
Returned | Either the original transaction was a standalone return (ReturnUnlinked ), or a successfully captured transaction (ReturnById ) was subsequently returned for the full amount. The return has been captured. |
ReturnRequested | Either the original transaction was a standalone return (ReturnUnlinked ), or a successfully captured transaction was subsequently returned (ReturnById ) for the full amount. The return has not yet been captured. |
ReturnUndone | A standalone return (ReturnUnlinked ) or a return of a successfully captured transaction (ReturnById ) was voided. |
Undone | The transaction was completely voided or reversed. |
Verified | A verify transaction was successfully run. Check response for details. |
TransactionState
, refer to the QueryTransactionsParameters and TransactionInformation objects in the CWS Transaction Management Developer's Guide.When capturing a batch of transactions, each transaction is assigned a capture state and the transaction state is updated according to the current capture state of the batch.
CaptureState
is an enumeration object that identifies the current capture status of each transaction in a batch. The valid enumeration values and descriptions for each CaptureState
are listed below.
Capture State | Description |
---|---|
BatchSent | Batch has been sent, response is out of band. |
BatchSentUndoPermitted | Batch has been sent, an Undo operation is allowed. |
CannotCapture | Transaction cannot be captured due to declined authorization or subsequent Undo of a successful authorization. |
Captured | The transaction was successfully captured. |
CaptureDeclined | Capture was successfully submitted but declined by the service. |
CapturedUndoPermitted | Indicates if an Undo is permitted for the Captured state. |
CaptureError | Indicates an error state during capture. |
CapturePending | Successfully transmitted capture but it is not yet known whether the processor accepted it. Future Use. |
CapturePendingUndoPermitted | Indicates if an Undo is permitted for the CapturePending state.
Future Use. |
CaptureUnknown | Unknown capture state. |
InProcess | The capture is in process.
Note: The TransactionState may be any of the following: |
ReadyForCapture | Successfully authorized but capture not requested. |
UndoReported | Undo transaction has been captured by a CaptureAll . Presented as CannotCapture. |
CaptureState
, refer to Expected States - ACH, and Expected States - BCP.
Additional information can be found in the QueryTransactionsParameters and TransactionInformation objects in the CWS Transaction Management Developer's Guide.The following table lists the transaction and capture states returned when processing Bankcard Credit/PIN Debit transactions on both Terminal and Host Capture systems.
AuthorizeAndCapture
operation should always be used for PIN Debit transactions on both Host and Terminal Capture systems. PIN Debit transactions are automatically captured for settlement even if they are not specifically captured using CaptureAll
, while Credit transactions must be captured for settlement to ensure the proper funding of transactions.Operation | Provider Type | Transaction Class | Transaction State | Capture State |
---|---|---|---|---|
AuthorizeAndCapture | Host Capture | PIN Debit | Authorized | CapturedUndoPermitted |
Credit | Authorized | Captured | ||
Terminal Capture | PIN Debit | Authorized | CapturedUndoPermitted | |
Credit | N/AInvalid transaction. Use
Authorize |
N/AInvalid transaction. Use
Authorize |
||
Authorize | Host Capture | PIN Debit | N/AInvalid transaction. Use
AuthorizeAndCapture |
N/AInvalid transaction. Use
AuthorizeAndCapture |
Credit | Authorized | ReadyForCapture(Undo allowed) |
||
Terminal Capture | PIN Debit | N/AInvalid transaction. Use AuthorizeAndCapture |
N/AInvalid transaction. Use AuthorizeAndCapture |
|
Credit | Authorized | ReadyForCapture(Undo allowed) |
||
Adjust | Host Capture | PIN Debit | N/AInvalid transaction for PIN Debit. | N/AInvalid transaction for PIN Debit. |
Credit | Adjusted | Captured(Undo not allowed) |
||
Terminal Capture | PIN Debit | N/AInvalid transaction for PIN Debit. | N/AInvalid transaction for PIN Debit. | |
Credit | Adjusted | ReadyForCapture(Undo allowed) |
||
ReturnById
,ReturnUnlinked |
Host Capture | PIN Debit | Returned | CapturedUndoPermitted |
Credit | Returned | Captured(Undo not allowed) |
||
Terminal Capture | PIN Debit | Returned | CapturedUndoPermitted | |
Credit | Returned | ReadyForCapture(Undo allowed) |
||
Undo | Host Capture | PIN Debit | Undone | CannotCapture
Note: When CaptureAll is supported, Undo totals are reported back to the client, but will not be sent on BatchRelease to the service provider. |
Credit | Undone | CannotCapture
Note: When CaptureAll is supported, Undo totals are reported back to the client, but will not be sent on BatchRelease to the service provider. |
||
Terminal Capture | PIN Debit | Undone | CannotCapture
Note: When CaptureAll is called, Undo totals are reported back to the client, but will not be sent on Batch to the service provider. |
|
Credit | Undone | CannotCapture
Note: When CaptureAll is called, Undo totals are reported back to the client, but will not be sent on Batch to the service provider. |
||
Capture | Host Capture | PIN Debit | N/AInvalid transaction. Use AuthorizeAndCapture . |
|
Credit | Captured | |||
Terminal Capture | PIN Debit | N/AInvalid transaction. Use AuthorizeAndCapture . |
||
Credit | N/AInvalid transaction. Use AuthorizeAndCapture . |
|||
CaptureAll
Note: CaptureAll is only supported on Host Capture systems that support BatchRelease. |
Host Capture | PIN Debit | N/AInvalid transaction. Use AuthorizeAndCapture . |
|
Credit | Captured | |||
Terminal Capture | PIN Debit | N/AInvalid transaction. Use AuthorizeAndCapture . |
||
Credit | Captured | Captured |
TransactionState
, refer to Payment Status Messaging.The following table lists the transaction and capture states returned when processing Electronic Checking/ACH transactions.
Operation | ACH Transaction Type | Transaction State | Capture State |
---|---|---|---|
Authorize |
ACH CHECK | Authorized | CapturedUndoPermitted |
CaptureAll |
ACH COMMITBATCH | Authorized | Captured |
QueryAccount |
ACH ACCTVAL | NotSet | CannotCapture |
Undo |
ACH VOID | Undone | CannotCapture |
QueryAccount
transactions are not assigned a specific TransactionState
.When processing with service providers that support offline batch processing, transactions are captured by CWS and sent to the service provider for settlement. If the batch is successfully sent to the host, the CaptureState is set to "BatchSent". From a CWS perspective, BatchSent is functionally the same as "Captured", except there is no way to confirm whether the transactions in the batch were successfully settled by the service provider.
If the batch is successfully sent to the service provider, but due to connection errors, CWS does not receive a confirmation, the CaptureState
of all transactions in the batch are updated to "CaptureUnknown
". In such cases, a batch settlement error is returned to the client application indicating the specific batch number.
The application must then query the batch using the QueryBatch
operation provided by the Transaction Management Service API to retrieve a list of all transactions. Additionally, the merchant must contact the service provider to determine the capture state.
In the event that validation or connection errors are returned to the client application, all transactions in the batch are returned to the CaptureState
of "ReadyForCapture
".