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

# The Payment Intent object

The `PaymentIntent` object represents a single payment from your customer to your account. The `payment_type` field identifies the payment method, such as `bank_transfer`, `card`, `installment`, or `cash`. The object appears when you create a payment, as the `payment_resource` of a `CheckoutSession` after your customer pays, and in payment webhook events. The `status` field tracks the payment from creation to completion.

The following table describes the `PaymentIntent` attributes:

| Attribute              | Type               | Description                                                                                                                                                                                                                                                                                                                                    |
| :--------------------- | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                   | `string`           | Unique identifier of the Payment Intent.                                                                                                                                                                                                                                                                                                       |
| `object`               | `string`           | Type of the object. Always `payment_intent`.                                                                                                                                                                                                                                                                                                   |
| `amount`               | `integer`          | Amount to pay, in the smallest unit of `currency`. Must be greater than `0`. `CLP` has no minor unit, so `5000` means `$5000 CLP`. For `MXN`, `5000` means `$50.00 MXN`.                                                                                                                                                                       |
| `business_profile`     | `object` or `null` | Business that receives the payment when you collect it on behalf of a sub-merchant. `null` when not provided. See the [Business Profile object](#the-business-profile-object-within-the-payment-intent-object) below.                                                                                                                          |
| `created_at`           | `string`           | ISO 8601 timestamp of when the Payment Intent was created, in UTC.                                                                                                                                                                                                                                                                             |
| `currency`             | `string`           | Three-letter ISO 4217 currency code, in uppercase. One of `CLP` or `MXN`.                                                                                                                                                                                                                                                                      |
| `customer`             | `object` or `null` | [`Customer`](/api/payments-api/customers/customer-object) associated with the Payment Intent. `null` when no customer is attached.                                                                                                                                                                                                             |
| `customer_email`       | `string` or `null` | Your customer's email address, used for refund notifications. `null` when not provided. Fintoc does not send refund emails without `customer_email`.                                                                                                                                                                                           |
| `error_reason`         | `string` or `null` | Error code explaining why the Payment Intent failed. `null` when the payment has not failed. See [Payment Intent Error Reason](/api/payments-api/payment-intents/payment-intent-error-reason) for the list of error reasons.                                                                                                                   |
| `expires_at`           | `string` or `null` | ISO 8601 timestamp of when the Payment Intent expires, in UTC. `null` when the Payment Intent does not expire.                                                                                                                                                                                                                                 |
| `metadata`             | `object`           | Set of [key-value](/api/fintoc-api/metadata) pairs you can attach to the Payment Intent. Use these pairs to store additional structured information.                                                                                                                                                                                           |
| `mode`                 | `string`           | Environment that produced the object. `live` uses real institution data; `test` uses fake data for integration testing.                                                                                                                                                                                                                        |
| `next_action`          | `object` or `null` | Action your customer must complete for the payment to continue, such as confirmation in a banking app. The `type` key identifies the action. `null` when no action is pending.                                                                                                                                                                 |
| `payment_method`       | `string` or `null` | Unique identifier of the saved payment method that paid the Payment Intent. `null` when no saved payment method paid the Payment Intent.                                                                                                                                                                                                       |
| `payment_type`         | `string`           | Payment method that produced this Payment Intent. One of `bank_transfer`, `cash`, `card`, `installment`, or `pac` (automatic recurring bank debit). A provider-specific external redirect identifier, such as `banco_estado`, is also possible.                                                                                                |
| `payment_type_options` | `object`           | Additional options specific to `payment_type`. Empty object when `payment_type` has no extra options.                                                                                                                                                                                                                                          |
| `recipient_account`    | `object` or `null` | Account that receives the payment. `null` when `payment_type` is not `bank_transfer`. See [The Recipient Account object and the Sender Account object](#the-recipient-account-object-and-the-sender-account-object-within-the-payment-intent-object) below.                                                                                    |
| `reference_id`         | `string` or `null` | Operation number from the bank of the sender account. `null` while the bank is confirming the payment or when your customer abandons the payment before receiving an operation number.                                                                                                                                                         |
| `sender_account`       | `object` or `null` | Account that sends the payment. `null` when `payment_type` is not `bank_transfer`. Also `null` when your customer abandons the payment before choosing a sender account. See [The Recipient Account object and the Sender Account object](#the-recipient-account-object-and-the-sender-account-object-within-the-payment-intent-object) below. |
| `status`               | `string`           | Payment status. Possible values are `created` (not started), `in_progress` (processing), `succeeded` (completed), and `failed` (not completed). The status can also be `pending` (awaiting confirmation), `requires_action` (awaiting the action in `next_action`), `expired` (expired before completion), or `rejected` (rejected).           |
| `subscription`         | `string` or `null` | Unique identifier of the subscription that generated this Payment Intent. `null` when the payment is not part of a subscription.                                                                                                                                                                                                               |
| `transaction_date`     | `string` or `null` | ISO 8601 timestamp of when the bank authorized the transaction, in UTC. `null` when your customer abandoned the payment before transferring.                                                                                                                                                                                                   |
| `widget_token`         | `string` or `null` | Temporary token used to configure the widget. The API returns this token only when you create the Payment Intent; the value is `null` afterward.                                                                                                                                                                                               |

The following example shows a `PaymentIntent` object:

```json Payment Intent Object theme={null}
{
  "id": "pi_BO381oEATXonG6bj",
  "object": "payment_intent",
  "amount": 1000,
  "business_profile": {
    "category": "009613",
    "name": "Test Business 1",
    "tax_id": "000000000"
  },
  "created_at": "2021-10-15T15:23:11.474Z",
  "currency": "CLP",
  "customer": null,
  "customer_email": "customer@example.com",
  "error_reason": null,
  "expires_at": null,
  "metadata": {},
  "mode": "live",
  "next_action": null,
  "payment_method": null,
  "payment_type": "bank_transfer",
  "payment_type_options": {},
  "recipient_account": {
    "holder_id": "000000001",
    "institution_id": "cl_banco_de_chile",
    "number": "000000",
    "type": "checking_account"
  },
  "reference_id": "90123712",
  "sender_account": {
    "holder_id": "000000002",
    "institution_id": "cl_banco_estado",
    "number": "000000",
    "type": "checking_account"
  },
  "status": "created",
  "subscription": null,
  "transaction_date": "2021-10-15T15:24:15.474Z",
  "widget_token": "pi_BO381oEATXonG6bj_sec_a4xK32BanKWYn"
}
```

## The Recipient Account object and the Sender Account object (within the Payment Intent object)

These objects describe the bank accounts on each side of a transfer. The `recipient_account` field contains the account that receives the funds. The `sender_account` field contains your customer's account. These fields apply only when `payment_type` is `bank_transfer`; otherwise, both fields are `null`.

The following table describes both account objects:

| Attribute        | Type     | Description                                                                                                                                                                                                                         |
| :--------------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `holder_id`      | `string` | Account owner's tax ID. In Chile, this value is a Chilean tax ID (RUT). In Mexico, this value is a Mexican tax ID (RFC) or Unique Population Registry Code (CURP).                                                                  |
| `institution_id` | `string` | Institution `id` for the account. See [Payment initiation countries and institutions](/guides/payments/overview-payment-initiation/payment-initiation-countries-and-institutions) for available institutions and their `id` values. |
| `number`         | `string` | Account number. Does not include hyphens or prefixed zeros.                                                                                                                                                                         |
| `type`           | `string` | Classification of the bank account. One of `checking_account` or `sight_account`.                                                                                                                                                   |

## The Business Profile object (within the Payment Intent object)

The `business_profile` field describes the business that receives the payment when you collect it on behalf of a sub-merchant.

The following table describes the `business_profile` attributes:

| Attribute  | Type     | Description                                                                                                                                                                   |
| :--------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `category` | `string` | Category identifier for the sub-merchant. In Chile, this value is a six-character [tax activity code](https://www.sii.cl/ayudas/ayudas_por_servicios/1956-codigos-1959.html). |
| `name`     | `string` | Enrolled merchant's name. Fintoc shows this value as the "Recipient" on the succeeded payment screen when you provide a name.                                                 |
| `tax_id`   | `string` | Enrolled merchant's tax ID. In Chile, it is a Chilean tax ID (RUT). In Mexico, it is a Mexican tax ID (RFC) or Unique Population Registry Code (CURP).                        |
