# API · CoF · Charge

> Server-to-server charge with a v2 card token through Credential on File.

- kind: api-operation
- status: stable
- api_version: v1
- last_verified: 2026-10-20
- url: https://tilopay.com/en/developers/api/cof/realizar-cobro

```http
POST /api/v1/processRecurrentPayment
```

## What it does [#que-hace]

Processes a charge with an already tokenized card, without a form.

## Authentication [#autenticacion]

Requires the API bearer token in the `Authorization` header — see [authentication](/en/developers/api/autenticacion).

## Parameters [#parametros]

<Param id="realizar-cobro-parametro-key" name="key" type="string" required>
Key associated with the customer. Obtained in Admin panel · Platform integrations.
</Param>

<Param id="realizar-cobro-parametro-amount" name="amount" type="string" required>
Purchase amount.
</Param>

<Param id="realizar-cobro-parametro-currency" name="currency" type="string" required>
Purchase currency in ISO format, for example USD, CRC, GTQ.
</Param>

<Param id="realizar-cobro-parametro-ordernumber" name="orderNumber" type="string" required>
Order number, it can be alphanumeric.
</Param>

<Param id="realizar-cobro-parametro-capture" name="capture" type="string" required>
Capture and authorize: 1 yes, 0 no.
</Param>

<Param id="realizar-cobro-parametro-email" name="email" type="string" required>
Cardholder email.
</Param>

<Param id="realizar-cobro-parametro-card" name="card" type="string" required>
Card token. It must be the v2 token.
</Param>

<Param id="realizar-cobro-parametro-hashversion" name="hashVersion" type="string">
Only if you implement hash verification. Values V1 or V2; defaults to V1.
</Param>

## Request example [#request]

The `<...>` values are placeholders: replace them with your own credentials and data.

```json
{
  "key": "<api_key>",
  "amount": "10.00",
  "currency": "USD",
  "orderNumber": "1213",
  "capture": "1",
  "email": "myemail@exapmle.com",
  "card": "511111_00GOB1111"
}
```

## Response [#respuesta]

```json
{
  "type": "200",
  "response": "1",
  "description": "Transacción aprobada",
  "auth": "123456",
  "tpt": 734329,
  "order_id": "12135",
  "tilopayTransaction": 734329,
  "orderHash": "f3ad85046d249bc7a781eed5285a5ded92045a2e11108063504deec72ec9b338"
}
```

## Error responses [#respuestas-de-error]

HTTP 300:

```json
{
  "type": "300",
  "result": "Message error"
}
```

HTTP 400:

```json
{
  "type": "400",
  "result": "Message error"
}
```

To interpret a response that is not a success, see [how to read an error response](/en/developers/api/procesos-operativos/errors).
