> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vindicia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Submitting Retain Issues to Support

To allow your Business Users to submit Retain Transaction issues to Vindicia Support, you must provide them with access to the necessary Transaction data.

## Basic Scenario

To allow Vindicia Support to process any issues efficiently, you must provide them with the necessary transaction data when you create a Support ticket. As part of your Vindicia Retain integration, you must store the necessary information for Support in an easy to access location for Business Users to retrieve and provide to Vindicia Support along with the initial ticket creation. The retrieval of the information for Support should not require any special knowledge or expertise other than knowledge of the Financial Transactions involved and the issue at hand which is impacting the knowledge of the final outcome of the Financial Transactions in question. If the Business User can simply pull up the complete set of information to give to Vindicia Support without needing to understand the data or having to request a developer to look in logfiles, that is the preferred approach.

There are various reasons why a Production issue is submitted to Vindicia Support, however the most common is that results were not received when expected. While the focus is typically on why `fetchBillingResults` did not return the expected results, the first step is to review the response returned from `billTransactions`.

Regardless of the cause or the issue being submitted to Vindicia Support, the format that is recommended is a table which has all the important columns listed for each Transaction in question, which includes both the `billTransactions` submission information as well as any appropriate `fetchBillingResults` response information attempted or received.

## Design Approach

There is an optional `TransactionValidationResponse` array element returned as part of the `billTransactions` response, as described in [Submit Failed Transactions to Retain for Recovery](5801_submitFailedTransactions). When there are no errors on submission, this optional element is not returned in the `billTransactions` response.

Therefore, it is fairly easy for your Vindicia Retain integration to miss implementing support for reading the optional `TransactionValidationResponse` array in the `billTransactions` response. In that case, any such elements returned indicate Transactions for which submission to Vindicia Retain for Processing did not succeed, and therefore the corresponding result Transactions will never be returned by `fetchBillingResults`.

## Submission of Failed Transactions to Vindicia Retain

To identify the Financial Transaction in question you must provide the value of the `merchantTransactionId`, which is the unique identifier of the Failed Transaction in your Billing System, and which was submitted to Vindicia Retain in the call to billTransactions.

Each Failed Transaction is submitted to Vindicia Retain in a single call to billTransactions. While many Transactions are submitted in a single call to billTransactions, each Failed Transaction is associated with a single call to billTransactions, which is identified by a `billTransactions` `SoapId`.

To provide supporting information to help Vindicia identify the call to billTransactions in our logs, provide the timestamp indicating when the call to billTransactions was made, identified in the `billTransactions` `Timestamp`.

**Note:**

In your Vindicia Retain integration, it can be helpful to maintain any records of optional `TransactionValidationResponse` array elements for calls to billTransactions. Your software developers or support team can use these records to identify causes of any issues before or after engaging Vindicia Support with a production issue. However, Vindicia will have this information internally when reviewing the billTransactions SoapId and Timestamp, so this information does not need to be included in the table of information provided to Vindicia Support.

## Retrieval of Results from Vindicia Retain Processing

Depending on the issue being reported, information regarding results for the Financial Transaction may or may not have been returned by Vindicia Retain in `fetchBillingResults`.

Both cases are listed below, with the values to be included in the table of information indicated for each.

## Results Were Returned for the Financial Transactions

Include the following output values returned from fetchBillingResults:

| Value | Definition |
| - | - |
| `SelectTransactionId` | The unique identifier assigned by Vindicia Retain to the final result Transaction. |
| `Status` | The status, `Captured`, `Failed`, or other, for the final result Transaction. |
| `authCode` | The result from the final authorization attempt performed by Vindicia Retain. |
| `TimeStamp` | The timestamp when the Vindicia Retain Transaction was processed. |
| Also include the following values which identify the fetchBillingResults call that returned the results: | |

| Value | Definition |
| - | - |
| `fetchBillingResults SoapId` | The soapId of the fetchBillingResults call which returned the result. |
| `fetchBillingResults TimeStamp` | The timestamp when fetchBillingResults was called. |

## Example Table: Results Returned

If results are returned for the Financial Transactions in question, complete a table similar to the following example:

| Merchant Transaction Id | Select Transaction Id | Status | auth Code | TimeStamp | bill Transactions Timestamp | bill Transactions SoapId | fetch Billing Results SoapId | fetch Billing Results Timestamp |
| - | - | - | - | - | - | - | - | - |
| 123456789 | ABC123456 | Captured | 530 | 2017-08-20 23:17:11 | 20-AUG-17 07:38.05 AM | ffb7547e 5c35c3dd f437bde9 995b3f33 ee55f069 | 66b0f9aa 62bb5d68 a9606825 d1e59765 8527cf5f | 22-AUG-17 07.00.16 AM |
| 123456790 | ABC123457 | Failed | 302 | 2017-08-21 16:04:28 | 20-AUG-17 07.37.38 AM | 78764e77 a824848a 3d9cbb0e c68f3d14 57f39512 | 66b0f9aa 62bb5d68 a9606825 d1e59765 8527cf5f | 22-AUG-17 07.00.16 AM |

## Results Were Not returned for the Financial Transactions

When results for the Financial Transactions are not returned, leave the `SelectTransactionId`, `Status`, `authCode` and `TimeStamp` columns blank, or mark them as N/A, as these output parameters are not available.

However, include the following values in the table of information as they identify one of the fetchBillingResults calls made where the expected results were not returned:

| Value | Definition |
| - | - |
| `fetchBillingResults SoapId` | The soapId of one of the fetchBillingResults calls which did NOT return the result. |
| `fetchBillingResults TimeStamp` | The timestamp when fetchBillingResults was called. |

This allows Vindicia to review the pattern followed in the parameters passed in to fetchBillingResults, that is, the timestamp, endTimestamp, page and pageSize, to see if any final result should have been determined in that window of time.

## Example Table: No Results Returned

If results are not returned for the Financial Transactions in question, complete a table similar to the following example:

| Merchant Transaction Id | Select Transaction Id | Status | auth Code | TimeStamp | bill Transactions Timestamp | bill Transactions SoapId | fetchBilling Results SoapId | fetch Billing Results Timestamp |
| - | - | - | - | - | - | - | - | - |
| 123456791 |   | | | | 20-AUG-17 07:38.05 AM | ffb7547e 5c35c3dd f437bde9 995b3f33 ee55f069 | 66b0f9aa 62bb5d68 a9606825 d1e59765 8527cf5f | 22-AUG-17 07.00.16 AM |
| 123456792 |   | | | | 20-AUG-17 07.37.38 AM | 78764e77 a824848a 3d9cbb0e c68f3d14 57f39512 | 66b0f9aa 62bb5d68 a9606825 d1e59765 8527cf5f | 22-AUG-17 07.00.16 AM |

## References

See the following Vindicia Retain Use Cases for information on input and output data values:

* [Mapping Retain Request Data Fields](r_mapRetainRequestDataFields)
* [Mapping Retain Response Data Fields](r_mapRetainResponseDataFields)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.