> For the complete documentation index, see [llms.txt](https://docs.4p.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.4p.finance/en/webhook/retrieving-notification-data.md).

# Retrieving notification data

Once your return URL has received a POST with the notification token from **4P Finance**, your system should make a GET request to the `/notification/:token` endpoint, which will return the transaction/notification data.

## Request the notification data

<mark style="color:blue;">`GET`</mark> `https://api.4p.finance/v1/notification/:token`

Makes a request sending the token received via POST at the return URL registered when the transaction was created.

#### Path Parameters

| Name                                    | Type   | Description                                            |
| --------------------------------------- | ------ | ------------------------------------------------------ |
| token<mark style="color:red;">\*</mark> | String | Token received via POST at your registered return URL. |

#### Headers

| Name                                        | Type   | Description   |
| ------------------------------------------- | ------ | ------------- |
| x-api-key<mark style="color:red;">\*</mark> | String | Your API key. |

{% tabs %}
{% tab title="200: OK Response for a Pix receipt token" %}

```javascript
{
    "http_code": 200,
    "success": true,
    "info": {
        "data": {
            "id": "936e8ae54933c2f8c10f3908e50be15c",
            "txid": "1ae3808c17364388b956c039",
            "status": "paid",
            "amount": "1.10",
            "description": "Subscription charge #PN123",
            "payer_info": "Payer name - 123.456.789-00",
            "payment_date_time": "01/01/2026, 11:46:21",
            "created_at": "01/01/2026, 08:05:52",
            "confirmed_at": "01/01/2026, 11:46:25",
            "custom_id": "PN123"
        }
    }
}
```

{% endtab %}

{% tab title="200: OK Response for a crypto transfer token" %}

```javascript
{
    "http_code": 200,
    "success": true,
    "info": {
        "data": {
            "id": "936e8ae54933c2f8c10f3908e50be15c",
            "txid": "1ae3808c17364388b956c039",
            "status": "paid",
            "amount": "1.10",
            "description": "Subscription charge #PN123",
            "payer_info": "Payer name - 123.456.789-00",
            "payment_date_time": "01/01/2026, 11:46:21",
            "created_at": "01/01/2026, 08:05:52",
            "confirmed_at": "01/01/2026, 11:46:25",
            "custom_id": "PN123",
            "custom_data": {
                "chain_name": "Arbitrum",
                "amount_usdt": "0.20216",
                "receiver_wallet": "0x4328437bf03FFDBb0f64358a6a2947edFB995B6I",
                "transaction_hash": "0x63aaer69c90bafbb11f36b4a1adacedce28b84803e82f7a68b8442357ffe0f33"
            }
        }
    }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Important!** If your system queries the token we sent, we consider the notification to have been successfully delivered. If it isn't queried, we will keep retrying for up to 5 days.

In other words, if there's a request to the `GET /notification/:token` endpoint, we understand that you received the POST with the notification token and queried it, receiving in the response all the informational data about the transaction's confirmation.
{% endhint %}

Once you've queried the transaction data, your system can proceed to mark the payment as settled, confirmed, or complete the transaction.
