---
title: "Get a payment intent"
method: GET
path: "/payment_intents/{id}"
tags: ["Payment intents"]
---

# Get a payment intent

`GET /payment_intents/{id}`

Retrieves the payment intent with the given `id`. The payment intent must belong to your organization and match the `live` or `test` mode of the API key used. Available for organizations on API version `2026-02-01` or later.

## Path parameters

- `id` string, required

## Response `200`

The payment intent with the given `id`.

- PaymentIntent
  - `id` string, required — Unique identifier of the payment intent.
  - `object` 'payment_intent', required — Type of the object. Always `payment_intent`.
  - `amount` integer, required — Amount of the payment intent, in the smallest unit of the currency (for example, `100000` for 100000 CLP, since CLP has no minor unit, or `7050` for 70.50 MXN).
  - `business_profile` object, nullable — Profile of the business that collects the payment, when provided. `null` otherwise.
    - `category` string — Category of the business.
    - `name` string — Name of the business.
    - `tax_id` string — Tax identifier of the business.
  - `created_at` string, date-time, required — ISO 8601 timestamp of when the payment intent was created.
  - `currency` 'CLP' | 'MXN', required — Three-letter ISO 4217 currency code of the payment intent. One of `CLP` or `MXN`.
  - `customer` object, nullable, required — Customer associated with the payment intent, when it was created from a checkout session with a customer. `null` otherwise.
    - `id` string — Unique identifier of the customer.
    - `object` 'customer' — Type of the object. Always `customer`.
    - `address` object, nullable — Address of the customer. `null` when not provided.
      - `city` string — City of the address.
      - `country` string — Country of the address.
      - `line1` string — First line of the address.
      - `line2` string — Second line of the address.
      - `postal_code` string — Postal code of the address.
      - `state` string — State of the address.
    - `created_at` string, date-time — ISO 8601 timestamp of when the customer was created.
    - `email` string, nullable — Email address of the customer.
    - `metadata` object — Set of key-value pairs attached to the customer.
    - `mode` string — Mode of the customer. One of `live` or `test`.
    - `name` string, nullable — Name of the customer.
    - `phone` string, nullable — Phone number of the customer.
    - `tax_id` object, nullable — Tax identifier of the customer. `null` when not provided.
      - `type` string — Type of the tax identifier, for example `cl_rut`.
      - `value` string — Value of the tax identifier.
  - `customer_email` string, nullable, required — Email address of the customer that receives payment notifications. `null` when not provided.
  - `error_reason` string, nullable, required — Reason why the payment failed, was rejected, or expired. `null` while the payment is in progress and when it succeeds.
  - `expires_at` string, date-time, nullable, required — ISO 8601 timestamp of when the payment expires and can no longer be paid. Only set for cash payments; `null` otherwise.
  - `metadata` object, required — Set of key-value pairs attached to the payment intent.
  - `mode` 'test' | 'live', required — Mode of the object. `live` objects use real institution data, `test` objects use fake data for integration testing.
  - `next_action` object, nullable, required — Action the customer must complete to continue the payment, as reported by the widget. `null` when no action is pending.
  - `payment_method` string, nullable, required — Identifier of the payment method used to pay, when the payment intent comes from a checkout session or a subscription. `null` otherwise.
  - `payment_type` string, required — Payment type used to pay, such as `bank_transfer` or `cash`.
  - `payment_type_options` object, required — Options specific to the payment type. For card payments, the object contains a `card` object. For cash payments, the object contains a `cash` object with the `reference_number`, `barcode_url`, and `voucher_url` of the payment. For bank transfers, the object is empty.
    - `card` object — Details of the card payment. Present only for card payments.
      - `authenticated_with_3ds` boolean — If `true`, the cardholder completed 3-D Secure authentication for this payment.
      - `bank` string, nullable — Name of the bank that issued the card. `null` when the issuing bank is unknown.
      - `brand` string — Brand of the card.
      - `country` string — Display name of the country where the card was issued, in English.
      - `kind` string — Kind of card. One of `credit`, `debit`, or `prepaid`.
      - `last_four_digits` string, nullable — Last four digits of the card number. `null` when the digits are not available.
      - `wallet` 'apple_pay' | 'google_pay' | 'null', nullable — Digital wallet used for the card payment. One of `apple_pay` or `google_pay`. `null` for cards entered manually.
  - `recipient_account` object, nullable, required — Bank account that receives the payment. `null` for cash payments.
    - `holder_id` string, nullable, required — Tax identifier of the account holder (RUT in Chile, RFC in Mexico).
    - `institution_id` string, nullable, required — Identifier of the institution of the account.
    - `number` string, nullable, required — Number of the account. In Mexico, the CLABE.
    - `type` string, nullable, required — Type of the account, such as `checking_account` or `sight_account`.
  - `reference_id` string, nullable, required — Identifier of the transfer assigned by the institution. `null` until the transfer is executed.
  - `sender_account` object, nullable, required — Bank account the customer pays from. `null` until Fintoc identifies the sender.
    - `holder_id` string, required — Tax identifier of the account holder (RUT in Chile, RFC in Mexico).
    - `institution_id` string, required — Identifier of the institution of the account.
    - `number` string, required — Number of the account.
    - `type` string, required — Type of the account, such as `checking_account` or `sight_account`.
  - `status` 'created' | 'failed' | 'succeeded' | 'rejected' | 'in_progress' | 'pending' | 'expired', required — Status of the payment intent. One of `created` (the customer has not started the payment), `in_progress` (the customer is paying), `succeeded` (the money reached the recipient account), `rejected` (the institution rejected the transfer), `failed` (the payment could not be completed), `expired` (the payment intent expired before being paid), or `pending` (the final status is not yet known; only used if your organization has the pending status enabled).
  - `subscription` string, nullable, required — Identifier of the subscription that originated the payment intent. `null` for one-off payments.
  - `transaction_date` string, date-time, nullable, required — ISO 8601 timestamp of when the institution executed the transfer. `null` until the transfer is executed.
  - `widget_token` string, nullable, required — Token used to initialize the Fintoc widget for this payment intent. Only returned when the payment intent is created; `null` in every other response.

## Other responses

- `401` — Invalid or missing API key.
- `404` — The payment intent does not exist, belongs to another organization, or does not match the mode of the API key used.

---

[API](https://skmtc.net/fintoc/apis/fintoc-api.md) · [All operations](https://skmtc.net/fintoc/apis/fintoc-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fintoc/fintoc-api/revisions/9dafa63688a3/schema)
