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

# The Intent object

The Intent object represents the declaration of a payment authorization made via a third-party PSP.

[Read more about Mangopay Echo](/guides/echo) **→**

### Attributes

<ResponseField name="Id" type="string">
  The unique identifier of the intent.
</ResponseField>

<ResponseField name="Amount" type="integer">
  The full amount authorized in the Intent, which must equal the sum of the total amounts of all `LineItems`.
</ResponseField>

<ResponseField name="AvailableAmountToSplit" type="integer">
  The remaining amount of the Intent that can be split and transferred to the sellers' wallets.
</ResponseField>

<ResponseField name="UnfundedAmount" type="integer">
  The amount needing to be settled to the Platform's escrow wallet before the Intent Splits can be executed.
</ResponseField>

<ResponseField name="Currency" type="integer">
  The currency of the intent.
</ResponseField>

<ResponseField name="PlatformFees" type="integer">
  The amount of fees to be diverted to the platform's Fees Wallet when the Intent is split. This value can be overridden when the Split is created.

  The `PlatformFees` value must the sum of all line item `Seller.FeesAmount` values.
</ResponseField>

<ResponseField name="Status" type="string">
  The status of the Intent, as declared by the platform through Intent Captures, Refunds (and reversals), or Disputes (and decisions). Where partial actions occur, the top-level Intent `Status` may differ from the `Status` of Intent `LineItems`.

  Intent `Status` values:

  * `AUTHORIZED` – The Intent `Amount` was authorized for acquisition by the PSP and can be captured or canceled.
  * `PARTIALLY_CAPTURED` – Part of the Intent `Amount` from one or more `LineItems` was captured. The other parts are either still available for capture or cancel.
  * `CAPTURED` – All of the Intent `Amount` was captured. Part of it may have been subsequently refunded or disputed.
  * `CANCELLED` – All of the Intent `Amount` was canceled.
  * `REFUNDED` – All of the `CapturedAmount` of all `LineItems` was refunded.
  * `REFUND_REVERSED` – The refund could not be completed and the funds were returned to the platform.
  * `DISPUTED` – All of the `CapturedAmount` of all `LineItems` was disputed.
  * `DEFENDED` – The dispute is being defended by the platform.
  * `DISPUTED_WON` – The dispute was resolved in favor of the platform.
  * `DISPUTED_LOST` – The dispute was resolved against the platform.
</ResponseField>

<ResponseField name="NextActions" type="string">
  The possible next actions on the intent.
</ResponseField>

