> ## 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 Payment Intent object

The `PaymentIntent` object represents a single payment your customer makes toward your account, where the `payment_type` field identifies the method behind it, such as `bank_transfer`, `card`, `installment`, or `cash`. It appears when you create a payment, as the `payment_resource` of a `Checkout Session` once your customer pays, and in payment webhook events. Its `status` field tracks the payment through `created`, `in_progress`, `succeeded`, `failed`, `pending`, `requires_action`, `expired`, and `rejected`.

```json Payment Intent Object theme={null}
{
  "id": "pi_BO381oEATXonG6bj",
  "object": "payment_intent",
  "amount": 1000,
  "business_profile": {
    "category": "009613",
    "name": "Test Business 1",
    "tax_id": "777777777"
  },
  "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": "222222222",
    "institution_id": "cl_banco_de_chile",
    "number": "123456",
    "type": "checking_account"
  },
  "reference_id": "90123712",
  "sender_account": {
    "holder_id": "111111111",
    "institution_id": "cl_banco_estado",
    "number": "123456",
    "type": "checking_account"
  },
  "status": "created",
  "subscription": null,
  "transaction_date": "2021-10-15T15:24:15.474Z",
  "widget_token": "pi_BO381oEATXonG6bj_sec_a4xK32BanKWYn"
}
```

| 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`. `CLP` has no decimals, so `5000` means 5000 pesos; `MXN` uses *centavos*, so `5000` means 50.00 pesos. Must be greater than `0`.                                                                                                                                                                                                                                         |
| `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 associated with the Payment Intent. `null` when no customer is attached.                                                                                                                                                                                                                                                                                                                                           |
| `customer_email`       | `string` or `null` | Email of your customer, used for refund notifications. `null` when not provided, in which case Fintoc does not send refund emails for the Payment Intent.                                                                                                                                                                                                                                                                   |
| `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](/reference/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](/reference/fintoc-api/metadata) pairs you can attach to the Payment Intent, useful for storing additional information in a structured format.                                                                                                                                                                                                                                                            |
| `mode`                 | `string`           | Mode of 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 confirming the payment in a banking app. The `type` key indicates the kind of action. `null` when no action is pending.                                                                                                                                                                                                                             |
| `payment_method`       | `string` or `null` | `id` of the saved payment method that paid the Payment Intent. `null` when the payment was not made with a saved payment method.                                                                                                                                                                                                                                                                                            |
| `payment_type`         | `string`           | Type of payment that produced this Payment Intent. One of `bank_transfer`, `cash`, `card`, `installment`, or `pac` (automatic recurring bank debit), or a provider-specific external redirect identifier such as `banco_estado`.                                                                                                                                                                                            |
| `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` when a payment takes longer than usual to be confirmed by the bank, or when your customer abandoned the payment before returning an operation number.                                                                                                                                                                                                          |
| `sender_account`       | `object` or `null` | Account that sends the payment. `null` when `payment_type` is not `bank_transfer`, or 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. One of `created` (the payment has not started), `in_progress` (Fintoc is processing the payment), `succeeded` (the payment completed), `failed` (the payment did not complete), `pending` (the payment is awaiting confirmation), `requires_action` (your customer must complete the action in `next_action`), `expired` (the payment expired before completing), or `rejected` (the payment was rejected). |
| `subscription`         | `string` or `null` | `id` 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. Only returned when you create the Payment Intent; `null` afterward.                                                                                                                                                                                                                                                                                                           |

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

These objects describe the bank accounts on each side of the payment, returned in the `recipient_account` field for the account that receives the funds and the `sender_account` field for the customer's account that pays. They apply only when `payment_type` is `bank_transfer`; for other payment types, both fields are `null`.

| 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` | Account's institution `id`. Learn more about institutions and their `id`s in [Payment initiation countries and institutions](/docs/payments/overview-payment-initiation/payment-initiation-countries-and-institutions). |
| `number`         | `string` | Account number. Does not include hyphens or prefixed zeros.                                                                                                                                                             |
| `type`           | `string` | Account type. One of `checking_account` or `sight_account`.                                                                                                                                                             |

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

This object describes the business that receives the payment when you collect it on behalf of a sub-merchant, returned in the `business_profile` field.

| Attribute  | Type     | Description                                                                                                                                                               |
| :--------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `category` | `string` | Identifier of the category of the sub-merchant. In Chile, it is a 6-character [SII activity code](https://www.sii.cl/ayudas/ayudas_por_servicios/1956-codigos-1959.html). |
| `name`     | `string` | Enrolled merchant's name. If set, it appears as the "Recipient" on the succeeded payment screen.                                                                          |
| `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).                    |
