> For the complete documentation index, see [llms.txt](https://docs.payvalida.com/api-payouts/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-payouts/transferencias/master.md).

# Realizar transferencias

## Producción

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

## Sandbox

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

{% tabs %}
{% tab title="Request" %}

<table><thead><tr><th width="209">Campo</th><th width="133">Tipo de dato</th><th width="121.30859375">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td>merchant</td><td>String</td><td>Sí</td><td>Identificación del comercio que realiza la operación, (50 caracteres).</td></tr><tr><td>operation</td><td>String</td><td>Sí</td><td>Identificador de la operación generada por el comercio. Debe ser identificador único, (40 caracteres).</td></tr><tr><td>checksum</td><td>String</td><td>Sí</td><td>SHA512(merchant+operation+FIXED_HASH) (128 caracteres)</td></tr><tr><td>beneficiary</td><td>JSON</td><td>Sí</td><td>Información específica del beneficiario (JSON)</td></tr><tr><td>identification</td><td>String</td><td>Sí</td><td>Número de identificación del beneficiario (20 caracteres)</td></tr><tr><td>identificationType</td><td>String</td><td>Sí</td><td><p>Tipo de identificación provisto, pueden ser los siguientes valores:<br><strong>Colombia</strong>:<br>- CC: Cédula de Ciudadanía<br>- CE: Cédula de Extranjería<br>- PS: Pasaporte<br>- TI: Tarjeta de Identificación<br>- NIT: Número de Identificación Tributaria<br><strong>Ecuador:</strong><br>- CC: Cédula de identidad<br>- RUC: Registro único de contribuyentes</p><p><strong>El Salvador:</strong></p><p>- DUI<br>- DNI<br>- PS<br>- CE<br>- SRL<br>- NIT<br><strong>Guatemala:</strong><br>- DPI: Documento personal de identificación<br><strong>Perú:</strong><br>- DNI: Documento nacional de identidad<br>- CE: Cédula de Extranjería</p></td></tr><tr><td>name</td><td>String</td><td>Sí</td><td>Nombre del beneficiario, no soporta caracteres especiales (50 caracteres)</td></tr><tr><td>lastname</td><td>String</td><td>Sí</td><td>Apellido del beneficiario, no soporta caracteres especiales (50 caracteres)</td></tr><tr><td>email</td><td>String</td><td>Sí</td><td>Dirección de correo electrónico válida.</td></tr><tr><td>country</td><td>String</td><td>Sí</td><td><p>Valores permitidos:</p><ul><li><strong>CO</strong>: Transferencias en Colombia</li><li><strong>EC</strong>: Transferencias en Ecuador</li><li><strong>GT</strong>: Transferencias en Guatemala</li><li><strong>PE</strong>: Transferencias en Perú</li><li><strong>SV</strong>: Transferencias en El Salvador</li></ul></td></tr><tr><td>bankAccount</td><td>String</td><td>Sí</td><td><p>Nombre del banco en donde tiene su cuenta el beneficiario, se permiten los siguientes valores:</p><ul><li><a href="/pages/sBVpWPoiaxN0VCBDmKRm">Bancos en Colombia</a></li><li><a href="/pages/yYdClYOfAALTj1oGMup6">Bancos en Ecuador</a></li><li><a href="/pages/efSijNk08muOvAurDXRO">Bancos en El Salvador</a></li><li><a href="/pages/pGgejMPILNkSxNhQGMHF">Bancos en Guatemala</a></li><li><a href="/pages/NIXbjjvkxD69So4xXpww">Bancos en Perú</a></li></ul><p></p></td></tr><tr><td>bankAccountNumber</td><td>String</td><td>Sí</td><td>Número de cuenta del beneficiario. <br><br><strong>Perú:</strong> número de cuenta local. <a href="https://docs.payvalida.com/api-payouts-2.0/bancos/peru">Consultar bancos</a> que trabajan con cuenta local.<br><br><strong>Perú:</strong> si se envía cuenta CCI, este campo es opcional.<br><br><strong>No requerido</strong> cuando el beneficiario se identifica mediante bankAccountAlias (bancos como BREB (Colombia), y futuras integraciones equivalentes).</td></tr><tr><td>bankAccountNumberCci</td><td>String</td><td>No</td><td><strong>Perú:</strong> número de cuenta CCI, usado para transferencias interbancarias. (20 caracteres). <a href="https://docs.payvalida.com/api-payouts-2.0/bancos/colombia">Consultar bancos </a>que trabajan con cuenta CCI. <br><br>Para Perú si se envía cuenta CCI, bankAccountNumber es opcional.</td></tr><tr><td>bankAccountType</td><td>String</td><td>Sí</td><td><p>Tipo de cuenta, se permiten los siguientes valores:<br><strong>Colombia</strong><br>- Ahorro<br>- Corriente<br><strong>Ecuador</strong><br>- Ahorro<br>- Corriente</p><p><strong>El Salvador</strong></p><p>- Ahorro</p><p>- Corriente<br><strong>Guatemala</strong><br>- Ahorro<br>- Monetaria <br><strong>Perú</strong><br>- Ahorro<br>- Corriente<br><br><strong>No requerido</strong> cuando el beneficiario se identifica mediante bankAccountAlias (bancos como BREB (Colombia), y futuras integraciones equivalentes).</p></td></tr><tr><td>bankAccountAlias</td><td>String</td><td>No</td><td><p>Llave/alias del beneficiario, usado por bancos que enrutan la transferencia por llave en lugar de número de cuenta (actualmente BREB en Colombia). Debe cumplir con uno de los siguientes formatos:</p><p>• MSISDN: numérico, inicia en 3, 10 dígitos exactos (ej. 3001234567).</p><p>• Alias: inicia con @, seguido de 2 a 18 caracteres alfanuméricos (3 a 19 caracteres en total, ej. @juanperez).</p><p>• Email: correo electrónico válido, entre 10 y 92 caracteres.</p><p>• Identificación de usuario/comercio: alfanumérico, entre 5 y 18 caracteres.</p></td></tr><tr><td>transactionValue</td><td>Float</td><td>Sí</td><td>Valor a transferir, este valor será debitado de la billetera del comercio</td></tr></tbody></table>
{% endtab %}

{% tab title="Request (ejemplo)" %}

```json
{
    "merchant": "merchantName",
    "operation": "opId1234",
    "checksum": "5807c366db37aff0330cb0fc520149e45024f9224d035e0d420f153b69b2effc514204a0d4e7aba629343c6890e7642db6c4ef0249ef4bc855590846f948c083",
    "beneficiary": {
        "identification": "43750860",
        "name": "James Arthur",
        "lastname": "Hammett Green",
        "email": "account@email.org",
        "country": "CO",
        "bankAccount": "BANCO DE OCCIDENTE",
        "bankAccountNumber": "123456789",
        "bankAccountType": "Corriente",
        "identificationType": "CC",
        "transactionValue": 2301.00
    }

```

{% endtab %}

{% tab title="Request Perú (ejemplo)" %}

```json
{
    "merchant": "merchantName",
    "operation": "opId1234",
    "checksum": "5807c366db37aff0330cb0fc520149e45024f9224d035e0d420f153b69b2effc514204a0d4e7aba629343c6890e7642db6c4ef0249ef4bc855590846f948c083",
    "beneficiary": {
        "identification": "43750860",
        "name": "James Arthur",
        "lastname": "Hammett Green",
        "email": "account@email.org",
        "country": "PE",
        "bankAccount": "BCP",
        "bankAccountNumber": "84320000036204819572",
        "bankAccountNumberCci": "84320000036204819572",
        "bankAccountType": "Corriente",
        "identificationType": "CC",
        "transactionValue": 2301.00
    }
```

{% endtab %}

{% tab title="Response" %}

| Campo        | Tipo de dato | Descripción                                                                                               |
| ------------ | ------------ | --------------------------------------------------------------------------------------------------------- |
| CODE         | String       | Indica el código del resultado, “0000” indica resultado sin error, otro valor indica el código del error. |
| DESC         | String       | Contiene el mensaje referente al code enviado.                                                            |
| DATA         | String       | Indica si la transacción se envío con éxito (para resultados sin error)                                   |
| {% endtab %} |              |                                                                                                           |

{% tab title="Response (ejemplo)" %}

```json
{
    "CODE": "0000",
    "DESC": "OK",
    "DATA": "Transfer sent successfully"
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Cuando se envía bankAccountAlias, bankAccountNumber y bankAccountType no son requeridos para el banco correspondiente.
{% endhint %}

{% hint style="warning" %}
Usar números de cuenta en **formato real** (aunque sean de prueba). Formatos inventados provocan errores en la transferencia.
{% endhint %}

**Nota:** Toda operación registrada, queda en estado **EN PROCESO.** Una vez que el banco responda a la solicitud de transferencia el estado será actualizado.

{% hint style="info" %}
Para poder utilizar este servicio, se debe coordinar con su gerente comercial la activación.
{% endhint %}
