# Payment Status

The method is intended to notify the project system of the payment status.

### Backoff Policy

BackOff policy is used to increase the guarantees of receiving a response when fulfilling requests:

* InitialInterval = 500 \* time.Millisecond, intervals between repeated requests
* RandomizationFactor = 0.5, Spread of the request on time between retries
* MaxInterval = 60 \* time.Second, Maximum time between retries
* MaxElapsedTime = 10 \* time.Minute, the time during which the attempts will be made.

**Callback by payment system after each transaction**

Upon completion of payment, the payment system makes a request to the partner project to transfer the payment status. The request is made to the address specified in the field "callback\_url" when initiating the payment.

On receiving an http status other than 200, the transaction will be executed BackOff policy

## Sending callback to partner's project

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

#### Headers

| Name                                            | Type   | Description                                        |
| ----------------------------------------------- | ------ | -------------------------------------------------- |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer Auto-rotation hash (see Signature Creating) |

#### Request Body

| Name                                                     | Type    | Description                                                   |
| -------------------------------------------------------- | ------- | ------------------------------------------------------------- |
| created\_at<mark style="color:red;">\*</mark>            | String  | Date of transaction creation                                  |
| transaction\_id<mark style="color:red;">\*</mark>        | Integer | Transaction ID on the side of payment system                  |
| acquirer\_code<mark style="color:red;">\*</mark>         | String  | Bank ID                                                       |
| project\_reference\_id<mark style="color:red;">\*</mark> | String  | Transaction ID on the side of the project                     |
| project\_сlient\_id<mark style="color:red;">\*</mark>    | String  | User ID on the side of the project                            |
| status\_code<mark style="color:red;">\*</mark>           | String  | Transaction Status                                            |
| type\_code<mark style="color:red;">\*</mark>             | String  | Concealed payment card                                        |
| amount<mark style="color:red;">\*</mark>                 | Float   | Transaction amount                                            |
| description<mark style="color:red;">\*</mark>            | String  | Description                                                   |
| finished\_at<mark style="color:red;">\*</mark>           | String  | Date of transaction completion                                |
| project\_id<mark style="color:red;">\*</mark>            | Integer | Project ID                                                    |
| merchant\_id<mark style="color:red;">\*</mark>           | Integer | Merchant ID                                                   |
| additional\_data                                         | Object  | Optional fields                                               |
| card\_token                                              | String  | Card token in the payment system                              |
| masked\_pan                                              | String  | Concealed payment card                                        |
| bank\_code                                               | String  | In case of an error in a transaction, the error code uploaded |
| bank\_message                                            | String  | Error description                                             |


---

# 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.tarlanpayments.kz/eng/acquiring/webhook-of-the-payment-system/payment-status.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.
