> For the complete documentation index, see [llms.txt](https://fuspay.gitbook.io/intrapay-p2p-automation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fuspay.gitbook.io/intrapay-p2p-automation/integration/notification-callback-url.md).

# Notification- Callback URL

This endpoints are used to manage notifications for merchants and partners

### Partner Merchant Payment Notification CallBackURL

## This endpoint is used to notify partners of the payment status of an order&#x20;

<mark style="color:green;">`POST`</mark>&#x20;

The URL of this endpoint is sent during the 'Create Order' call on IntraPay by Partner as the partner\_callback\_url

**Authentication**

Partner Public key pk\_partner\_xxx will be added as authorization header

The secret key of merchant and secret key of partner (for example, concat string:- \[sk\_merchant\_xxx+''+sk\_partner\_xxx] ) is used to generate the digital signature that is attached to the request body when making the notification request

**Security**&#x20;

Only request from Whitelisted IntraPay IPs will be accepted by Partner

#### Headers

| Name                                            | Type   | Description         |
| ----------------------------------------------- | ------ | ------------------- |
| Authorization<mark style="color:red;">\*</mark> | String | partners public key |

#### Request Body

| Name                                                         | Type   | Description                                                        |
| ------------------------------------------------------------ | ------ | ------------------------------------------------------------------ |
| Status<mark style="color:red;">\*</mark>                     | String | this is the status of                                              |
| message<mark style="color:red;">\*</mark>                    | Strung |                                                                    |
| data<mark style="color:red;">\*</mark>                       | Object | the object containing details of the transaction                   |
| payment<mark style="color:red;">\*</mark>                    | Object | An object containing the actual payment details                    |
| status<mark style="color:red;">\*</mark>                     | String | the status of the payment e.g Pending, Paid, Refund                |
| virtual\_account<mark style="color:red;">\*</mark>           | Object | An Object describing the virtual account that money was paid into  |
| amount<mark style="color:red;">\*</mark>                     | String | The amount paid into the Virtual account                           |
| account\_name<mark style="color:red;">\*</mark>              | String | The name on the payer                                              |
| bank\_name<mark style="color:red;">\*</mark>                 | String | The bank used by the payer                                         |
| account\_number<mark style="color:red;">\*</mark>            | String | The account number of the payer                                    |
| Order\_details<mark style="color:red;">\*</mark>             | Object | The details of the order that was satisfied                        |
| status<mark style="color:red;">\*</mark>                     | String | The status of the order                                            |
| partner\_order\_id<mark style="color:red;">\*</mark>         | String | the id of the order                                                |
| intrapay\_order\_reference<mark style="color:red;">\*</mark> | String | The reference give to an order on the intrapay system              |
| signature<mark style="color:red;">\*</mark>                  | String | sha-512-of-req-body-signed-with-SK\_merchant\_xxx+SK\_partner\_xxx |

#### Example Request- Code&#x20;

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

```javascript
const fetch = require('node-fetch');

fetch("null", {
  "method": "POST"
})
  .then(response => console.log(response))
  .catch(err => console.error(err))
```

{% endtab %}
{% endtabs %}