<ResponseField name="ExternalData" type="object">
  Information about the transaction authorization processed by the third-party PSP.

  <Expandable>
    <ResponseField name="ExternalProcessingDate" type="Unix timestamp">
      The date at which the transaction authorization was created.
    </ResponseField>

    <ResponseField name="ExternalProviderReference" type="string">
      The unique identifier of the transaction at the provider level.
    </ResponseField>

    <ResponseField name="ExternalMerchantReference" type="string">
      The unique identifier of the transaction at the merchant level.
    </ResponseField>

    <ResponseField name="ExternalProviderName" type="string">
      The [supported third-party PSP](/api-reference/echo/supported-providers) processing the transaction.

      **Note:** The uppercase value is expected. The API returns the sentence-case value.
    </ResponseField>

    <ResponseField name="ExternalProviderPaymentMethod" type="string">
      One of the [supported payment methods](/api-reference/echo/supported-payment-methods) used to process the transaction.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="Buyer" type="object">
  Information about the buyer.

  <Expandable>
    <ResponseField name="Id" type="string">
      If it exists, the unique identifier of the Mangopay user making the payment via the third-party PSP. Must be a valid Mangopay `UserId`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="LineItems" type="array (object)">
  Information about the items purchased in the transaction.

  The sum of all line item amounts must equal the Intent `Amount` value. The total for each line items is calculated as ((`UnitAmount` x `Quantity`) - `DiscountAmount`), which is shown in the `TotalLineItemAmount` returned. The `TaxAmount` is indicative and included in the `UnitAmount`.

  The sum of all line item `Seller.FeesAmount` values must equal the Intent `PlatformFees` value.

  <Expandable>
    <ResponseField name="Seller" type="object">
      Information about the seller of the line item.

      <Expandable>
        <ResponseField name="AuthorId" type="string">
          The unique identifier of the seller of the line item.

          Required if `WalletId` not sent.
        </ResponseField>

        <ResponseField name="WalletId" type="string">
          The unique identifier of the wallet to credit the seller's funds.

          Required if `AuthorId` not sent.
        </ResponseField>

        <ResponseField name="FeesAmount" type="integer">
          The amount of fees that will be diverted to the platform's Fees Wallet when the Intent is split. This value can be overridden when the Split is created.
        </ResponseField>

        <ResponseField name="TransferDate" type="Unix timestamp">
          The future date when the funds are to be automatically transferred to the seller's wallet.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Id" type="string">
      The unique identifier of the line item in Mangopay's ecosystem.
    </ResponseField>

    <ResponseField name="Sku" type="string">
      The stock keeping unit (SKU) or other unique identifier of the item.
    </ResponseField>

    <ResponseField name="Name" type="string">
      The name of the item.
    </ResponseField>

    <ResponseField name="Description" type="string">
      The description of the item.
    </ResponseField>

    <ResponseField name="Quantity" type="integer">
      The number of units in the line item.
    </ResponseField>

    <ResponseField name="UnitAmount" type="integer">
      The cost of each unit, including `TaxAmount` and excluding `DiscountAmount`.
    </ResponseField>

    <ResponseField name="TaxAmount" type="integer">
      The amount of the `UnitAmount` which is tax.
    </ResponseField>

    <ResponseField name="DiscountAmount" type="integer">
      The amount of discount applied to the line item.
    </ResponseField>

    <ResponseField name="Category" type="string">
      The category of the item, as defined by the platform.
    </ResponseField>

    <ResponseField name="ShippingAddress" type="object">
      Information about the shipping address.

      <Expandable>
        <ResponseField name="AddressLine1" type="string">
          The first line of the address.
        </ResponseField>

        <ResponseField name="AddressLine2" type="string">
          The second line of the address.
        </ResponseField>

        <ResponseField name="City" type="string">
          The city of the address
        </ResponseField>

        <ResponseField name="Region" type="string">
          The region of the address.
        </ResponseField>

        <ResponseField name="PostalCode" type="string">
          The postal code of the address
        </ResponseField>

        <ResponseField name="Country" type="string">
          The country of the address
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="CapturedAmount" type="integer">
      The item total `CAPTURED` amount
    </ResponseField>

    <ResponseField name="RefundedAmount" type="integer">
      The item total `REFUNDED` amount
    </ResponseField>

    <ResponseField name="DisputedAmount" type="integer">
      The item total `DISPUTED` amount.
    </ResponseField>

    <ResponseField name="SplitAmount" type="integer">
      The item total `COMPLETED` amount.
    </ResponseField>

    <ResponseField name="CancelledAmount" type="integer">
      The item total `CANCELLED` amount.
    </ResponseField>

    <ResponseField name="TotalLineItemAmount" type="integer">
      The total amount of the line item calculated as ((`UnitAmount` x `Quantity`) - `DiscountAmount`).
    </ResponseField>

    <ResponseField name="UnfundedSellerAmount" type="integer">
      The amount needing to be settled to the Platform's escrow wallet before the Intent Splits can be executed for this seller.
    </ResponseField>

    <ResponseField name="SplitOriginWalletId" type="string">
      The unique identifier of the wallet from which the split will be debited.

      This parameter is required for Intents where `ExternalProviderName` is `Mangopay`. If it is not defined in the Intent it must be defined at Split creation.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="CreationDate" type="string">
  The date and time at which the Intent was created.
</ResponseField>

<ResponseField name="ExecutionDate" type="Unix timestamp">
  The date and time at which the Intent moved to `AUTHORIZED`.
</ResponseField>

