> For the complete documentation index, see [llms.txt](https://docs.payvalida.com/api-cashout/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payvalida.com/api-cashout/registrar/registrar-operacion.md).

# Registrar operación

## Registrar Operación

<mark style="color:green;">`POST`</mark> `https://api.payvalida.com/cashout/v1/operation`

`URL Sandbox: https://api-test.payvalida.com/cashout/v1/`**`operation`**\
\
Registra una operación de cashout que permite la entrega de dinero al solicitante

#### Request Body

| Name                                          | Type   | Description                                                                                                                |
| --------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| merchant<mark style="color:red;">\*</mark>    | string | Identificación del comercio que realiza la operación, (30 caracteres).                                                     |
| checksum<mark style="color:red;">\*</mark>    | string | <p>SHA512(merchant+operation+amount+currency+<br>document+FIXED\_HASH) (512 caracteres).</p>                               |
| operation<mark style="color:red;">\*</mark>   | string | Identificador de la operación generada por el comercio. Debe ser identificador único, (40 caracteres).                     |
| amount<mark style="color:red;">\*</mark>      | number | <p>Valor de la operación, (20 caracteres)<br><br><strong>\*En Perú solo debe contener un digito decimal.</strong></p>      |
| currency<mark style="color:red;">\*</mark>    | string | Código ISO de la divisa de la operación, (3 caracteres)                                                                    |
| description<mark style="color:red;">\*</mark> | string | Descripción de la operación, (50 caracteres)                                                                               |
| document<mark style="color:red;">\*</mark>    | string | Número del documento de identidad del usuario final que realiza la operación, (20 caracteres)                              |
| otpLength                                     | number | <p>Longitud de la clave OTP<br>(default 4, 4 <= otpLength <=12) (entre 4 a 12 caracteres)</p>                              |
| expire                                        | string | <p>Fecha de expiración de la operación (YYYY-MM-DD)<br>default 30 días, (8 caracteres).</p>                                |
| transactionCost                               | number | Monto que el comercio cobrará al cliente por la operación (default 0) (10 caracteres).                                     |
| beneficiaryName                               | String | <p>Nombre de la persona que recibirá el dinero<br><br><strong>\*Obligatorio para retiros en Guatemala y Perú.</strong></p> |
| beneficiaryLastName                           | String | <p>Apellido de la persona que recibirá el dinero<br><br><strong>\*Obligatorio para retiros en Peru.</strong></p>           |
| beneficiaryDocumentType                       | String | <p>Tipo de documento en Perú (DNI,RUC,CE)<br><br><strong>\*Obligatorio para retiros en Perú.</strong></p>                  |
| email                                         | String | <p>Email de usuario.<br><br><strong>\*Obligatorio para retiros en Perú.</strong></p>                                       |
| cellphone                                     | String | <p>Numero de celular de usuario.<br><br><strong>\*Obligatorio para retiros en Perú.</strong></p>                           |

{% tabs %}
{% tab title="200 Retorna un json con esta estructura" %}

```
{  
   "code":"0000",
   “text”:”OK”,
   "data":{  
      "amount":"150000.0",
      “transactionCost”:”2000.0”,
      "currency":"COP”,
      "description":"Retiro de intereses al 15092019",
      "document":"1001007878",
      "otp":"*********",
      “operation”:”1452782”,
      “expire”:”2019-12-31”
      “payvalidaCode”:1234567890,
      “balance”:900234900,
   }
}
```

{% endtab %}

{% tab title="Ejemplo Request Perú" %}

```json
{
    "merchant": "kuanto_pe",
    "beneficiaryName": "jhon",
    "beneficiaryLastName": "doe",
    "beneficiaryDocumentType": "RUC",
    "operation": "test-globokas-105",
    "amount": 13.3,
    "currency": "PEN",
    "description": "description test globokas 105",
    "document": "48764951234",
    "cellphone": "987654321",
    "email": "test@test.com",
    "expire": "2024-04-28",
    "checksum": "2ad8a93af77184a42c735143db57fb443eaa2656d29e88d293e9448c75142b5442d91aed293c42ca6aa241ad65c1fd293ca1cb38c344c0f6e89580be07be4d5d"
}
```

{% endtab %}
{% endtabs %}

### Información de la respuesta

**code:** indica el código del resultado, “0000” indica resultado sin error, otro valor indica el código del error

**text:** contiene el mensaje referente al code enviado.

**data:** contiene los datos de la transacción (para resultados sin error)

* **amount:** valor de la transacción&#x20;
* **transactionCost:** indica el costo que asume el usuario por realizar la transacción
* **currency:** moneda en la que está registrada la operación de cashout
* **description:** descripción de la operación&#x20;
* **document:** número de documento de identidad
* **otp:** OTP generada para la operación (si se indica true,  en el parámetro SMS, este valor no se proporciona)
* **operation:** identificador de la operación, generado por el comercio
* **expire:** fecha de expiración de la operación
* **payvalidaCode:** identificador de la operación en Payvalida
* **balance:** monto disponible en la bolsa

**NOTA:** el parámetro *CURRENCY* solo admite moneda local (correspondiente al país de registro del comercio). Si se recibe un  currency diferente retornara un error.

Toda operación registrada, queda en estado **PENDIENTE.**<br>

{% hint style="warning" %}
El campo "expire" indica la fecha en la cual no se podrán realizar los retiros, es decir que para esa fecha las Redes de Desembolso no entregarán el dinero.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payvalida.com/api-cashout/registrar/registrar-operacion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
