# 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                                             |
