# Transfer Attempts

When a user attempts to make a payment using a Checkout Form or [Payment Link](/low-code-no-code/payment-links), or a recipient submitting details with a [Payout Link](/guides/payouts/payout-links)—a Transfer Attempt is created.

Using transfer attempts, you can track the lifecycle of a payment or a series of payments if you are using a multi-use Payment Link.

A Transfer Attempt records the original `entity_id` and the resulting `transfer_id` (or `authorization_id` for payment links that authorize a payment).

You cannot create transfer attempts directly. They are created automatically when a user submits a form using one of these methods.

## Key Details

- **Relationship to Transfers**: Each payment using a `Checkout Form` or `Payment Link` creates a `Transfer` with a corresponding `Transfer Attempt` to track it. Multiple transfers can occur when buyers retry failed payments or when multiple buyers use a multi-use payment link. Payout links create a `Transfer` for each payout, with a corresponding `Transfer Attempt` to track it.
- **Relationship to Authorizations**: Payment links configured to authorize a payment reference the resulting `Authorization` instead of a `Transfer`.
- **Every Transfer Attempt contains two main identifiers**: `transfer_id` (points to the `Transfer`) and `entity_id` that references the entity that initiated the payment. An `authorization_id` is present for payment links that authorize a payment.


## How Checkout Form, Payment Link, or Payout Links Relate to Transfer Attempts and Transfers

Here's how checkout forms, payment Links, and payout links relate to transfer attempts and transfers:

1. **Checkout Form, Payment Link, or Payout Link:** These entities allow users enter payment details. Multi-use payment links allow multiple submissions, each creating a new `Transfer Attempt` and `Transfer`. Checkout forms and payout links are single-use, creating only one `Transfer Attempt` and `Transfer`.
2. **Transfer Attempt:** Each payment attempt creates a `Transfer Attempt` resource that contains:
  - The originating entity (via the `entity_id` field)
  - The resulting `Transfer` (via the `transfer_id` field)
This structure lets you trace each `Transfer` back to its originating entity. You can see every attempt, whether it succeeded or not, for that entity.
3. **Transfer:** This is the final payment resource created if a transfer attempt is successful.


Transfer Attempts
## Transfer Attempt States

When a user submits a form, the system creates a `Transfer Attempt` in `PENDING` state. If the payment is accepted, the state changes to `SUCCEEDED`. If it fails, it changes to `FAILED`.

## Transfer Attempt Webhooks

Users often want to track the relationships between entities and the resulting transfers. The best approach is to subscribe to the [Transfer Attempt - Created](/additional-resources/developers/webhooks/webhook-events#transfer-attempt-created) and [Transfer Attempt - Updated](/additional-resources/developers/webhooks/webhook-events#transfer-attempt-updated) webhooks. These webhooks provide both `entity_id` and `transfer_id`, allowing you to associate a `Transfer` with the original entity.

For example, when listening to the `Transfer Attempt - Created` webhook, the payload will show the `transfer_id` and `entity_id`. The `entity_type` field indicates whether the entity is a `Checkout Form`, `Payment Link`, or `Payout Link`.


```json
{
  "type": "created",
  "entity": "transfer_attempt",
  "occurred_at": "2020-04-29T20:31:32.348",
  "_embedded": {
    "transfer_attempts": [
      {
        "id": "transfer_attempt_ciACBK59kDhfx2Mi4Vy81",
        "created_at": "2024-12-27T05:52:07.44Z",
        "updated_at": "2024-12-27T05:52:07.44Z",
        "merchant_id": "MUmfEGv5bMpSJ9k5TFRUjkmm",
        "application_id": "APc9vhYcPsRuTSpKD9KpMtPe",
        "amount": 200,
        "currency": "USD",
        "state": "SUCCEEDED",
        "payment_frequency": "ONE_TIME",
        "transfer_id": "TRodANv8j3CVRUQz4sgZa8sK",
        "payment_instrument_id": "PI7AS61AmsnJQ5Y7sL7dM1Ux",
        "entity_id": "checkout_form_ciADaDNMFAHdyNbDPuByS",
        "entity_type": "CHECKOUT_FORM",
        "buyer_details": {
          "first_name": "",
          "last_name": "",
          "email": "test@gmail.com",
          "identity_id": "IDew6Bkcj1AwEP2aWhjjfdqS",
          "phone": null,
          "billing_address": null,
          "shipping_address": {
            "city": null,
            "country": "USA",
            "line1": null,
            "line2": null,
            "postal_code": null,
            "region": null
          }
        },
        "failure_code": null,
        "failure_message": null,
        "tags": {},
        "recipient_details": null,
        "operation_key": "SALE",
        "type": "DEBIT",
        "recipient_merchant_id": null,
        "receipt_requested_delivery_methods": [
          {
            "type": "EMAIL",
            "destinations": ["test@gmail.com"]
          }
        ],
        "additional_buyer_charges": null,
        "amount_requested": 200
      }
    ]
  }
}
```