# WebHooks & Notificações

Webhooks (também conhecidos como HTTP Callbacks) são uma forma de se registrar para receber informações úteis em uma URL específica de sua escolha.&#x20;

Quando ocorre uma alteração no estado de um recurso dentro das plataformas da IOPAY (por exemplo, uma transação é aprovada com sucesso), um evento é gerado por essa ocorrência e imediatamente enviamos uma request do tipo POST para as URL cadastrada na sua conta digital. \
\
Estes disparos automáticos são para informar a criação ou alteração de uma transação de pagamento processada com IOPAY. <br>

**Para utilizar a notificação de eventos você precisa:**\
\
&#x20;\- Implementar o seu sistema de recebimento de notificações\
&#x20;\- Cadastrar as URLs desse sistema na IOPAY, através da sua conta digital IO.\
&#x20;\- Quando ocorrer uma ação ou atualização de status nas transações enviadas para a IO, as notificações serão disparadas de acordo com os webhooks cadastrados

### Parâmetros recebidos por WebHook

| Parâmetro     | Exemplo                          | Descrição                                                                                                      |
| ------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| id            | 75f9451f3bcd49ab9710bfa7026e4a62 | ID da transação que esta sendo informada                                                                       |
| reference\_id | 321                              | ID da sua aplicação (o mesmo reference\_id enviado na integração, que reflete o id do pedido na sua aplicação) |

### Exemplo de Request da IOPAY para a sua Aplicação &#x20;

#### application/json

POST

```json
{
    "id":"75f9451f3bcd49ab9710bfa7026e4a62",
    "type":"transaction.succeeded",
    "status":"succeeded",
    "reference_id":"414"
}
```

### &#x20;Como usar a atualização por eventos e WebHooks da IO

O evento é disparado à partir da estrutura da IO para o sua aplicação, fornecendo os três parâmetros acima.\
\
Você deverá receber esse evento e realizar uma chamada para obtenção da atualização da transação. Ou seja, a IO avisa a sua aplicação, através do WebHook que houve alteração para determinada transação (id) e sua aplicação deve acessar a endpoint específica para obter detalhes de uma transação (com o id recebido), para então checar a mudança de status ocorrida.

Para obter detalhes de uma transação pelo id da mesma, utilize a endpoint "[Recupera uma transação](https://docs-api.iopay.dev/#a32c0609-aebc-441a-be3c-55fdada77efa)"

{% embed url="<https://docs-api.iopay.dev/#a32c0609-aebc-441a-be3c-55fdada77efa>" %}

## Erros no disparo de eventos

O evento é disparado e caso encontre falha na execução do request ou falha no status code da sua aplicação (status code diferente de 200), o webbook fará mais 3 tentativas, com intervalo de tempo entre elas.

## URL Custom

Para determinar para qual URL a IOPAY deve direcionar os eventos, acesse a Conta Digital e navegue no menu principal até a opção:

*Configurações > Transações Online*&#x20;

Desça até a porcão destacada na imagem abaixo abaixo:

![](/files/-McQrbrt63nWhwRc9AY_)

Basta Informar a URL da aplicação para qual a IOPAY fará disparos de notificação no campo **"URL de notificação (HTTPS)"** e clicar no botão Salvar Alterações.

{% hint style="success" %}
**Exemplo**\
\&#xNAN;*<https://minhaloja.com.br/loja/ReceivePaymentStatusChange>*
{% endhint %}

{% hint style="warning" %}
Apenas URL´s com protocolo seguro HTTPS são permitidas
{% endhint %}


---

# 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.iopay.com.br/atualizacao-de-status/configurando-webhook-e-notificacoes-de-transacoes-iopay.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.
