- Use Case Number: 5-8-04
- Completed By: Software Developer
- Estimated Completion Time: <5 days
Basic Scenario
After reviewing the results returned byfetchBillingResults, 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.
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 torefundTransactions. 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
- For more information about working with the Vindicia Retain API, see the Vindicia Retain API Guide.
-
For detailed information about the
refundTransactionsmethod, see Select.refundTransactions in the Vindicia Retain API Guide. - Refund Submitted Transactions Using the Retain APIs
Refund Submitted Transactions Using the Retain APIs
Ensure the failed Transaction has completed processing successfully (status isCaptured).
To refund recovered Transactions:
-
Use the Vindicia Retain
refundTransactionsmethod to perform a refund of Transactions already recovered by Vindicia Retain (inCapturedstatus). As a result of making this call, these Transactions are returned as statusRefundedin the next execution of thefetchBillingResultsprocess. If a submitted item fails to validate, it is returned in aTransactionValidationResponsearray 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 arefundTransactionsrequest: https://github.com/Vindicia/CashBoxAPISamples/blob/master/Select/Python/SEL005RefundSelect.py Certification Provide the Solution Architect with SOAP IDs from a call torefundTransactionsand a corresponding call tofetchBillingResultswhere the updated status of the Failed Transactions sent to the refundTransactions call were returned for review:- SOAP ID #1: call to
refundTransactionscontaining one or more Transaction IDs previously recovered, inCapturedstatus. - SOAP ID #2: call to
fetchBillingResultswhich returned the updated status for one or more Transaction IDs from the call in SOAP ID #1.
- SOAP ID #1: call to
