Transaction Processing Optional Operations
The following optional operations can be implemented based on the the specific requirements of the application:
Acknowledge operation is used to mark a transaction as ‘acknowledged’ after receiving a successful transaction response. This acknowledgement is useful when performing transaction management functions, such as those provided by the Transaction Management Service API.
Once a successful transaction processing response has been received, the
Acknowledge operation can be called to set an IsAcknowledged flag to ‘true’ in the transaction database for a specific
transactionId. In the event that a transaction response is not received, specific Transaction Management operations can be called to query the transaction database for transactions that have the IsAcknowledged flag set to ‘false’. This is helpful when troubleshooting the reason for a failed transaction.
QueryAccount operation is used to perform a balance inquiry on a cardholder’s account to determine the current account balance. It can also be used to perform a balance inquiry on pre-paid credit cards.
Disburse operation is used to submit a disbursement request to the service provider who then electronically disburses funds from the payer’s bank account to the payee’s account.
Verify operation is used to verify information about a payment account, such as address verification data (AVSData) on a credit card account, without reserving any funds.
Verifyoperation is specific to Credit transactions only.
RequestTransaction operation allows for the retrieval of any transaction matching the supplied tender data. This is useful in situations when the application does not receive a response from CWS indicating the
Below are some recommendations and best practices associated with the integration of the Transaction Processing operations:
- Support for the operations above is determined based on the Service Information retrieved for the merchant Service Key when invoking the
GetServiceInformationoperation. When invoked, a Boolean property is returned indicating whether a specific transaction processing operation is supported for an available service.
- As with Preparing the Application to Transact,
merchantProfileIdshould be encrypted and stored locally rather than performing a value lookup for every transaction.
- As a best practice, the application should track the time duration of the
sessionToken. Prior to processing transactions, the application should reference the age of the current
sessionToken. If the value is greater than 25 minutes, then a new call to
SignOnshould be made and the process of tracking the
- If the application will be supporting custom transaction processing workflows, you will send in the appropriate
workflowIdin all Transaction Processing operations. If the application is not supporting custom workflows, the application will send in the
serviceIdreturned by the
GetServiceInformationoperation as the
workflowIdin each operation.
differenceData, which allows for updates to transaction amounts in the event of incremental (INCAUTH) and reversal (REVAUTH) authorizations.
- The following operations are considered optional and their implementation will depend on the specific requirements of the application:
Acknowledgeoperation can be invoked after the successful receipt of a transaction response message to flag a transaction as ‘acknowledged’ in the transaction database. This acknowledgement is useful when performing transaction management functions, such as those provided by theTransaction Management Service API.
RequestTransactionoperation allows for the retrieval of any transaction matching the supplied tender data. This is useful in transaction-processing situations when the application does not receive a response from CWS indicating the