Skip to main content
Vindicia Knowledge Center

Cancel Submitted Vindicia Retain Transactions

Cancel Submitted Vindicia Retain Transactions

User Story

Merchant wishes to cancel or discontinue Vindicia Retain processing for previously submitted failed Transactions.

This may be due to one of the following reasons:

  • The customer paid through the billing system after the failed Transaction was submitted to Vindicia Retain earlier in the day.
  • The customer has cancelled the subscription and should not be charged.
  • The merchant needs to address an incorrect submission to Vindicia Retain.

Prerequisites

Pre-Condition

  • Failed Transaction in question has been previously submitted to Vindicia Retain in billTransactions.
  • Failed Transaction has not completed processing in Vindicia Retain and is still being attempted.
Post-Condition
  • If failed Transaction has already been captured, it is refunded.  Returned as Refunded by fetchBillingResults.
  • If failed Transaction is not yet captured, any attempts at processing the failed Transaction are discontinued.  Returned as Failed by fetchBillingResults.

Basic Scenario

Merchant determines that one or more failed Transactions should not be processed after submission to Vindicia Retain in billTransactions, as the Transaction has already been collected in the billing system, or the Transaction was submitted incorrectly.

The set of Transactions for which processing should be cancelled or discontinued are submitted to Vindicia Retain.  Any that are already in Captured status are refunded. Others are marked as Failed.

All Vindicia Retain processing attempts are discontinued for the requested Transactions.

The results indicating updated status of Refunded or Failed are returned in the next day's retrieval process.  See Retrieve Results of Vindicia Retain Processing.

Design Approach

The set of Transactions for which Vindicia Retain processing attempts should be discontinued are collected and submitted to Vindicia Retain in a call to refundTransactions.

There are two cases to consider relating to the progress of the processing in Vindicia Retain:

  • The Transaction has not yet been processed by Vindicia Retain. The failed Transaction is removed from additional processing. This results in the Transaction being returned as Failed in the next retrieval process execution.
  • The Transaction has already been recovered by Vindicia Retain in the same day's processing. In this case,the status before the call to refundTransactions is Captured. On execution of the call to refundTransactions, the Transaction is returned as Refunded in the next retrieval process execution.

Sequence Diagram

 

Use Case Implementation

Use the Vindicia Retain refundTransactions method to cancel a previous request to process one or more failed Transactions from billTransactions.  This method accepts an array of Transaction IDs representing the failed Transactions in the merchant system previously submitted to billTransactions.

The result of making this call to refundTransactions is that those Transactions not yet recovered by Vindicia Retain will be returned as status Failed in the next execution of the fetchBillingResults process. See Retrieve Results of Vindicia Retain Processing. 

Those Transactions that have already been recovered by Vindicia Retain (i.e. currently in Captured status) will be returned as status Refunded in the next execution of the fetchBillingResults process.

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 first submits Failed Transactions in billTransactions, then immediately submits a refundTransactions request:

https://github.com/Vindicia/CashBoxAPISamples/blob/master/Select/Python/SEL003CancelSubmittedSelectTransactions.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: 

  1. SOAP ID #1:  call to refundTransactions containing one or more Transaction Id's previously submitted in billTransactions.
  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-003

 

For Users

Learn More
For Users

Vindicia Subscribe Features

Learn More
Vindicia Subscribe Features
Back to Top