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 whyfetchBillingResults 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 optionalTransactionValidationResponse array element returned as part of the billTransactions response, as described in Submit Failed Transactions to Retain for Recovery. 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 themerchantTransactionId, 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 infetchBillingResults.
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:Example Table: Results Returned
If results are returned for the Financial Transactions in question, complete a table similar to the following example:Results Were Not returned for the Financial Transactions
When results for the Financial Transactions are not returned, leave theSelectTransactionId, 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:
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.
