Skip to main content
POST
v1 · Base URL https://api.fintoc.com/v1

Authorizations

Authorization
string
header
required

Body

application/json
resource_id
string
required

ID of the resource to refund.

Example:

"pi_jsperFI9bnyM2RTo"

resource_type
enum<string>
required

Type of the resource to refund. Currently only payment_intent is supported.

Available options:
payment_intent
Example:

"payment_intent"

amount
integer

Amount to refund, as an integer in the smallest unit of the resource's currency (for example, 5000 for $5000 CLP, since CLP has no minor unit). Defaults to the full amount of the resource.

Example:

5000

metadata
object

Set of key-value pairs you can attach to the refund. Useful for storing additional information in a structured format.

Example:
recipient_account
object

Bank account that receives the refunded funds. Required for payments where Fintoc cannot determine the payer's account (for example, Botón BancoEstado payments), and not allowed otherwise.

Response

Refund created. The refund starts in pending status and the funds are disbursed asynchronously.

A refund returns funds from a succeeded payment to the payer. Fintoc disburses refunds asynchronously, so a refund moves through pending, in_progress, and succeeded, or ends in failed or canceled. The amount and currency are denominated in the smallest unit of the refunded resource's currency.

id
string
required

Unique identifier of the refund.

Example:

"ref_8XzNbCv1LqKjWp4R"

object
any
required

Type of the object. Always refund.

amount
integer
required

Amount refunded, as an integer in the smallest unit of currency (for example, 5000 for $5000 CLP, since CLP has no minor unit).

Example:

5000

created_at
string<date-time>
required

ISO 8601 timestamp of when the refund was created.

Example:

"2026-03-04T17:04:10Z"

currency
enum<string>
required

Three-letter ISO 4217 currency code. Always matches the currency of the refunded resource.

Available options:
CLP,
MXN
Example:

"CLP"

failure_code
string | null
required

Reason why the refund failed. One of fraud_risk (the disbursement was blocked by Fintoc's fraud checks) or insufficient_funds (your organization did not have enough funds to cover the refund). null unless the refund failed.

metadata
object
required

Set of key-value pairs attached to the refund when it was created.

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"

recipient_account
object | null
required

Bank account that receives the refunded funds. null for refunds that are not disbursed by bank transfer (for example, card refunds).

resource_id
string
required

ID of the refunded resource.

Example:

"pi_jsperFI9bnyM2RTo"

resource_type
enum<string>
required

Type of the refunded resource. Always payment_intent.

Available options:
payment_intent
Example:

"payment_intent"

status
enum<string>
required

Current status of the refund. One of pending (the disbursement has not started), in_progress (Fintoc is disbursing the funds), succeeded (the funds reached the recipient account), failed (the disbursement failed; see failure_code), or canceled (the refund was canceled before disbursing).

Available options:
pending,
in_progress,
succeeded,
failed,
canceled
Example:

"succeeded"

updated_at
string<date-time>
required

ISO 8601 timestamp of when the refund was last updated.

Example:

"2026-03-04T17:04:10Z"