> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vindicia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mapping Retain Request Data Fields

To submit Failed Transactions to Vindicia Retain, you must identify and map the source Transaction data from your merchant system to the required Vindicia Retain Request data members. A software developer typically performs this mapping.

## Basic Scenario

Your organization wants to submit failed transactions to Vindicia Retain for recovery. To support this task, you must coordinate with your internal business manager to determine the availability of the required transaction data in your internal systems. You can then map these internal data fields to the Vindicia Retain Transaction data members and identify the Retain data members to populate in your requests.

## Design Approach

The Required data fields for Vindicia Retain are a superset of the data fields that are required in the Web Services Description Language (WSDL) file. They include additional data fields that are marked as optional in the WSDL, but which provide additional detail about the Failed Transaction to assist in optimal processing decisions by Vindicia Retain with the least risk of Chargeback.

## Retain Request Data Fields

For each failed transaction, include the Vindicia Retain data fields as specified in the following table, mapped to the corresponding merchant data values. Transactions can use a credit card or tokens as the payment method, with differing data values as specified.

All values are required, except where designated as 'if available'.

| Vindicia Retain Data Field | Corresponding Merchant Data Value |
| - | - |
| `amount` | The monetary value for the transaction. |
| `authCode` | The authorization response code returned by the payment processor for the most recent Failed authorization decline (that is, decline code such as 302, 530, or other). |
| `avsCode` | The AVS (Address Verification) result received for the Billing Address for the final Transaction attempt. |
| `billingAddress` | The customer billing address for the payment method. Include the following if available: - billingAddressLine1 - billingAddressCity - billingAddressDistrict - billingAddressCountry - billingAddressPostalCode |
| `billingFrequency` | The billing plan period type, such as Month or Year. |
| `creditCardAccount` | If the payment method is credit card, specify the full credit card number. If the payment method is tokens, specify the first 6 digits of the credit card number (the BIN). **Note:** The BIN is required for transactions using tokens when the payment processor is Litle/Vantiv. The BIN is not required with other payment processor (including Cybersource) if it is not available. You can specify `creditCardAccount` as an empty string if you do not have the BIN, but it is preferred to pass the BIN if you do have it in your database. |
| `creditCardExpirationDate` | The credit card expiration date in YYYYMM format. Include the expiration date for all transactions, whether paid by credit card or tokens. |
| `currency` | The currency code for the Transaction object. Default is USD. |
| `customerId` | The unique ID of the customer's account. |
| `cvnCode` | The CVN (Card Verification) result received for the final failed Transaction attempt. |
| `divisionNumber` | Your merchant division or group number, used by the payment processor when processing the original Transaction. Note that: - Chase Paymentech refers to this number as the Division Number - Litle calls it the Report Group - MeS calls it the Profile ID |
| `merchantTransactionId` | The unique ID of the failed transaction. This is the most critical identifier for the Failed Transaction. Vindicia Retain processes a unique Failed Transaction only once, and returns the same unique identifier for the Failed Transaction with the results. This enables you to maintain the final status for the Failed Transaction in your merchant system. |
| `paymentMethodId` | The unique merchantPaymentMethodId assigned to the credit card (if paid with a credit card) or the merchantTokenID (if paid with tokens). **Note:** The paymentMethodId cannot be identical to the credit card number. - This is a unique identifier in your system for this payment. This ID references the Payment Profile/Credit Card at the Payment Processor or Payment Gateway (for example, Cybersource). When you are passing the full credit card number (that is, not using tokens), this can be any ID value in your system that uniquely identifies this form of payment or card for the customer, other than the actual credit card number. |
| `paymentMethodIsTokenized` | Value is either `False` (if paid with a credit card) or `True` (if paid with tokens). |
| `previousBillingCount` | (If available) The number of previous successful billings associated with the subscription. |
| `previousBillingDate` | (If available) The date of the last successful billing for the subscription (that is, for a monthly billing plan, previousBillingDate is the month of the most recent successful transaction capture). |
| `status` | You should pass the hard-coded value `Status = Failed` as this indicates you provided a Failed transaction to Vindicia Retain for recovery. There is no case where you must pass a different value than `Failed` for this data member. |
| `subscriptionId` | The unique ID of the customer subscription. |
| `subscriptionStartDate` | (If available) the date the subscription originally started. |
| `timeStamp` | The time when the last failure of the transaction took place. |

## References

* Online Soap/WSDL Documentation:
  * [Retain (Select) V1.1 WSDL documentation](https://secure.vindicia.com/docs/soap/Select.html?ver=1.5)
  * [Retain (Select) V1.5 WSDL documentation](https://secure.vindicia.com/docs/soap/Select.html?ver=1.5)
  * [Transaction data member in Retain (select) V1.5 documentation](https://secure.vindicia.com/docs/soap/AllDataTypes.html?pf=1\&ver=1.1\&type=Transaction)
  * [Retain API Guide V1.5](/portal/Retain_V1.5_API_Reference_Guide/topics/Vindicia_Retain_API_Guide_Preface)

* Vindicia Retain WSDL File:
  * [https://soap.vindicia.com/1.1/Select.wsdl](https://soap.vindicia.com/1.1/Select.wsdl)
  * [https://soap.vindicia.com/1.5/Select.wsdl](https://soap.vindicia.com/1.5/Select.wsdl)

**Parent topic:**[Getting Started with Vindicia Retain](../topics/r_integratingVindiciaRetain)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.