Transaction Management Implementation

The following operations are available in the Transaction Management API for both SOAP and REST implementations:

Transaction Management Operations
QueryBatch QueryTransactionsDetail
QueryRejectedDetail QueryTransactionFamilies
QueryRejectedSummary QueryTransactionsSummary

The Transaction Management Service (TMS) provides read-only access to merchant transaction data stored in the Commerce Web Services (CWS) transaction database. TMS eliminates the need for the merchant application to store transaction data locally by providing access to merchant transaction data for transaction reporting purposes, as well as for processing subsequent transactions, such as incremental authorizations, voids, returns, and batch settlement processing.

Transaction management functionality is supported by the Transaction Management Service (TMS) and corresponding Transaction Management API. The TMS API makes use of both Service Keys and sign-on authentication credentials to ensure safe, secure access to CWS transaction data.

The integration of the TMS API provides the following benefits:

  • Access to all Bankcard transaction data – All Bankcard transaction classes and types are accessible.
  • Two levels of transaction detail – On a per query basis, you can specify whether summary or detailed transaction information should be retrieved.
  • Variety of search/filter criteria – Enables greater precision and faster response times by limiting the data returned to only that which is required.
  • Identification of transaction families – Authorizations or returns followed by subsequent transactions are linked using a parent ID. This allows all related transaction data to be returned in the context of the entire transaction family.

Note: The integration of the Transaction Management Service (TMS) API is optional.

 


 

The Transaction Management API provides a simple set of operations that allow you to retrieve two levels of transaction data-summary and detail.

  • Summary – Sufficient to perform subsequent transaction processing (Adjust, Undo, ReturnById, etc.). Summary data is returned in the context of the transaction family.
  • Detail – Summary data in addition to all data collected and stored about the transaction. Detail data is a complete set of CWS Bankcard transaction request, response, merchant and application data, and additional metadata. This data can be formatted as either a serialized string or as a data record.

 


 

QueryBatch

The QueryBatch operation queries the batch summary and returns Batch Status, DateTime, and a list of transactionIds in the batch.

Note: The QueryBatch operation is only supported in Terminal Capture environments.

SOAP

Operation

List<BatchDetailData> QueryBatch(string sessionToken, QueryBatchParameters queryBatchParameters, PagingParameters pagingParameters);

Parameters

Parameter Data Type Description
sessionToken String The short-lived token used to authenticate to CWS.
queryBatchParameters QueryBatchParameters The batch query details.
pagingParameters PagingParameters Defines the parameters for the service to use for paging large datasets.

Note: When specifying DateRange in QueryBatchParameters, the range must be within the last 90 days or a fault is thrown. Regardless of how DateRange is specified, only the matching transactionIds within the last 90 days are returned.

Return Type

Data Type Description
List<BatchDetailData> Collection of batch details.

Exceptions

AuthenticationFault TMSTransactionFailedFault
ExpiredTokenFault TMSUnavailableFault
InvalidTokenFault TMSUnknownServiceKeyFault
TMSOperationNotSupportedFault TMSValidationResultFault

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

REST

Note: The HTTP Authorization Header must contain the required sessionToken value.

Operation

URL https://api.cert.nabcommerce.com/REST/2.0.18/DataServices/TMS/batch
Action POST

Parameters

None.

Message Body Type

Data Type Description
QueryBatch Body type for REST Query Batch operation.

Return Type

Data Type Description
List<BatchDetailData> Collection of batch details.

Exceptions

AuthenticationFault TMSTransactionFailedFault
ExpiredTokenFault TMSUnavailableFault
InvalidTokenFault TMSUnknownServiceKeyFault
TMSOperationNotSupportedFault TMSValidationResultFault

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

 


 

QueryTransactionsDetail

The QueryTransactionsDetail operation queries the specified transactions and returns both summary details and full transaction details as a serialized object. QueryTransactionsDetail contains the same search criteria and includeRelated functionality as QueryTransactionsSummary.

SOAP

Operation

