---
title: "Update a charge"
method: PATCH
path: "/charges/{id}"
tags: ["Charges"]
---

# Update a charge

`PATCH /charges/{id}`

Updates a charge. Only the `amount` and the `currency` can be updated, and only while the charge status is `pending`. Once the collection starts, the charge can no longer be updated.

## Path parameters

- `id` string, required

## Request body

- object
  - `amount` integer — A positive integer in the smallest unit of `currency` (for example, `1000` for `$1000 CLP`, since CLP has no minor unit). Replaces the current amount of the charge.
  - `currency` string — Three-letter ISO 4217 currency code. `CLP` is the only supported currency.

## Response `200`

The updated charge.

- SubscriptionsCharge — A charge is a single collection from the bank account of a subscription. You create a charge on an active subscription, and Fintoc collects the charge from the subscription's bank account on the next collection cycle. A charge starts as `pending` and ends as `succeeded`, `failed`, or `canceled`.
  - `id` string, required — Unique identifier of the charge.
  - `object` 'charge', required — Type of the object. Always `charge`.
  - `amount` integer, required — A positive integer in the smallest unit of `currency` (for example, `1000` for `$1000 CLP`, since CLP has no minor unit).
  - `created_at` string, date-time, required — ISO 8601 timestamp of when the charge was created.
  - `currency` string, required — Three-letter ISO 4217 currency code. `CLP` is the only supported currency.
  - `failure_code` 'insufficient_funds' | 'subscription_inactive' | 'charge_amount_limit_exceeded' | 'bank_account_unavailable' | 'other' | 'null', nullable, required — Reason why the charge failed. Always `null` unless `status` is `failed`. One of `insufficient_funds` (the bank account did not have enough funds), `subscription_inactive` (the subscription is no longer active at the bank), `charge_amount_limit_exceeded` (the amount exceeds the bank's per-charge limit), `bank_account_unavailable` (the bank account is closed, blocked, or could not be found), or `other`.
  - `metadata` object, required — Set of key-value pairs attached to the charge when it was created.
  - `mode` 'test' | 'live', required — Mode of the object. `live` objects use real institution data, `test` objects use fake data for integration testing.
  - `recipient_account` PayoutsRecipientAccount — Bank account that receives the payout.
    - `holder_id` string, required — Tax identifier of the account holder, without dots or hyphens (RUT in Chile, RFC in Mexico).
    - `institution_id` string, required — Fintoc identifier of the institution that holds the account, such as `cl_banco_estado`.
    - `number` string, required — Account number. In Mexico, an 18-digit CLABE (Clave Bancaria Estandarizada).
    - `type` 'checking_account' | 'sight_account' | 'rut_account' | 'fsa_account', required — Account subtype. One of `checking_account`, `sight_account` (Chilean cuenta vista), `rut_account` (BancoEstado CuentaRUT), or `fsa_account` (Mexican FSA account).
  - `status` 'pending' | 'in_progress' | 'succeeded' | 'failed' | 'canceled', required — Current state of the charge. One of `pending` (not yet sent to the bank), `in_progress` (being processed by the bank), `succeeded`, `failed`, or `canceled`.
  - `subscription_id` string, required — Identifier of the subscription the charge belongs to.

## Other responses

- `401` — Invalid or missing API key.
- `403` — The charge is no longer `pending`, so it can no longer be updated.
- `404` — The charge does not exist or belongs to a different organization.

---

[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)