<ResponseField name="Captures" type="array (object)">
  Information about the amounts captured against the Intent.

  <Expandable>
    <ResponseField name="Id" type="string">
      The unique identifier of the Capture.
    </ResponseField>

    <ResponseField name="Amount" type="integer">
      The amount of the Capture.
    </ResponseField>

    <ResponseField name="Status" type="string">
      The status of the Intent Capture:

      * `CAPTURED` – The funds have been acquired by the third-party PSP and are expected on the escrow wallet.
      * `SETTLED_NOT_PAID` – The transaction was included in a settlement file successfully uploaded by the platform using the [POST Create a Settlement](/api-reference/settlements/create-settlement) endpoint.
      * `PAID` – The funds were received on the platform's escrow wallet.
    </ResponseField>

    <ResponseField name="LineItems" type="array (object)">
      Information about the line items in the Capture.

      <Expandable>
        <ResponseField name="Id" type="string">
          The unique identifier of the line item.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          The amount of the line item.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="CreationDate" type="Unix timestamp">
      The date and time at which the Capture was created.
    </ResponseField>

    <ResponseField name="ExecutionDate" type="Unix timestamp">
      The date at which the object was successfully moved to `CAPTURED`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="Refunds" type="array (object)">
  Information about the Refunds created against the Intent.

  <Expandable>
    <ResponseField name="Id" type="string">
      The unique identifier of the Refund.
    </ResponseField>

    <ResponseField name="Amount" type="integer">
      The amount of the Refund.
    </ResponseField>

    <ResponseField name="Status" type="string">
      The status of the Intent Refund:

      * `REFUNDED` – The funds were subject to a refund are not expected on the escrow wallet.
      * `REFUND_REVERSED` – The refund could not be completed: the funds were returned to the platform and are expected on the escrow wallet.
    </ResponseField>

    <ResponseField name="LineItems" type="array (object)">
      Information about the line items in the Refund.

      <Expandable>
        <ResponseField name="Id" type="string">
          The unique identifier of the line item.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          The amount of the line item.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="CreationDate" type="Unix timestamp">
      The date and time at which the Refund was created.
    </ResponseField>

    <ResponseField name="ExecutionDate" type="Unix timestamp">
      The date at which the object was successfully moved to `REFUNDED`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="Disputes" type="array (object)">
  Information about the Disputes created against against the Intent.

  <Expandable>
    <ResponseField name="Id" type="string">
      The unique identifier of the Dispute.
    </ResponseField>

    <ResponseField name="Amount" type="integer">
      The amount of the Dispute.
    </ResponseField>

    <ResponseField name="Status" type="string">
      The status of the Intent Dispute:

      * `NEEDS_RESPONSE` – The outcome of the dispute has not been declared by the platform.
      * `DEFENDED` – The dispute is being defended and the funds may have been returned to the platform temporarily, but they are not expected on the escrow wallet.
      * `DISPUTED_WON` – The dispute was resolved in favor of the platform and the funds are expected on the escrow wallet.
      * `DISPUTED_LOST` – The dispute was ruled against the platform and the funds were returned to the user.
    </ResponseField>

    <ResponseField name="LineItems" type="array (object)">
      Information about the line items in the Dispute.

      <Expandable>
        <ResponseField name="Id" type="string">
          The unique identifier of the line item.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          The amount of the line item.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="CreationDate" type="Unix timestamp">
      The date and time at which the Dispute was created.
    </ResponseField>

    <ResponseField name="ExecutionDate" type="Unix timestamp">
      The date at which the object was successfully moved to `DISPUTED`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="Splits" type="array (object)">
  Information about the Splits created against the Intent.

  <Expandable>
    <ResponseField name="Id" type="string">
      The unique identifier of the Split.
    </ResponseField>

    <ResponseField name="Amount" type="integer">
      The amount of the Split.
    </ResponseField>

    <ResponseField name="Status" type="string">
      The status of the Split:

      * `CREATED`
      * `PENDING_FUNDS_RECEPTION`
      * `AVAILABLE`
      * `PENDING`
      * `COMPLETED`
      * `REJECTED`
      * `FAILED`
      * `REVERSED`
      * `REFUND_SPLIT_PENDING`
      * `REFUND_SPLIT_REJECTED`
      * `REFUND_SPLIT_COMPLETED`
    </ResponseField>

    <ResponseField name="LineItems" type="array (object)">
      Information about the line items in the Split.

      <Expandable>
        <ResponseField name="Id" type="string">
          The unique identifier of the line item.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          The amount split for the line item.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="CreationDate" type="Unix timestamp">
      The date and time at which the Split was created.
    </ResponseField>

    <ResponseField name="ExecutionDate" type="Unix timestamp">
      The date at which the object was successfully moved to `CREATED`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="SettlementIds" type="array (string)">
  The unique identifier of the Settlement(s) linked to this Intent, if successfully created by uploading a settlement file to [POST Create a Settlement](/api-reference/settlements/create-settlement).
</ResponseField>