List<TransactionDetail> QueryTransactionsDetail(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, TransactionDetailFormat transactionDetailFormat, bool includeRelated, PagingParameters pagingParameters);

Parameters

Parameter Data Type Description
sessionToken String The short-lived token used to authenticate to CWS.
queryTransactionsParameters QueryTransactionsParameters Query parameters.

Note: When TransactionTenderData is supplied, no other parameters are valid for the query.
transactionDetailFormat TransactionDetailFormat Indicates the format for the complete serialized transactions—CWSTransaction or SerializedCWS.
pagingParameters PagingParameters Defines the parameters for the service to use for paging large datasets.
includeRelated Boolean Indicates whether transactions related to the resulting transaction should also be included.

Note: If using QueryType = 'OR' in QueryTransactionsParameters, the DateRange specified must be within the last 90 days or a fault is thrown. Regardless of how DateRange is specified, only the matching transactionId's within the last 90 days are returned.

Return Type

Data Type Description
List<TransactionDetail> Collection of transaction details.

Exceptions

AuthenticationFault TMSUnavailableFault
ExpiredTokenFault TMSUnknownServiceKeyFault
InvalidTokenFault TMSValidationResultFault
TMSTransactionFailedFault   

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

PHP Code Sample


public function queryTransactionsDetail($queryTransactionParameters, $includeRelated, $transactionDetailFormat, $pagingParameters)
{
	if (! $this->signOn ())
		return false;
 
	// Build QueryTransactionsDetail
	$qtd = new QueryTransactionsDetail();
	$qtd->sessionToken = $this->session_token;
	$qtd->queryTransactionsParameters = $queryTransactionParameters;
	$qtd->includeRelated = $includeRelated;
	$qtd->transactionDetailFormat = $transactionDetailFormat;
	$qtd->pagingParameters = $pagingParameters;
 
	try
	{
		$response = $this->txnManagement->QueryTransactionsDetail($qtd)->QueryTransactionsDetailResult->TransactionDetail;
		//echo ($this->txnManagement->__getLastRequest ());
		return $response;
	}
	catch ( SoapFault $e )
	{
		echo 'SERVER ERROR: Error trying to QueryTransactionFamilies.
'; echo ('
'.$this->txnManagement->__getLastRequestHeaders()); echo ('
' . $this->txnManagement->__getLastRequest ()); echo ('
' . $this->txnManagement->__getLastResponse ()); $xmlFault = $this->txnManagement->__getLastResponse (); $errors = handleTxnFault ( $e, $xmlFault ); echo $errors; exit (); } }

C# Code Sample

public List QueryTransactionsDetail(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, TransactionDetailFormat transactionDetailFormat,PagingParameters pagingParameters, Boolean includeRelated)
{
	using (var client = new TMSOperationsClient(ConfigurationManager.AppSettings["Bindings.MgmtSoap"]))
	{
		try
		{
			return client.QueryTransactionsDetail(sessionToken, queryTransactionsParameters, transactionDetailFormat, includeRelated, pagingParameters).ToList();
		}
		catch (FaultException ex)
		{
			SoapFaultHandler.HandleFaultException(ex); 
		}
	}

REST

Note: The HTTP Authorization Header must contain the required sessionToken value.

Operation

URL https://api.cert.nabcommerce.com/REST/2.0.18/DataServices/TMS/transactionsDetail
Action POST

Parameters

None.

Message Body Type

Data Type Description
QueryTransactionsDetail Body type for REST Query Transactions Detail operation.

Return Type

Data Type Description
List<TransactionDetail> Collection of transaction details.

Exceptions

AuthenticationFault TMSUnavailableFault
ExpiredTokenFault TMSUnknownServiceKeyFault
InvalidTokenFault TMSValidationResultFault
TMSTransactionFailedFault   

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

 


 

PHP Code Sample


public function queryTransactionsDetail($queryTransactionParameters, $includeRelated, $transactionDetailFormat, $pagingParameters)
{
	if (! $this->signOn ())
		return false;
 
	// Build QueryTransactionsDetail
	$qtd = new QueryTransactionsDetail();
	$qtd->sessionToken = null; // sessionToken is not included in the body for REST
	$qtd->queryTransactionsParameters = $queryTransactionParameters;
	$qtd->includeRelated = $includeRelated;
	$qtd->transactionDetailFormat = $transactionDetailFormat;
	$qtd->pagingParameters = $pagingParameters;
	$action = 'POST';
	$url = $this->tms.'/transactionsDetail';
 
	$msgBody = (string)json_encode($qtd);
	$msgBody = str_replace('"sessionToken":null,', '', $msgBody);
	$response = curl_json($msgBody, $url, $action, $this->session_token);
	if(isset($response->body->ErrorId))
	{
		handleRestFault($response);
		return false;
	}
	if(isset($response[2]))
	{
		return $response[2][0];
	}
	return false;
}

C# Code Sample


public List QueryTransactionsDetail(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, TransactionDetailFormat transactionDetailFormat,PagingParameters pagingParameters, Boolean includeRelated)
{
	var isJson = string.Equals(_msgFormat, MessageFormat.JSON.ToString());
	var requestString = RestBaseUri + "/transactionsDetail";
	var restQtd = new QueryTransactionsDetail();
	restQtd.IncludeRelated = includeRelated;
	restQtd.TransactionDetailFormat = (schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.TransactionDetailFormat)(transactionDetailFormat);
 
	// Convert the namespace from service reference to the generated proxies used by REST.
	restQtd.QueryTransactionsParameters = Utilities.SwapObjectsNamespace<schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.QueryTransactionsParameters>(queryTransactionsParameters);
	restQtd.PagingParameters = Utilities.SwapObjectsNamespace<schemas.nabcommerce.com.CWS.v2._0.DataServices.PagingParameters>(pagingParameters);
 
	var request = RestHelper.CreateRestRequest(restQtd, requestString, HttpMethod.POST, sessionToken, isJson);
	try
	{
		var responseStr = RestHelper.GetResponse(request, isJson, false);
		if (isJson)
		{
			var list = RestHelper.GetCWSObjectListFromJson<schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.TransactionDetail>(responseStr);
			return list.Select(transactionDetail => Utilities.SwapObjectsNamespace(transactionDetail)).ToList();
		}
		else
		{
			return RestHelper.GetCWSObjectListFromXml(responseStr);
		}
	}
	catch (Exception ex)
	{
		RestFaultHandler.HandleFaultException(ex, isJson); 
	}
}

QueryTransactionFamilies

The QueryTransactionFamilies operation returns family summary information and a list of TransactionIds that can be used to query for full transaction details.

SOAP

Operation

List<FamilyDetail> QueryTransactionFamilies(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, PagingParameters pagingParameters);

Parameters

Parameter Data Type Description
sessionToken String The short-lived token used to authenticate to CWS.
queryTransactionsParameters QueryTransactionsParameters Query parameters.

Note: When TransactionTenderData is supplied, no other parameters are valid for the query.
pagingParameters PagingParameters Defines the parameters for the service to use for paging large datasets.

Return Type

Data Type Description
List<FamilyDetail> Collection of transaction families.

Exceptions

AuthenticationFault TMSUnavailableFault
ExpiredTokenFault TMSUnknownServiceKeyFault
InvalidTokenFault TMSValidationResultFault
TMSTransactionFailedFault   

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

 

PHP Code Sample

public function queryTransactionFamilies($queryTransactionParameters, $includeRelated, $pagingParameters)
{
	if (! $this->signOn ())
		return false;
 
	// Build QueryTransactionsSummary
	$qtf = new QueryTransactionFamilies();
	$qtf->sessionToken = $this->session_token;
	$qtf->queryTransactionsParameters = $queryTransactionParameters;
	$qtf->includeRelated = $includeRelated;
	$qtf->pagingParameters = $pagingParameters;
 
	try
	{
		$response = $this->txnManagement->QueryTransactionFamilies($qtf)->QueryTransactionFamiliesResult;
		echo ($this->txnManagement->__getLastRequest ());
		return $response;
	}
	catch ( SoapFault $e )
	{
		echo 'SERVER ERROR: Error trying to QueryTransactionFamilies.
'; echo ('
'.$this->txnManagement->__getLastRequestHeaders()); echo ('
' . $this->txnManagement->__getLastRequest ()); echo ('
' . $this->txnManagement->__getLastResponse ()); $xmlFault = $this->txnManagement->__getLastResponse (); $errors = handleTxnFault ( $e, $xmlFault ); echo $errors; exit (); } }

C# Code Sample

public List QueryTransactionFamilies(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, PagingParameters pagingParameters)
{
	using (var client = new TMSOperationsClient(ConfigurationManager.AppSettings["Bindings.MgmtSoap"]))
	{
		try
		{
			return client.QueryTransactionFamilies(sessionToken, queryTransactionsParameters, pagingParameters).ToList();
		}
		catch (FaultException ex)
		{
			SoapFaultHandler.HandleFaultException(ex); 
		}
	}
}

REST

 

Note: The HTTP Authorization Header must contain the required sessionToken value.

Operation

URL https://api.cert.nabcommerce.com/REST/2.0.18/DataServices/TMS/transactionsFamily
Action POST

Parameters

None.

Message Body Type

Data Type Description
QueryTransactionFamilies Body type for REST Query Transactions Families operation.

Return Type

Data Type Description
List<FamilyDetail> Collection of transaction families.

Exceptions

AuthenticationFault TMSUnavailableFault
ExpiredTokenFault TMSUnknownServiceKeyFault
InvalidTokenFault TMSValidationResultFault
TMSTransactionFailedFault   

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

 


 

PHP Code Sample

public function queryTransactionFamilies($queryTransactionParameters, $includeRelated, $pagingParameters)
{
	if (! $this->signOn ())
		return false;
 
	// Build QueryTransactionsSummary
	$qtf = new QueryTransactionFamilies();
	$qtf->sessionToken = null; // sessionToken is not included in the body for REST.
	$qtf->queryTransactionsParameters = $queryTransactionParameters;
	$qtf->includeRelated = $includeRelated;
	$qtf->pagingParameters = $pagingParameters;
	$action = 'POST';
	$url = $this->tms.'/transactionsFamily';
	
	$msgBody = (string)json_encode($qtf);
	$msgBody = str_replace('"sessionToken":null,', '', $msgBody);
	$response = curl_json($msgBody, $url, $action, $this->session_token);
	if(isset($response->body->ErrorId))
	{
		handleRestFault($response);
		return false;
	}
	if(isset($response[2]))
	{
		$obj = new stdClass();
		$obj->FamilyDetail = $response[2][0];
		if(is_array($obj->FamilyDetail->TransactionIds))
		{
			$txnId = $obj->FamilyDetail->TransactionIds[0];
			$obj->FamilyDetail->TransactionIds = new stdClass();
			$obj->FamilyDetail->TransactionIds->string = $txnId;
		}
		if(is_array($obj->FamilyDetail->TransactionMetaData))
		{
			$md = $obj->FamilyDetail->TransactionMetaData[0];
			$obj->FamilyDetail->TransactionMetaData = new stdClass();
			$obj->FamilyDetail->TransactionMetaData->TransactionMetaData = $md;
		}
		return $obj;
	}
	return false;
}

C# Code Sample

public List QueryTransactionFamilies(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, PagingParameters pagingParameters)
{
	var isJson = string.Equals(_msgFormat, MessageFormat.JSON.ToString());
	var requestString = RestBaseUri + "/transactionsFamily";
	var restQtf = new QueryTransactionsFamilies();
	
	// Convert the namespace from service reference to the generated proxies used by REST.
	restQtf.QueryTransactionsParameters = Utilities.SwapObjectsNamespace<schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.QueryTransactionsParameters>(queryTransactionsParameters);
	restQtf.PagingParameters = Utilities.SwapObjectsNamespace<schemas.nabcommerce.com.CWS.v2._0.DataServices.PagingParameters>(pagingParameters);
 
	var request = RestHelper.CreateRestRequest(restQtf, requestString, HttpMethod.POST, sessionToken, isJson);
	try
	{
		var responseStr = RestHelper.GetResponse(request, isJson, false);
		if (isJson)
		{
			var list = RestHelper.GetCWSObjectListFromJson<schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.FamilyDetail>(responseStr);
			return list.Select(familyDetail => Utilities.SwapObjectsNamespace(familyDetail)).ToList();
		}
		else
		{
			return RestHelper.GetCWSObjectListFromXml(responseStr);
		}
	}
	catch (Exception ex)
	{
		RestFaultHandler.HandleFaultException(ex, isJson); 
	}
}

QueryTransactionsSummary

The QueryTransactionsSummary operation queries the specified transactions and returns summary details related to one or more transactions matching specific search criteria. You can indicate if the response will include all related transactions (includeRelated = 'true'). This returns all transactions matching specific search criteria and all transactions that have parent/child relationships with those matches.

SOAP

Operation

List<SummaryDetail> QueryTransactionsSummary(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, bool includeRelated, PagingParameters pagingParameters);

Parameters

Parameter Data Type Description
sessionToken String The short-lived token used to authenticate to CWS.
queryTransactionsParameters QueryTransactionsParameters Query parameters.

Note: When TransactionTenderData is supplied, no other parameters are valid for the query.
pagingParameters PagingParameters Defines the parameters for the service to use for paging large datasets.
includeRelated Boolean Indicates whether transactions related to the resulting transaction should also be included.

Return Type

Data Type Description
List<SummaryDetail> Collection of transaction summaries.

Exceptions

AuthenticationFault TMSUnavailableFault
ExpiredTokenFault TMSUnknownServiceKeyFault
InvalidTokenFault TMSValidationResultFault
TMSTransactionFailedFault   

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

PHP Code Sample


public function queryTransactionsDetail($queryTransactionParameters, $includeRelated, $transactionDetailFormat, $pagingParameters)
{
	if (! $this->signOn ())
		return false;
 
	// Build QueryTransactionsDetail
	$qtd = new QueryTransactionsDetail();
	$qtd->sessionToken = $this->session_token;
	$qtd->queryTransactionsParameters = $queryTransactionParameters;
	$qtd->includeRelated = $includeRelated;
	$qtd->transactionDetailFormat = $transactionDetailFormat;
	$qtd->pagingParameters = $pagingParameters;
 
	try
	{
		$response = $this->txnManagement->QueryTransactionsDetail($qtd)->QueryTransactionsDetailResult->TransactionDetail;
		//echo ($this->txnManagement->__getLastRequest ());
		return $response;
	}
	catch ( SoapFault $e )
	{
		echo 'SERVER ERROR: Error trying to QueryTransactionFamilies.
'; echo ('
'.$this->txnManagement->__getLastRequestHeaders()); echo ('
' . $this->txnManagement->__getLastRequest ()); echo ('
' . $this->txnManagement->__getLastResponse ()); $xmlFault = $this->txnManagement->__getLastResponse (); $errors = handleTxnFault ( $e, $xmlFault ); echo $errors; exit (); } }

C# Code Sample


public List QueryTransactionsDetail(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, TransactionDetailFormat transactionDetailFormat,PagingParameters pagingParameters, Boolean includeRelated)
{
	using (var client = new TMSOperationsClient(ConfigurationManager.AppSettings["Bindings.MgmtSoap"]))
	{
		try
		{
			return client.QueryTransactionsDetail(sessionToken, queryTransactionsParameters, transactionDetailFormat, includeRelated, pagingParameters).ToList();
		}
		catch (FaultException ex)
		{
			SoapFaultHandler.HandleFaultException(ex); 
		}
	}
}

REST

Note: The HTTP Authorization Header must contain the required sessionToken value.

Operation

URL https://api.cert.nabcommerce.com/REST/2.0.18/DataServices/TMS/transactionsSummary
Action POST

Parameters

None.

Message Body Type

Data Type Description
QueryTransactionsSummary Body type for REST Query Transactions Summary operation.

Return Type

Data Type Description
List<SummaryDetail> Collection of transaction summaries.

Exceptions

AuthenticationFault TMSUnavailableFault
ExpiredTokenFault TMSUnknownServiceKeyFault
InvalidTokenFault TMSValidationResultFault
TMSTransactionFailedFault   

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

 


 

PHP Code Sample


public function queryTransactionsDetail($queryTransactionParameters, $includeRelated, $transactionDetailFormat, $pagingParameters)
{
	if (! $this->signOn ())
		return false;
 
	// Build QueryTransactionsDetail
	$qtd = new QueryTransactionsDetail();
	$qtd->sessionToken = null; // sessionToken is not included in the body for REST
	$qtd->queryTransactionsParameters = $queryTransactionParameters;
	$qtd->includeRelated = $includeRelated;
	$qtd->transactionDetailFormat = $transactionDetailFormat;
	$qtd->pagingParameters = $pagingParameters;
	$action = 'POST';
	$url = $this->tms.'/transactionsDetail';
 
	$msgBody = (string)json_encode($qtd);
	$msgBody = str_replace('"sessionToken":null,', '', $msgBody);
	$response = curl_json($msgBody, $url, $action, $this->session_token);
	if(isset($response->body->ErrorId))
	{
		handleRestFault($response);
		return false;
	}
	if(isset($response[2]))
	{
		return $response[2][0];
	}
	return false;
}

C# Code Sample


public List QueryTransactionsDetail(string sessionToken, QueryTransactionsParameters queryTransactionsParameters, TransactionDetailFormat transactionDetailFormat,PagingParameters pagingParameters, Boolean includeRelated)
{
	var isJson = string.Equals(_msgFormat, MessageFormat.JSON.ToString());
	var requestString = RestBaseUri + "/transactionsDetail";
	var restQtd = new QueryTransactionsDetail();
	restQtd.IncludeRelated = includeRelated;
	restQtd.TransactionDetailFormat = (schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.TransactionDetailFormat)(transactionDetailFormat);
 
	// Convert the namespace from service reference to the generated proxies used by REST.
	restQtd.QueryTransactionsParameters = Utilities.SwapObjectsNamespace<schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.QueryTransactionsParameters>(queryTransactionsParameters);
	restQtd.PagingParameters = Utilities.SwapObjectsNamespace<schemas.nabcommerce.com.CWS.v2._0.DataServices.PagingParameters>(pagingParameters);
 
	var request = RestHelper.CreateRestRequest(restQtd, requestString, HttpMethod.POST, sessionToken, isJson);
	try
	{
		var responseStr = RestHelper.GetResponse(request, isJson, false);
		if (isJson)
		{
			var list = RestHelper.GetCWSObjectListFromJson<schemas.nabcommerce.com.CWS.v2._0.DataServices.TMS.TransactionDetail>(responseStr);
			return list.Select(transactionDetail => Utilities.SwapObjectsNamespace(transactionDetail)).ToList();
		}
		else
		{
			return RestHelper.GetCWSObjectListFromXml(responseStr);
		}
	}
	catch (Exception ex)
	{
		RestFaultHandler.HandleFaultException(ex, isJson); 
	}
}

QueryRejectedDetail

The QueryRejectedDetail operation is used to collect transaction detail information from the service provider (post-settlement), in the event that a captured transaction was rejected during settlement by the service provider. The QueryRejectedDetail operation is supported by both the Bankcard Processing (BCP) and Electronic Checking (ECK) service classes.

For example, an ACH transaction is approved by the service provider and subsequently captured by the merchant for settlement processing. During funds processing of the transaction by the service provider, an "insufficient funds" condition occurs and the transaction is not processed. The merchant can use QueryRejectedDetail to discover this information, typically as a function of end-of-day reporting from the payment application, by reconciling actual dollars deposited in the merchant's account.

Whether or not QueryRejectedDetail is available to the merchant depends on their service configuration returned in the ServiceInformation response to GetServiceInformation.

SOAP

Operation

QueryResponse QueryRejectedDetail(string sessionToken, QueryRejectedParameters queryRejectedParameters, PagingParameters pagingParameters);

Parameters

Parameter Data Type Description
sessionToken String The short-lived token used to authenticate to CWS.
queryRejectedParameters QueryRejectedParameters Non-service class specific query parameters.
pagingParameters PagingParameters Defines the parameters for the service to use for paging large datasets.

Return Type

Data Type Description
QueryResponse A collection of batch details.

Note: The response object is ElectronicCheckingRejectedDetailResponse.

Exceptions

AuthenticationFault TMSTransactionFailedFault
ExpiredTokenFault TMSUnavailableFault
InvalidTokenFault TMSUnknownServiceKeyFault
TMSOperationNotSupportedFault TMSValidationResultFault

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

REST

Note: The HTTP Authorization Header must contain the required sessionToken value.

Operation

URL https://api.cert.nabcommerce.com/REST/2.0.18/DataServices/TMS/transactionsRejectedDetail
Action POST

Parameters

None.

Message Body Type

Data Type Description
QueryRejectedDetail Body type for REST Query Rejected Detail operation.

Return Type

Data Type Description
QueryResponse A collection of batch details.
Note: The response object is ElectronicCheckingRejectedDetailResponse.

Exceptions

AuthenticationFault TMSTransactionFailedFault
ExpiredTokenFault TMSUnavailableFault
InvalidTokenFault TMSUnknownServiceKeyFault
TMSOperationNotSupportedFault TMSValidationResultFault

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

 


 

QueryRejectedSummary

The QueryRejectedSummary operation is used to collect transaction summary information from the service provider (post-settlement), in the event that a captured transaction was rejected during settlement by the service provider. The QueryRejectedSummary operation is supported by both the Bankcard Processing (BCP) and Electronic Checking (ECK) service classes.

For example, an ACH transaction is approved by the service provider and subsequently captured by the merchant for settlement processing. During funds processing of the transaction by the service provider, an "insufficient funds" condition occurs and the transaction is not processed. The merchant can use QueryRejectedSummary to discover this information, typically as a function of end-of-day reporting from the payment application, by reconciling actual dollars deposited in the merchant's account.

Whether or not QueryRejectedSummary is available to the merchant depends on their service configuration returned in the ServiceInformation response to GetServiceInformation.

SOAP

Operation

QueryResponse QueryRejectedSummary(string sessionToken, QueryRejectedParameters queryRejectedParameters, PagingParameters pagingParameters);

Parameters

Parameter Data Type Description
sessionToken String The short-lived token used to authenticate to CWS.
queryRejectedParameters QueryRejectedParameters Non-service class specific query parameters.
pagingParameters PagingParameters Defines the parameters for the service to use for paging large datasets.

Return Type

Data Type Description
QueryResponse A collection of batch details.

Note: The response object is ElectronicCheckingRejectedSummaryResponse.

Exceptions/h4>

AuthenticationFault TMSTransactionFailedFault
ExpiredTokenFault TMSUnavailableFault
InvalidTokenFault TMSUnknownServiceKeyFault
TMSOperationNotSupportedFault TMSValidationResultFault

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

REST

Note: The HTTP Authorization Header must contain the required sessionToken value.

Operation

URL https://api.cert.nabcommerce.com/REST/2.0.18/DataServices/TMS/transactionsRejectedSummary
Action POST

Parameters

None.

Message Body Type

Data Type Description
QueryRejectedSummary Body type for REST Query Rejected Summary operation.

Return Type

Data Type Description
QueryResponse A collection of batch details.

Note: The response object is ElectronicCheckingRejectedSummaryResponse.

Exceptions

AuthenticationFault TMSTransactionFailedFault
ExpiredTokenFault TMSUnavailableFault
InvalidTokenFault TMSUnknownServiceKeyFault
TMSOperationNotSupportedFault TMSValidationResultFault

For additional details about the Transaction Management faults listed above, refer to the Transaction Management Fault Reference.

Comments