# Completar pre-autorización

Para la completar una pre-autorización pueden existir 3 escenarios:

* **Monto menor al pre-autorizado:**  se completa la pre-autorización con el monto indicado en el servicio de completion.
* **Monto igual al pre-autorizado:**  se completa la transacción por el monto indicado.
* **Monto mayor al pre-autorizado:**  se completa la pre-autorización inicial  y se crea una nueva transacción por el monto restante. Esta transacción se puede identificar con el order\_1, donde order es el orderId del request.\
  \
  En caso de que la transacción por el monto restante sea rechazada, esta será notificada como vencida a través del [API de notificación](https://docs.payvalida.com/api-recaudo/notificacion).

<div align="left"><figure><img src="https://3635475909-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MIa0RFEe6TfbpnP9FlP-887967055%2Fuploads%2FUwFmemvsYpePcqSo6cjR%2FAn%CC%83adir%20un%20ti%CC%81tulo%20(1).png?alt=media&#x26;token=61dbc11b-0b34-44d3-be85-02e9d04d54af" alt=""><figcaption></figcaption></figure></div>

{% hint style="success" %}
**Producción**: <https://api.payvalida.com/v4/merchant/completion>
{% endhint %}

{% hint style="success" %}
**Sandbox**: <https://api-test.payvalida.com/v4/merchant/completion>
{% endhint %}

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

<table><thead><tr><th width="189">Campo</th><th width="111">Requerido</th><th width="103">Tipo</th><th width="202">Descripción</th></tr></thead><tbody><tr><td>merchantName</td><td>sí</td><td>string</td><td>Nombre del merchant</td></tr><tr><td>orderId</td><td>sí</td><td>string</td><td>Id de la orden creado por el merchant previamente en el <a href="https://docs.payvalida.com/api-recaudo/ordenes-de-compra/registrar">API Recaudo</a></td></tr><tr><td>checksum</td><td>sí</td><td>string</td><td>sha512(merchantName + orderId + fixed_hash)</td></tr><tr><td>amount</td><td>sí</td><td>string</td><td>Monto por el cual se va a realizar la finalización de la transacción</td></tr><tr><td>token</td><td>sí</td><td>string</td><td>Identificador del token creado anteriormente para la tarjeta</td></tr><tr><td>typeDi</td><td>no</td><td>string</td><td>Tipo de documento del usuario.<br><br><strong>Colombia</strong>:<br>CC,CE,PP,NIT</td></tr><tr><td>di</td><td>no</td><td>string</td><td>Número de documento de usuario</td></tr></tbody></table>
{% endtab %}

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

```json
{
"merchantName": "my_merchant_name",
"orderId": "1234567890",
"checksum":"90037d4ae7d310c1c4c50ce630c54af850587533a900099cde381ac68aa8af1cc959b9820e77a48fb403c460a8630729bc37e2a9d47be9e3e846982fa7c56de0",
"amount": 70500.00,
"token": "12345678901234",
"typeDi": "CC",
"di": "1234567890",
}
```

{% endtab %}

{% tab title="Response" %}

| CODE         | DESC                                          |
| ------------ | --------------------------------------------- |
| 0000         | APPROVED                                      |
| 0001         | REJECTED                                      |
| 0010         | wrong request                                 |
| 0011         | invalid request                               |
| 0012         | payment invalid                               |
| 0013         | the reference is not registered or is invalid |
| 0016         | error processing transaction                  |
| 0017         | transaction already completed                 |
| {% endtab %} |                                               |

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

```json
{
    "CODE": "0000",
    "DESC": "APPROVED"
}
```

{% endtab %}
{% endtabs %}
