# Transfers

The Transfer object represents the movement of funds to a merchant after an Order has been processed. Transfers may occur immediately during checkout or asynchronously, depending on your configured payment flow.

You can retrieve or search for Transfer objects using the following APIs:

* [Get Transfer by Transfer ID](https://app.gitbook.com/s/8lXIp71Ct5qCUhXjko2q/payments/transfers/get-transfer-by-id)
* [Get Transfer by Payment Provider Transfer ID](https://app.gitbook.com/s/8lXIp71Ct5qCUhXjko2q/payments/transfers/get-transfer-by-payment-provider-transfer-id)
* [Search Transfers](https://app.gitbook.com/s/8lXIp71Ct5qCUhXjko2q/payments/transfers/search-transfers)

Each of these endpoints returns a Transfer object containing key details such as status, amount, currency, related\_bags, and any associated errors. This object helps determine whether a merchant has received their distribution for a specific Bag.

### Understanding the Transfer object

#### Sample `Transfer`

```json
{
  "id": 93001,
  "payment_provider_id": "tr_1QMsWtKUtPkD123456789asdf",
  "payout_account_id": 1025,
  "amount": 3290,
  "currency": "USD",
  "status": "SENT",
  "payment_provider": "STRIPE",
  "related_orders": [
    "148830"
  ],
  "related_bags": [
    "139177"
  ],
  "related_distributions": [
    "87770"
  ],
  "date_created": "2024-11-19T14:35:47+0000",
  "date_last_modified": "2024-11-19T14:35:47+0000",
  "errors": [],
  "payment_service": "STRIPE",
  "external_id": "tr_1QMsWtKUtPkD123456789asdf"
}
```

The following data is available in a `Transfer` object:

| Field                          | Type             | Sample Value                 | Notes                                                                                                                                                   |
| ------------------------------ | ---------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `merchant_id`                  | Integer          | `12345`                      | The unique identifier of the merchant that this transfer is associated with.                                                                            |
| `payment_provider_transfer_id` | String           | `“wz_789xyz”`                | The unique identifier of the Transfer object in your payment provider.                                                                                  |
| `status`                       | String           | `SUCCESS` , `FAILED`         | Denotes what state the transfer is in. When associated to an `EXTERNAL` Transfer, this status is always `SUCCESS`                                       |
| `amount`                       | Integer          | `10000`                      | Amount transferred, in fractional currency unit (e.g. cents).                                                                                           |
| `currency`                     | String           | `“USD”`                      | Currency in which these funds were transferred.                                                                                                         |
| `related_bags`                 | List of Integers | `[12345, 12346, 18283]`      | Violet Bag IDs for which this transfer was processed.                                                                                                   |
| `related_orders`               | List of Integers | `[22345, 22346, 28283]`      | Violet Order IDs for which this transfer was processed.                                                                                                 |
| `related_distributions`        | List of Integers | `[1118941, 1231123, 181283]` | Violet Distribution IDs for which this transfer was processed. The Distributions are the specific amounts for each Bag that were owed to this merchant. |
