Syntax
void
doCapture
(
final long
captureId
,
final Long
authorisationId
,
final List< IKeyValue >
unstructuredDataRequest
,
final List< IKeyValue >
unstructuredDataResponse
,
final Long
actorId
) throws MobiliserServiceException, DataAccessException, TransactionException
Parameters
-
captureId –
the id of the transaction to capture
-
authorisationId –
the authorization that will be captured, this should be passed if available for performance reasons
-
unstructuredDataRequest –
the unstructured data coming from the original request
-
unstructuredDataResponse –
this list can be filled with information to be returned with the response
-
actorId –
the actorId (authenticated user)
Exceptions
-
MobiliserServiceException –
if the capturing the transaction fails for some reason (business rules)
-
DataAccessException –
if some error occurs communicating / writing / reading persistent storage
-
TransactionException –
if some error occurs while handling the transactions related to persistent storage
Usage
Perform the actual capture for the given capture transaction.
Notes on transactional semantics:
If a business logic exception occurs, a
MobiliserServiceException
will be thrown and the database transaction committed. If the the cause stems from the underlying payment handler, both the main
Transaction
and the
Capture
transaction will be failed. Any other exception will trigger a rollback of the database transaction followed by a fresh transaction inside of which the
Capture
transaction will be marked with an error code.