---
title: "Monitor Session Status"
method: POST
path: "/webhook-url"
tags: ["Webhook format"]
---

# Monitor Session Status

`POST /webhook-url`

## Request

- Base URL: `https://payment-integration.ratepay.com`
- URL: `https://payment-integration.ratepay.com/webhook-url`
- Auth: none declared

## Headers

- `X-Signature` string

## Request body

- SessionRecordDto
  - `session_id` string, required: The identifier of the interaction with the user within the scope of the Hosted Payment Page
  - `transaction_id` string: The transaction identifier in Ratepay
  - `partner_transaction_id` string: The transaction identifier on the merchant side
  - `shop_buyer_id` string: The buyer identifier on the merchant side
  - `session_status` 'CREATED' | 'IN_PROGRESS' | 'COMPLETED' | 'ERROR' | 'EXPIRED' | 'CANCELED' | 'FRAUD_CANCELLATION_REQUESTED' | 'OTP_PENDING', required: The current status of the record. <br> * CREATED - the session has just been created by the merchant, but the buyer still didn't do anything. <br> * IN_PROGRESS - the session is being processed by Ratepay.<br> * COMPLETED - the transaction has been successfully completed.<br> * ERROR - some processing error has happened (please refer to the field `decline_reasons`).<br> * EXPIRED - the buyer didn't take any action within 30 minutes. <br> * CANCELED - the buyer clicked on the cancel button. <br> * FRAUD_CANCELLATION_REQUESTED - Ratepay advises for this transaction to be canceled by the merchant. <br> * OTP_PENDING - the buyer has been requested to validate their phone number, and Ratepay is still waiting for the verification. <br>
  - `decline_reasons` DeclineDto
    - `category` string
    - `reasons` string[]
    - `invalid_fields` InvalidFieldDto[]
      - `json_path` string
      - `message` string
  - `created_date` string: The date and time when the status was first created
  - `updated_date` string: The date and time when the status was last updated

## Response `2xx`

Handled as success case - therefore, will not be retried.

## Other responses

- `5xx`: Handled as a failure, and will be retried later. It will be retried in intervals of 3, 6 and 9 seconds until giving up. If it cannot be delivered, the merchant is advised to use the session records API to fetch the latest status of the transaction.
- `4xx`: Handled as a failure, and will be retried later. It will be retried in intervals of 3, 6 and 9 seconds until giving up. If it cannot be delivered, the merchant is advised to use the session records API to fetch the latest status of the transaction.

---

[API](https://skmtc.dev/ratepay/apis/ratepay-hpp-api.md) - [All operations](https://skmtc.dev/ratepay/apis/ratepay-hpp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ratepay/apis/ratepay-hpp-api/revisions/08d328c58846?raw)
