The Checkout Session object
TheCheckoutSession object represents the payment flow your customer completes to pay you. You create one to start a payment, a subscription, or a payment method setup, and Fintoc returns the CheckoutSession object. It holds the amount, currency, payment method configuration, and the redirect URLs your customer uses to complete the session. The session tracks its status through created, in_progress, finished, and expired.
Checkout Session Object
{
"id": "cs_li5531onlFDi235",
"object": "checkout_session",
"amount": 350000,
"business_profile": null,
"cancel_url": "https://merchant.com/cancel",
"created_at": "2026-01-13T18:48:25Z",
"currency": "CLP",
"customer": {
"id": "cus_8anq0lFDi2359An",
"object": "customer",
"address": null,
"created_at": "2026-01-13T18:40:00Z",
"email": "name@example.com",
"metadata": {},
"mode": "test",
"name": "Test Customer 1",
"phone": null,
"tax_id": {
"type": "cl_rut",
"value": "111111111"
}
},
"customer_email": "name@example.com",
"expires_at": "2026-01-14T18:48:25Z",
"flow": "payment",
"metadata": {},
"mode": "test",
"payment_method": null,
"payment_method_options": {
"bank_transfer": {
"recipient_account": {
"holder_id": "111111111",
"institution_id": "cl_banco_de_chile",
"number": "123456789",
"type": "checking_account"
}
}
},
"payment_method_types": [
"bank_transfer"
],
"payment_resource": {
"payment_intent": {
"id": "pi_BO381oEATXonG6bj",
"object": "payment_intent",
"amount": 350000,
"business_profile": null,
"created_at": "2026-01-13T18:48:31Z",
"currency": "CLP",
"customer": null,
"customer_email": "name@example.com",
"error_reason": null,
"expires_at": "2026-01-14T18:48:25Z",
"metadata": {},
"mode": "test",
"next_action": null,
"payment_method": null,
"payment_type": "bank_transfer",
"payment_type_options": {},
"recipient_account": null,
"reference_id": null,
"sender_account": {
"holder_id": "111111111",
"institution_id": "cl_banco_falabella",
"number": "123456789",
"type": "checking_account"
},
"status": "succeeded",
"subscription": null,
"transaction_date": "2026-01-13T18:50:25Z",
"widget_token": null
}
},
"redirect_url": "https://checkout.fintoc.com/payment?checkout_session=cs_li5531onlFDi235",
"save_payment_method": null,
"session_token": null,
"setup_intent": null,
"status": "finished",
"subscription": null,
"success_url": "https://merchant.com/success",
"ui_mode": "hosted"
}
| Attribute | Type | Description |
|---|---|---|
id | string | Unique identifier of the checkout session. |
object | string | Type of the object. Always checkout_session. |
amount | integer or null | Amount the session charges your customer, in the smallest unit of currency. CLP has no decimals, so 5000 means 5000 pesos; MXN uses centavos, so 5000 means 50.00 pesos. null for setup flow sessions, which do not charge your customer. |
business_profile | object or null | Business on whose behalf you collect the payment, for payment aggregators. null when the session has no business profile. See the Business profile object table below. |
cancel_url | string or null | URL Fintoc redirects your customer to when the payment is not completed. null when the session was created without redirect URLs. |
created_at | string | ISO 8601 timestamp of when the session was created. |
currency | string | Three-letter ISO 4217 currency code, in uppercase. One of CLP or MXN. |
customer | object or null | Customer the session belongs to. null when the session has no customer. See the Customer object table below. |
customer_email | string or null | Email of your customer, used to send the payment receipt. null when not provided. |
expires_at | string | ISO 8601 timestamp of when the session expires. After this time your customer can no longer pay the session. |
flow | string | Flow the session runs. One of payment (one-time payment), subscription (recurring subscription), or setup (save a payment method for future payments). |
line_items | array or null | Items the session charges for. null when the session was created without line items. |
metadata | object | Set of key-value pairs you attached to the session. |
mode | string | Mode of the object. live uses real institution data; test uses fake data for integration testing. |
payment_method | string or null | id of the saved payment method that pays the session. null when the session is not paid with a saved payment method. |
payment_method_options | object | Configuration of the session’s payment methods, keyed by payment method type. Each key matches one of payment_method_types. For bank_transfer and pac, set a recipient_account, a sender_account, or both, described below. For card, set types in payment flow sessions or kinds (credit, debit) in setup and subscription flow sessions. |
payment_method_types | array | Payment method types your customer can use to pay the session. One or more of bank_transfer (one-time bank transfer), installments (pay in installments), card (credit or debit card), and pac (automatic recurring bank debit). |
payment_resource | object or null | Payment generated by the session. null until your customer starts a payment attempt. Holds a payment_intent; see the Payment Intent object. |
redirect_url | string or null | URL of the Fintoc-hosted checkout page where your customer completes the payment. null for sessions paid through the Fintoc widget. |
save_payment_method | string or null | Whether the session lets your customer save their payment method. One of enabled or disabled. Only returned for payment flow sessions; null when not configured. |
session_token | string or null | Token used to initialize the Fintoc widget to pay the session. null for subscription and setup flows and for payments completed outside the widget. |
setup_intent | string or null | id of the setup intent created by setup and subscription flow sessions. null for other flows and until Fintoc attempts a setup. See the Setup Intent object for the setup intent’s status and error fields. |
status | string | Lifecycle status of the session. One of created (your customer has not started paying), in_progress (Fintoc is processing the payment), finished (the session succeeded), or expired. |
subscription | string or null | Identifier for the subscription associated with the session. For a subscription flow, the value is the subscription the session starts, or null until Fintoc creates the subscription. For a setup flow created with subscription, the value is the existing subscription whose payment method the session updates; otherwise, null. |
success_url | string or null | URL Fintoc redirects your customer to after a successful payment. null when the session was created without redirect URLs. |
ui_mode | string | User interface the checkout uses. One of hosted (Fintoc-hosted page) or embedded (embedded buttons such as Apple Pay). |
Customer object
The customer the session belongs to, when you attach one on creation.| Attribute | Type | Description |
|---|---|---|
id | string | Unique identifier of the customer. |
object | string | Type of the object. Always customer. |
address | object or null | Address of the customer. null when not provided. See the Address object table below. |
created_at | string | ISO 8601 timestamp of when the customer was created. |
email | string or null | Email of the customer. null when not provided. |
metadata | object | Set of key-value pairs attached to the customer. |
mode | string | Mode of the object. live uses real institution data; test uses fake data for integration testing. |
name | string or null | Name of the customer. null when not provided. |
phone | string or null | Phone number of the customer. null when not provided. |
tax_id | object or null | Tax identifier of the customer. null when not provided. See the Tax ID object table below. |
Address object
| Attribute | Type | Description |
|---|---|---|
city | string | City of the address. |
country | string | Country of the address, as a two-letter ISO 3166-1 code. |
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 or region of the address. |
Tax ID object
| Attribute | Type | Description |
|---|---|---|
type | string | Type of the tax identifier, for example cl_rut. |
value | string | Value of the tax identifier. |
Payment method options
Usepayment_method_options to configure payment methods in the session. For bank_transfer, set a recipient_account and, optionally, a sender_account. For pac, set a sender_account. For card, the Create checkout session endpoint defines types for payment flow sessions and kinds (credit, debit) for setup and subscription flow sessions.
| Attribute | Type | Description |
|---|---|---|
recipient_account | object | Account that receives the payment. See the Recipient account object table below. If you collect through Fintoc, omit it for better stability. |
sender_account | object | Account your customer pays from. See the Sender account object table below. In final payment notifications it may be null if your customer abandoned the payment before choosing one. |
Recipient account object
The Recipient account object describes the bank account that receives the funds, returned in therecipient_account field.
| Attribute | Type | Description |
|---|---|---|
holder_id | string | Tax ID of the account holder. In Chile, a Chilean tax ID (RUT = Chilean tax ID); in Mexico, a Mexican tax ID (RFC = Mexican tax ID) or a Mexican personal ID (CURP). |
institution_id | string | Identifier of the account’s institution. See Chile institution codes. |
number | string | Account number, without hyphens or leading zeros. |
type | string | Type of the account. One of checking_account or sight_account. |
Sender account object
The Sender account object describes the customer’s bank account that the funds are paid from, returned in thesender_account field.
| Attribute | Type | Description |
|---|---|---|
holder_id | string | Tax ID of the account holder. In Chile, a Chilean tax ID (RUT); in Mexico, a Mexican tax ID (RFC) or a Mexican personal ID (CURP). Without a holder_id, Fintoc skips new contact validations. |
institution_id | string | Identifier of the account’s institution. See Chile institution codes. |
number | string | Account number, without hyphens or leading zeros. |
type | string | Type of the account. One of checking_account or sight_account. |
Business profile object
The Business profile object identifies the enrolled merchant receiving the payment, returned in thebusiness_profile field of the Checkout Session.
| Attribute | Type | Description |
|---|---|---|
category | string | Six-character merchant category code (MCC) of the business. In Chile, it corresponds to an SII activity code. |
name | string | Name of the business. If set, it appears as the recipient on the successful payment screen. |
tax_id | string | Chilean tax ID (RUT) of the business. |