<Panel>
  ```json Intent object example theme={null}
  {
      "Id": "int_0198f0f0-471f-7f1b-8f79-483ab735c6d9",
      "Amount": 20000,
      "AvailableAmountToSplit": 20000,
      "UnfundedAmount": 0,
      "Currency": "EUR",
      "PlatformFeesAmount": 0,
      "Status": "CAPTURED",
      "NextActions": "REFUND, DISPUTE",
      "ExternalData": {
          "ExternalProcessingDate": 1754489100,
          "ExternalProviderReference": "auth-stripe-76f0baab-3d89-47e4-85f6-417864588055",
          "ExternalMerchantReference": "order-390ca7c3-9e5f-4814-bb6a-c5ef6fd74c47",
          "ExternalProviderName": "Stripe",
          "ExternalProviderPaymentMethod": "MASTERCARD"
      },
      "Buyer": {
          "Id": "user_m_01K3QXQEA1N0SYR7CFH82WHYWZ"
      },
      "LineItems": [
          {
              "Seller": {
                  "AuthorId": "user_m_01JH2Z9GXCCHGFN65T5HDZG4GB",
                  "WalletId": "wlt_m_01K3K8GR95Q64RPM4F6F1E5FVB",
                  "FeesAmount": 0
              },
              "Id": "int_li_0198f0f0-4720-79d1-ad7f-7f34c5d7fb48",
              "Sku": "example-item-123",
              "Name": "Example item name",
              "Description": "Example item description",
              "Quantity": 2,
              "UnitAmount": 6000,
              "TaxAmount": 0,
              "DiscountAmount": 2000,
              "Category": "Example category",
              "ShippingAddress": {
                  "AddressLine1": "550 Vincent Stream",
                  "City": "Paris",
                  "Region": "Ile de France",
                  "PostalCode": "75001",
                  "Country": "FR"
              },
              "CapturedAmount": 10000,
              "RefundedAmount": 0,
              "DisputedAmount": 0,
              "SplitAmount": 0,
              "CancelledAmount": 0,
              "TotalLineItemAmount": 10000,
              "UnfundedSellerAmount": 0
          },
          {
              "Seller": {
                  "AuthorId": "user_m_01K3QXPKSXPXETQQX92M5TH66K",
                  "WalletId": "wlt_m_01K3NXMX4WXNSQPDJR0JQ4TKVD",
                  "FeesAmount": 0
              },
              "Id": "int_li_0198f0f0-4720-79d1-ad7f-7f34c5d7fb49",
              "Sku": "example-item-456",
              "Name": "Example item name",
              "Description": "Example item description",
              "Quantity": 1,
              "UnitAmount": 10000,
              "TaxAmount": 0,
              "DiscountAmount": 0,
              "Category": "Example category",
              "ShippingAddress": {
                  "AddressLine1": "16586 Matt Points",
                  "City": "Paris",
                  "Region": "Ile de France",
                  "PostalCode": "75001",
                  "Country": "FR"
              },
              "CapturedAmount": 10000,
              "RefundedAmount": 0,
              "DisputedAmount": 0,
              "SplitAmount": 0,
              "CancelledAmount": 0,
              "TotalLineItemAmount": 10000,
              "UnfundedSellerAmount": 0
          }
      ],
      "Captures": [
          {
              "Id": "int_capture_0198f0f0-54c9-7821-aa58-9ea99c19cac3",
              "Amount": 20000,
              "Status": "SETTLED_NOT_PAID",
              "LineItems": [
                  {
                      "Id": "int_li_0198f0f0-4720-79d1-ad7f-7f34c5d7fb48",
                      "Amount": 10000
                  },
                  {
                      "Id": "int_li_0198f0f0-4720-79d1-ad7f-7f34c5d7fb49",
                      "Amount": 10000
                  }
              ],
              "CreationDate": 1756388938,
              "ExecutionDate": 1756389033
          }
      ],
      "Refunds": [],
      "Disputes": [],
      "Splits": [
          {
              "Id": "int_split_0198f124-ea93-786c-b7f1-40c465efacca",
              "Amount": 5000,
              "Status": "PENDING_FUNDS_RECEPTION",
              "LineItems": [
                  {
                      "Id": "int_li_0198f0f0-4720-79d1-ad7f-7f34c5d7fb48",
                      "Amount": 5000
                  }
              ],
              "CreationDate": 1756392385,
              "ExecutionDate": 1756392385
          },
          {
              "Id": "int_split_0198f124-ea93-786c-b7f1-40c465efaccb",
              "Amount": 5000,
              "Status": "PENDING_FUNDS_RECEPTION",
              "LineItems": [
                  {
                      "Id": "int_li_0198f0f0-4720-79d1-ad7f-7f34c5d7fb49",
                      "Amount": 5000
                  }
              ],
              "CreationDate": 1756392385,
              "ExecutionDate": 1756392385
          }
      ],
      "CreationDate": 1756388935,
      "ExecutionDate": 1756388938,
      "SettlementIds": [
          "int_stlmnt_0198f0f1-b3ac-7635-baa3-0ab1dff2ea3a"
      ]
  }
  ```
</Panel>
