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

# Chargeback.fetchByStatus

The `fetchByStatus` method returns one or more `Chargeback` objects whose status matches the input.

Because multiple chargebacks can be of the same status, this method supports paging to limit the number of records returned per call. Occasionally, returning a large number of records in one call swamps buffers and might cause a failure. Vindicia recommends that you call this method in a loop, incrementing the page for each loop iteration with an optimal page size (number of records returned in one call) until the page contains a number of records that is less than the given page size.

## Input

*srd*: sparse response description, a SOAP string (which must be a JSON object), in which you specify the elements you want returned.This parameter enables the calling system to constrain a `method` call to return only components you specify. This gives you greater control over returned content, and improves response time within the Vindicia platform by reducing the processing needed for the call.

Some fields are required, either practically or in the WSDL, and will be returned regardless of the *srd*. A null *srd* returns the complete response.

*status*: a string that describes the `Chargeback` status, which serves as the search criterion. See the following [ChargebackStatus Object Values](#table_kdy_flr_tlb) table for the values of the `Chargeback` enumeration.

*page*: the page number, starting at 0, for which to return the results. For example, if the total number of results is 85 and *pageSize* is 10:

* Specifying 0 for *page* gets the results from 1 through 10.
* Specifying 2 for *page* gets the results from 21 through 30.

*pageSize*: the number of records to display per page per call. This value must be greater than 0.

| Value | Description |
| - | - |
| `Challenged` | Vindicia has submitted rebuttal documents to your payment processor to dispute this chargeback. |
| `CollectionsNew` | An inactive status. |
| `CollectionsWon` | An inactive status. |
| `CollectionsLost` | An inactive status. |
| `Duplicate` | A duplicate chargeback has either been manually entered or received by Vindicia from the payment processor. Another chargeback in the queue exists with exactly the same information but is not marked duplicate. |
| `Expired` | The related documents or transaction details you reported were received too late by Vindicia to dispute this chargeback. |
| `Incomplete` | Vindicia has received chargeback information from the payment processor but does not have the original transaction details from you. |
| `Legitimate` | A valid chargeback because the original transaction was truly fraudulent. Vindicia does not represent or dispute legitimate transactions. |
| `Lost` | Vindicia challenged this chargeback but lost the case. |
| `New` | The first chargeback received by Vindicia, which is in the process of deciding how to pursue on your behalf. |
| `NewSecondChargeback` | A second chargeback has been received against a transaction that was initially charged back, disputed, and won. |
| `Pass` | Even though all the documentation is available, Vindicia will not dispute this chargeback because of one or more of the following reasons: The chargeback is less than US\$5. Not enough evidence exists for a dispute. Regulations do not allow Vindicia to respond. Vindicia does not recommend taking the dispute to arbitration. |
| `Retrieval` | An incoming retrieval or ticket request. |
| `Responded` | Vindicia has responded to the retrieval or ticket request. |
| *Represented* | As a result of Vindicia’s intervention, the chargeback was reversed in your favor. However, the customer or issuing bank is continuing the dispute by issuing a second chargeback. (This status is not in use.) |
| `Won` | Vindicia challenged this chargeback, which has been reversed in your favor. |

## Output

*return*: an object of type `Return` that indicates the success or failure of the call.

*chargebacks*: an array of one or more `Chargeback` objects whose status matches the input.

## Returns

In addition to those listed in [The Return Object](The_Return_Object), this call returns:

| Return Code | Return String |
| - | - |
| `400` | One of the following: - `Unable to load chargebacks by status *input-status:* No match.` - `Unable to load chargebacks by status *input-status: error-description*.` - `Must specify a status to load by!` |

## Example

```

$cb = new Chargeback();
$page = 0;
$pageSize = 50;

do {
    $ret = $cb->fetchByStatus('Won', $page, $pageSize);
    $count = 0;
    if ($ret['returnCode'] == 200) {
        $fetchedChargebacks = $ret['chargebacks'];
        if ($fetchedChargebacks != null) {
            $count = sizeof($fetchedChargebacks);
            foreach ($fetchedChargebacks as $chargeback) {

            // process a fetched chargeback here …

            $transactionId = 
            $chargeback->getMerchantTransactionId();
            $amount = $chargeback->getAmount();
            }
            $page++;
        }
    }
} while ($count > 0);
```

**Parent topic:**[Chargeback Methods](../topics/Chargeback_Methods)


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