# Notificación

{% hint style="info" %}
Para esta etapa del proceso de integración el comercio debe construir un servicio REST que será consumido por Payválida para realizar el proceso de notificación. Cuando esté construido, se debe comunicar a Payválida para que se realice el registro de la URL de dicho servicio.&#x20;
{% endhint %}

Al momento de realizar una transferencias, ésta se crea en estado **EN PROCESO**. La orden de desembolso puede cambiar por diversas razones:&#x20;

1. El banco a aprobado la transferencia -> Cambia de estado **EN PROCESO** a **APROBADA**.
2. Si el banco rechaza la transferencia -> Cambia de estado **EN PROCESO** a **RECHAZADA** y se notifica con status **RECHAZADA**.&#x20;

El sistema notifica de forma automática en el momento en que el banco emita una respuesta acerca de una transferencia específica.\
\
La notificación se envía por el método HTTP **POST** con un body de tipo **json**.

{% tabs %}
{% tab title="Request (enviado por Payvalida)" %}

| Campo           | Tipo    | Obligatorio | Descripción                                                                                                                                                                |
| --------------- | ------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| amount          | float64 | Sí          | Monto de la orden de desembolso.                                                                                                                                           |
| document        | string  | Sí          | Documento de identidad del beneficiario de la transferencia                                                                                                                |
| operation       | string  | Sí          | Identificador generado por el comercio para la transferencia.                                                                                                              |
| currency        | string  | Sí          | Moneda con la que se registra la orden de desembolso                                                                                                                       |
| status          | string  | Sí          | Estado de la orden del desembolso (El valor que se envía es APROBADA o RECHAZADA)                                                                                          |
| checksum        | string  | Sí          | Cadena de comprobación calculada con SHA512(operation+document+amount+currency+status+FIXED\_HASH). El amount para el cálculo del checksum debe ser transformado a entero. |
| rejectionReason | string  | No          | Razón por la cuál el banco rechazó la transferencia bancaria. Este campo solo se enviará en caso de que la transferencia sea notificada como RECHAZADA                     |

{% endtab %}

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

```json
{
    "operation": "117495",
    "document": "43750860",
    "amount": 1800,
    "currency": "PEN",
    "status": "APROBADA",
    "checksum": "bdfcaca9c5b6e77003a9c9698031c1311a33074977e9f5526fefb0871f8cd9d31b001e1fa1fbdebfaa71f61d0110b4f1234890fbab14ae2cd7a2243adf33f687"
}
```

{% endtab %}

{% tab title="Response" %}

| Campo        | Tipo   |                                                                                                                                                                              |
| ------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| code         | int    | El valor 0 lo tomamos como ejecución correcta. Si se retorna un valor diferente lo tomamos como un error, de ser el caso se enviará una notificación vía correo electrónico. |
| text         | string | Descripción de la ejecución al momento de responder.                                                                                                                         |
| {% endtab %} |        |                                                                                                                                                                              |

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

<pre class="language-json"><code class="lang-json">{
<strong>    "Code": 0,
</strong><strong>    "Text": "OK"
</strong>}
</code></pre>

{% endtab %}
{% endtabs %}


---

# Agent Instructions: 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-payouts/notificacion/notificacion.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.
