Skip to main content
You can refund one or more Transactions previously recovered by Vindicia Retain. To enable this functionality, you must use the Retain APIs.
  • Use Case Number: 5-8-04
  • Completed By: Software Developer
  • Estimated Completion Time: <5 days

Basic Scenario

After reviewing the results returned by fetchBillingResults, you may determine that one or more failed Transactions previously recovered by Vindicia Retain (as Captured) need to be refunded. Typical reasons to refund Retain Transactions include:
  • The customer has already paid through the billing system.
  • The customer cancelled the subscription and should not be charged.
  • The Transaction represents a duplicate charge.
To refund a set of Transactions, you must collect and submit the Transactions to Vindicia Retain in a call to refundTransactions. You can retrieve the results indicating the updated status of Refunded in the next day’s retrieval process (see Retrieve Results of Retain Processing). This method accepts an array of Transaction IDs representing failed Transactions in the merchant system, which resulted in captured Vindicia Retain Transactions.

Design Approach

As shown in the following diagram, to refund a set of Transactions, you must collect and submit the set of Transactions to Vindicia Retain in a call to refundTransactions. Because Vindicia Retain previously recovered the failed Transactions, the status of the Transactions 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.

References

Parent topic:Retain Use Cases

Refund Submitted Transactions Using the Retain APIs

Ensure the failed Transaction has completed processing successfully (status is Captured). To refund recovered Transactions:
  1. Use the Vindicia Retain refundTransactions method to perform a refund of Transactions already recovered by Vindicia Retain (in Captured status). As a result of making this call, these Transactions are returned as status Refunded in the next execution of the fetchBillingResults process. If a submitted item fails to validate, it is 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 you can use, or you can use direct WSDL posts to submit requests to Vindicia Retain. This sample submits a refundTransactions request: https://github.com/Vindicia/CashBoxAPISamples/blob/master/Select/Python/SEL005RefundSelect.py Certification Provide the Solution Architect 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:
    • SOAP ID #1: call to refundTransactions containing one or more Transaction IDs previously recovered, in Captured status.
    • SOAP ID #2: call to fetchBillingResults which returned the updated status for one or more Transaction IDs from the call in SOAP ID #1.
Parent topic:Refund Retain Transactions