Skip to main content
Vindicia Knowledge Center

Refund Vindicia Retain Transactions

Refund Vindicia Retain Transactions

User Story

Merchant needs to refund one or more Vindicia Retain Transactions previously recovered by Vindicia Retain.

This may be due to one of the following reasons:

  • The customer has already paid through the billing system.
  • The customer has cancelled the subscription and should not be charged.
  • The Transaction represents a duplicate charge.



  • Failed Transaction has completed processing successfully (i.e. Captured).
  • If failed Transaction was Captured, it is refunded.  Returned as Refunded by fetchBillingResults.

Basic Scenario

After reviewing the results returned by fetchBillingResults, the merchant determines that one or more failed Transactions previously recovered by Vindicia Retain (as Captured) should not have been processed, as the Transaction has already been collected in the billing system or it is a duplicate Transaction that needs to be Refunded.

The set of Transactions that need to be refunded are collected and submitted to Vindicia Retain. The results indicating the updated status of Refunded are returned in the next day's Retrieval process. See Retrieve Results of Vindicia Retain Processing. 

Design Approach

The set of Transactions that need to be refunded are collected and submitted to Vindicia Retain in a call to refundTransactions. As the failed Transactions have been recovered by Vindicia Retain previously, the status before the call to refundTransactions is Captured. The call to refundTransactions results in the Transaction being returned as Refunded in the next retrieval process execution.

Sequence Diagram

Use Case Implementation

Use the Vindicia Retain refundTransactions method to perform a refund of Transactions already recovered (as Captured) by Vindicia Retain.

This method accepts an array of Transaction IDs representing failed Transactions in the merchant system, which resulted in captured Vindicia Retain Transactions.
These Transactions are requested to be refunded by this call.

These Transactions have already been recovered by Vindicia Retain (i.e. currently in Captured status) and are returned as status Refunded in the next execution of the fetchBillingResults process as a result of making this call.

If a submitted item fails to validate, it will be returned in a TransactionValidationResponse array element.

Sample Code

Note that client libraries are not provided for Vindicia Retain.  The WSDL endpoint is used by the development environment to generate a library that may be used, or direct WSDL posts may be used to submit requests to Vindicia Retain.

This sample submits a refundTransactions request:


Please provide the Deployment Consultant with SOAP IDs from a call to refundTransactions and a corresponding call to fetchBillingResults where the updated status of the Failed Transactions sent to the refundTransactions call were returned for review: 

  1. SOAP ID #1:  call to refundTransactions containing one or more Transaction Id's previously recovered, in Captured status.
  2. SOAP ID #2:  call to fetchBillingResults which returned updated status for one or more Transaction Id's from the call in 1.


Use Case #: SEL-005



For Users

Learn More
For Users

Vindicia Subscribe Features

Learn More
Vindicia Subscribe Features
Back to Top