Skip to main content
POST
v1 · Base URL https://api.fintoc.com/v1
Only create a Payment Intent for a Cash PaymentThis request to create a Payment Intent should only be used for cash payments. For all other payment methods, you should create a Checkout Session instead. See more details here: https://docs.fintoc.com/reference/create-checkout-session

Authorizations

Authorization
string
header
required

Body

application/json
amount
integer
required

A positive integer representing the amount to pay, 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).

Example:

100000

currency
enum<string>
required

Three-letter ISO 4217 currency code. One of CLP or MXN. Must match the currency of your organization's country.

Available options:
CLP,
MXN
Example:

"CLP"

customer_email
string

Email address of the customer. Fintoc uses it for payment notifications, including refund notices. Invalid addresses are discarded without failing the request.

Example:

"jon.snow@example.com"

expires_at

ISO 8601 datetime in UTC or Unix timestamp of when the payment expires and can no longer be paid. Must be in the future, and only valid when payment_type is cash. Defaults to 3 days after creation.

Example:

"2024-12-31T23:59:59Z"

metadata
object

Set of key-value pairs you can attach to the payment intent. Supports up to 50 keys, with key names up to 40 characters and values up to 500 characters. Arrays and nested objects are not allowed.

Example:
payment_type
enum<string>

Payment type the customer uses to pay. One of bank_transfer (bank transfer in Chile and Mexico) or cash (cash deposit at a sale point, Mexico only). Defaults to bank_transfer.

Available options:
bank_transfer,
cash
recipient_account
object

Bank account that receives the payment. Chile only, and only if your organization uses direct payments; organizations that collect through Fintoc must omit it.

reference_number
string

Numeric reference attached to the SPEI transfer. Mexico only.

sender_account
object

Bank account the customer pays from. Chile only. Fintoc uses it to validate transfer limits when creating the payment intent.

Response

Payment intent created. The widget_token is only returned in this response.

id
string
required

Unique identifier of the payment intent.

Example:

"pi_BO381oEATXonG6bj"

object
any
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).

Example:

100000

created_at
string<date-time>
required

ISO 8601 timestamp of when the payment intent was created.

Example:

"2021-10-15T15:23:11.474Z"

currency
enum<string>
required

Three-letter ISO 4217 currency code of the payment intent. One of CLP or MXN.

Available options:
CLP,
MXN
Example:

"CLP"

customer
object | null
required

Customer associated with the payment intent, when it was created from a checkout session with a customer. null otherwise.

customer_email
string | null
required

Email address of the customer that receives payment notifications. null when not provided.

Example:

"jon.snow@example.com"

error_reason
string | null
required

Reason why the payment failed, was rejected, or expired. null while the payment is in progress and when it succeeds.

Example:

"insufficient_funds"

expires_at
string<date-time> | null
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.

Example:
mode
enum<string>
required

Mode of the object. live objects use real institution data, test objects use fake data for integration testing.

Available options:
test,
live
Example:

"live"

next_action
object | null
required

Action the customer must complete to continue the payment, as reported by the widget. null when no action is pending.

payment_method
string | null
required

Identifier of the payment method used to pay, when the payment intent comes from a checkout session or a subscription. null otherwise.

Example:

"pm_1x7vKQ8oEATXonG6"

payment_type
string
required

Payment type used to pay, such as bank_transfer or cash.

Example:

"bank_transfer"

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.

Example:
recipient_account
object | null
required

Bank account that receives the payment. null for cash payments.

reference_id
string | null
required

Identifier of the transfer assigned by the institution. null until the transfer is executed.

Example:

"90123712"

sender_account
object | null
required

Bank account the customer pays from. null until Fintoc identifies the sender.

status
enum<string>
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).

Available options:
created,
failed,
succeeded,
rejected,
in_progress,
pending,
expired
Example:

"succeeded"

subscription
string | null
required

Identifier of the subscription that originated the payment intent. null for one-off payments.

Example:

"sub_dJOd4hcZby9XK1Lm"

transaction_date
string<date-time> | null
required

ISO 8601 timestamp of when the institution executed the transfer. null until the transfer is executed.

Example:

"2021-10-15T15:24:15.474Z"

widget_token
string | null
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.

Example:

"pi_BO381oEATXonG6bj_sec_aBcDeFgHiJkLmNoP"

business_profile
object | null

Profile of the business that collects the payment, when provided. null otherwise.