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.
Prerequisites
Pre-Condition
- Failed Transaction has completed processing successfully (i.e. Captured).
- Post-Condition
- 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.
- For more information on working with the Vindicia Retain API, see the Vindicia Retain API Guide.
- For detailed information on the refundTransactions method, see Select.refundTransactions in the Vindicia Retain API Guide.
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:
https://github.com/Vindicia/CashBoxAPISamples/blob/master/Select/Python/SEL005RefundSelect.py
Certification
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:
- SOAP ID #1: call to refundTransactions containing one or more Transaction Id's previously recovered, in Captured status.
- 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