# Статус оплаты

Метод предназначен для оповещения системы проекта о статусе платежа.

### Backoff Policy

Для увеличения гарантий получения ответа используются BackOff-политики при выполнении запросов:

* InitialInterval = 500 \* time.Millisecond, интервалы между повторными запросами
* RandomizationFactor = 0.5,  Разброс запроса по времени между повторами&#x20;
* MaxInterval = 60 \* time.Second, Максимальное время между повторами&#x20;
* MaxElapsedTime = 10 \* time.Minute, время в течении которого будут выполнены попытки&#x20;

#### Callback платежной системой после каждой операции

После завершения оплаты, платежная система делает запрос в проект партнера для передачи состояния платежа. Запрос делается на адрес указанный в поле `callback_url` при инициации платежа.

При получении http статуса отличного от 200 транзакция будут выполнены BackOff политики

## Отправка callback-a проект партнера

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

#### Headers

| Name                                            | Type   | Description                                                                                         |
| ----------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------- |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer  Авторотационный хэш (см [Формирование подписи](/platezhnyi-shlyuz/formirovanie-podpisi.md)) |

#### Request Body

| Name                                                     | Type    | Description                                                                              |
| -------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------- |
| created\_at<mark style="color:red;">\*</mark>            | String  | Дата создания транзакции                                                                 |
| transaction\_id<mark style="color:red;">\*</mark>        | Integer | Идентификатор транзакции на стороне платежной системы                                    |
| acquirer\_code<mark style="color:red;">\*</mark>         | String  | Идентификатор банка                                                                      |
| project\_reference\_id<mark style="color:red;">\*</mark> | String  | Идентификатор транзакции на стороне проекта                                              |
| project\_сlient\_id<mark style="color:red;">\*</mark>    | String  | Идентификатор пользователя на стороне проекта                                            |
| status\_code<mark style="color:red;">\*</mark>           | String  | [Статус транзакции](/platezhnyi-shlyuz/statusy-tranzakcii.md)                            |
| type\_code<mark style="color:red;">\*</mark>             | String  | [Тип транзакции](/platezhnyi-shlyuz/tipy-tranzakcii.md)                                  |
| amount<mark style="color:red;">\*</mark>                 | Float   | Сумма транзакции                                                                         |
| description<mark style="color:red;">\*</mark>            | String  | Описание                                                                                 |
| finished\_at<mark style="color:red;">\*</mark>           | String  | Дата завершения транзакции                                                               |
| project\_id<mark style="color:red;">\*</mark>            | Integer | Идентификатор проекта                                                                    |
| merchant\_id<mark style="color:red;">\*</mark>           | Integer | Идентификатор мерчанта                                                                   |
| additional\_data                                         | Object  | Дополнительные поля                                                                      |
| card\_token                                              | String  | Токен карты в платежной системе                                                          |
| masked\_pan                                              | String  | Маскированная карта платежа                                                              |
| bank\_code                                               | String  | [Код ошибки](/platezhnyi-shlyuz/kody-oshibok.md) передается в случае ошибки в транзакции |
| bank\_message                                            | String  | Описание ошибки                                                                          |
| ips                                                      | String  | МПС система (visa/mastercard...)                                                         |
| issuer                                                   | String  | Эмитент карты                                                                            |

<pre class="language-json"><code class="lang-json">{
  "created_at": "2023-12-25T16:04:26.611025Z",
  "finished_at": "2023-12-25T16:05:47.672271Z",
  "transaction_id": 999,
  "acquirer_code": "jusan",
  "project_id": 999,
  "merchant_id": 999,
  "project_reference_id": "121adsf",
  "project_client_id": "12dfsd",
  "card_token": "qkRCjlJrAmbL7RMIqeS1OHGYLJpEbf7toQo/2zk+/8zCyaiQ",
  "masked_pan": "0000-00XXXXXX-0000",
  "year": "24",
  "month": "12",
  "ips": "<a data-footnote-ref href="#user-content-fn-1">VISA</a>",
  "issuer": "JSC ALLIANCE BANK",
  "status_code": "success",
  "type_code": "in",
  "amount": 100,
  "description": "Оплата заказа",
  "additional_data": {}
}
</code></pre>

[^1]:


---

# 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/platezhnyi-shlyuz/webhook-platezhnoi-sistemy/status-oplaty.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.
